Distributed and spmd not running faster
Mostra commenti meno recenti
I think I'm missing something fundamental about using distributed arrays with spmd. If I run the following the distributed version takes ~0.04s while the non-distributed version completes in ~0.2s (with a process pool matching the cores on my machine).
x = ones(10000, 10000);
tic
x = x * 2.3;
toc
x
x = distributed(ones(10000, 10000));
tic
spmd
x = x * 2.3;
end
toc
gather(x)
What am I missing?
Edit: I moved the tic and toc to after the array initialization and before displaying x to not include that as I realized calling distributed is taking longer while it distributes the array across the processes and gather is taking time.
2 Commenti
Walter Roberson
il 25 Gen 2025
x = distributed(ones(10000, 10000));
Better would be
x = ones(10000, 10000, 'distributed');
That should reduce the overall execution, but should not change the parts you are timing.
James
il 25 Gen 2025
Risposta accettata
Più risposte (0)
Categorie
Scopri di più su Startup and Shutdown in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!