How can i save the temporary variable inside the parfor loop for the below code ? i have also tried using SPMD but it takes more time that the normal problem running in one core takes and how will i be able to find the thread number of each worker ?

4 views (last 30 days)
i wanted to save the temp variable 'temp' and i cant find any way to do it..i would appreciate any help thank you
C is 300x52 matrix,D is 6x300 matrix, k is a 6x300 matrix,N is 50 and offs is 3,
parfor n=1:6
temp=[];
A=zeros(300,(N+offs) +N);
for m=1:N+offs
A(1:300,m)=k.*C(1:300,m);
end
inda=N+offs;
for m=1:N
A(1:300,inda+m)=-k.*C(1:300,m).*D(n,1:300).';
end
temp=A\B;
end %for n=1:Nc

Answers (1)

Namnendra
Namnendra on 19 Jun 2022
As seen in the code, you have 6 instances of temp to be saved. You can create a structure which is outside the parfor loop and assign its size to be n(=6). So you can assign that particular temp at the corresponding index of n in the structure. You can later retrieve the value of temp from the structure.
I hope it helps.

Community Treasure Hunt

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

Start Hunting!

Translated by