Dual Parfor from different scripts
9 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Rishi Balasubramanian
am 1 Feb. 2023
Kommentiert: Walter Roberson
am 2 Feb. 2023
So I have a Launcher.m script which executes a function.m using parfor. The function.m also has its own parfor. Will this work?
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 1 Feb. 2023
Bearbeitet: Walter Roberson
am 2 Feb. 2023
it will be accepted but will execute the second one in serial order
4 Kommentare
Walter Roberson
am 2 Feb. 2023
The nested parfor will be executed in serial, in reverse order. It is not possible to initiate parallel constructs within parallel constructs and have the nested ones operate in parallel.
(Though I am not certain what would happen if you were to parfeval() or batch() within a parallel construct.)
Walter Roberson
am 2 Feb. 2023
Looks like parfeval() and parfor() cannot initiate parfeval() ...
p = parpool();
outer_results = parfevalOnAll(p, @test_outer, 0, p)
celldisp(outer_results.Error)
parfor K = 1 : p.NumWorkers
test_outer(p);
end
function test_outer(p)
ID = randi(99);
fprintf('outer about to start inner, ID = %d\n', ID);
inner_results = parfevalOnAll(p, @test_inner, 0, ID)
celldisp(inner_results.Error)
fprintf('outer fininished inners, ID = %d\n', ID);
end
function test_inner(ID)
subID = randi(99);
fprintf('inner ID %d subid %d reporting!\n', ID, subID);
end
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Parallel Computing Fundamentals finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!