Computing on multiple notes with multiple cores

1 Ansicht (letzte 30 Tage)
Paul Muster
Paul Muster am 6 Nov. 2023
Kommentiert: Paul Muster am 9 Nov. 2023
Hello,
I have a code with the following structure:
for ... % Split between multiple nodes
parfor ... % Split betwenn mutliple cores
...
end
end
Is it possible to tell MATLAB, that it has to split the for-Loop between the nodes? Or does that MATLAB automatically if I use parfor 2 times? I.e.
parfor ... % Split between multiple nodes
parfor ... % Split betwenn mutliple cores
...
end
end

Akzeptierte Antwort

Matt J
Matt J am 9 Nov. 2023
The problem is, that the outer loop has 10 repetitions and the inner loop 50 repetitions
Combine the loops into one, i.e., instead of
for i=1:10% Split between multiple nodes
parfor j=1:50 % Split betwenn mutliple cores
...
end
end
do instead,
parfor k=1:10*50
[i,j]=ind2sub([10,50],k);
...
end
  2 Kommentare
Paul Muster
Paul Muster am 9 Nov. 2023
I have to check, if I have to change my used data structure for that. But thank you, that's an option.
Matt J
Matt J am 9 Nov. 2023
You're welcome, but if you find that it works (it should), please Accept-click the answer.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Harald
Harald am 6 Nov. 2023
Hi Paul,
you can only have one level of parallelization, thus no nested parfor statements within a single script / function.
If the parallel pool that runs the parfor has cores on multiple nodes, they will automatically be used. While there might be reasons to parallelize the inner loop, I typically first try to parallelize the outer loop.
Best wishes,
Harald
  5 Kommentare
Harald
Harald am 9 Nov. 2023
Hi Paul,
in many cases, there may not be a problem of parallelizing the inner loop as you initially suggested.
Matt J has offered a nice alternative to thinking about which loop to parallelize.
My understanding is that your main question was if your code was going to use multiple cores on multiple nodes, and the answer to that was: If the parallel pool that runs the parfor has cores on multiple nodes, they will automatically be used.
Please let me know if I can be of further help.
Best wishes,
Harald
Paul Muster
Paul Muster am 9 Nov. 2023
Ok, thank you very much!

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Produkte


Version

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by