parallel computing sig problem
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Hi:
I have a for-loop, which is very long (over 500 line for example). now I'm able to optimize it into parallel computing.
the problem I'm having is that, I want to add a input as parallel sig: par_sig, to control if the code will do parallel computing. if par_sig=1, do parallel computing, if par_sig=0, do normal loop compution.
when this go to the code, it becomes:
if par_sig==0
for ...
500 lines operation...
end
elseif par_sig==1
parfor
500 lines operation...
end
end
in this way the same 500 lines code are written twice in the code. if I revise somewhere I'll have to do twice also, which makes the operation very boring. is there anyway, or any trick, to write it only once?
Thanks!
Yu
0 Commenti
Risposte (1)
John D'Errico
il 25 Ago 2018
Modificato: John D'Errico
il 25 Ago 2018
So, you simply cannot put those 500 lines of code inside a function? Or if not as a function, as a script m-file?
There is absolutely no need to copy the code and thus replicate it inline.
Essentially, you can just put it into a separate m-file. Call it my_code.m. Save that as a file. You would then call it essentially like this:
if par_sig==0
for ...
my_code
end
elseif par_sig==1
parfor
my_code
end
end
Now you can make any changes just once, editing the my_code function/script.
Vedere anche
Categorie
Scopri di più su Loops and Conditional Statements in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!