How do I run two scripts in parallel ?

I have a for loop that runs through a very large number of iterations. In every iteration I have two blocks 'S1' and 'S2' of codes which are themselves composed by for loops. The scripts 'S1' and 'S2' do not depend of each other.
Serial config:
for i=1:50000
run(S1);
run(S2);
end
I tried using batch but it slowed my program VERY much. Parallel config:
for i=1:50000
batch(S1);
batch(S2);
wait(S1);
wait(S2);
load(S1);
load(S2);
end
What is the best way to make my code run in parallel ?

1 Commento

Are they scripts or are they functions? Scripts are harder to deal with.

Accedi per commentare.

Risposte (1)

Sean de Wolski
Sean de Wolski il 3 Feb 2016

0 voti

Try parfeval, which uses an already open pool rather than opening a new one like batch and turn your scripts into functions so you're not saving/fetching unnecessary variables.

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Richiesto:

il 3 Feb 2016

Risposto:

il 3 Feb 2016

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by