This question is closed. Reopen it to edit or answer.

Parallelization of matrix definiton

1 view (last 30 days)
Sasha on 14 Feb 2014
Closed: MATLAB Answer Bot on 20 Aug 2021
In my project I deal with matrices using up almost all the memory available. Logically the matrix is divided into blocks which can be computed independently from one another. Straight forward use of parfor as follows
parfor a = 1:N,
[M1] = func(a,par1, par2, par3);
N(i1(a):i2(a), i3(a):i4(a)) = M1;
does not work (the code is an example to illustrate the idea). Is there a way to establish parallel computing of these blocks?

Answers (1)

Jill Reese
Jill Reese on 14 Feb 2014
Without more context for your problem I cannot be sure, but you may find using distributed arrays inside an spmd block to be more useful than parfor in this case.
  1 Comment
Sasha on 14 Feb 2014
Thank you for your hint about spmd. If I get it right, matlab can do parallel computing inside the spmd statement if one uses matlab operations with parallel computing support build in. In my case I want to compute 'func' for different a in parallel. Can it be done with spmd?
Context: func produces a matrix ~100x100 elements which is then inserted into a larger matrix N with ~20000x20000 elements. N is a linear system of equations.

Community Treasure Hunt

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

Start Hunting!