Parfor cannot serialize data which is too large

3 vues (au cours des 30 derniers jours)
James
James le 6 Nov 2013
Commenté : James le 7 Nov 2013
I have a parfor loop which calculates eigenvectors as a function of frequency, and stores all of them for post-processing. The size of the eigenvectors is 924*200 (Temp_zvAi for instance), and the size of zuxAi is 924*200*1311. The eigenvectors are complex, and zuxAi is around 3.8GB. Parfor returns the serialization error. How to get around this please? The code looks like below:
parfor fcount=1:Numsam
[Amat,Bmat]=functionof(fcount);
[Temp_zkA,Temp_zvAi]=eigenSolver (jn1,Amat,Bmat);
Temp_zuxAi=Temp_zvAi(1:nA,1:jn1);
zuxAi(:,:,fcount)=Temp_zuxAi;
Temp_zuyAi=Temp_zvAi(nA+1:2*nA,1:jn1);
zuyAi(:,:,fcount)=Temp_zuyAi;
Temp_zuzAi=Temp_zvAi(2*nA+1:3*nA,1:jn1);
zuzAi(:,:,fcount)=Temp_zuzAi;
end
  2 commentaires
Matt J
Matt J le 6 Nov 2013
Modifié(e) : Matt J le 6 Nov 2013
Your code looks like an in complete example. In particular, none of the Temp_ quantities show any dependence on fcount. For all we can see, they can be pre-computed before the loop and all zu_xyz_Ai(:,:,fcount) will be copies of each other.
James
James le 6 Nov 2013
Modifié(e) : James le 6 Nov 2013
Matt, thanks for your answer. The code only shows the places where errors are caught. Temp_ quantities depend on fcount, as Amat and Bmat are matrices dependant on fcount. The frequency dependence is irrelevant to the current problem so I deleted them.
I added one line to the code to clarify this.

Connectez-vous pour commenter.

Réponse acceptée

Edric Ellis
Edric Ellis le 7 Nov 2013
The limit on PARFOR data transfers was removed in R2013a. Please upgrade if you can.
  1 commentaire
James
James le 7 Nov 2013
Thanks, Edric. Great news!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Parallel for-Loops (parfor) 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