Effacer les filtres
Effacer les filtres

How to speed up huge matrix mldivide?

20 vues (au cours des 30 derniers jours)
zawye aung
zawye aung le 6 Juin 2020
Commenté : zawye aung le 18 Août 2020
How to speed up huge matrix mldivide? I was solved this matrix on single core but it took too long. So, i was used distributed array using parallel computing tool box, but i didn't get speed up. Using distributed array took too long than single core. How to speed up solution.
  3 commentaires
zawye aung
zawye aung le 6 Juin 2020
n = 5000; M = rand(n); x = ones(n,1);
tic
u = M\x;
clear A b
disp(['Time to solve on single core = ' num2str(toc)])
% parallel operations in spmd
tic
spmd
m = codistributed(M, codistributor('1d',2)); % by column
y = codistributed(x, codistributor('1d',1)); % by row
v = m\y;
end
disp(['Time to solve on 4 core = ' num2str(toc)])
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Time to solve on single core = 2.4375
Time to solve on 4 core = 4.4646
zawye aung
zawye aung le 6 Juin 2020
This is a sample coding. And another problem i has. The huge matrix size hurts memory. If run the program using huge matrix with codistributed array in SPMD, the Matlab software is delay because of full of memory.

Connectez-vous pour commenter.

Réponse acceptée

Edric Ellis
Edric Ellis le 8 Juin 2020
distributed arrays on a single machine will generally perform worse than normal arrays - this is because the standard MATLAB mldivide is already intrinsically multithreaded.
If you have access to a capable GPU, and your problem fits in the memory of the GPU, this might be a good option. See this example which compares mldivide performance on the CPU and GPU.
  1 commentaire
zawye aung
zawye aung le 18 Août 2020
Thank you! For your suggestion. I really appreciated that. I had already build MJS cluster, so i executed the mldivide fun, but i didn't get speed up. If i use more core, the program more take time. Any suggestion or guidence.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Operators and Elementary Operations dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by