Parfor cannot serialize data which is too large

2 ビュー (過去 30 日間)
James
James 2013 年 11 月 6 日
コメント済み: James 2013 年 11 月 7 日
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 件のコメント
Matt J
Matt J 2013 年 11 月 6 日
編集済み: Matt J 2013 年 11 月 6 日
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 2013 年 11 月 6 日
編集済み: James 2013 年 11 月 6 日
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.

サインインしてコメントする。

採用された回答

Edric Ellis
Edric Ellis 2013 年 11 月 7 日
The limit on PARFOR data transfers was removed in R2013a. Please upgrade if you can.
  1 件のコメント
James
James 2013 年 11 月 7 日
Thanks, Edric. Great news!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeParallel for-Loops (parfor) についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by