MATLAB: Parfor loop fails for lagre loop size

parfor error

Hi all,
I found a strange error message when I use my parfor code:
Warning: Error caught during construction of remote parfor code.
The parfor construct will now be run locally rather than
on the remote matlabpool. The most likely cause of this is
an inability to send over input arguments because of a
serialization error. The error report from the caught error is:
Error using ==> distcompserialize
Error during serialization
Error in ==> distcomp.remoteparfor.remoteparfor at 41
obj.SerializedInitData =
distcompMakeByteBufferHandle(distcompserialize(varargin));
Error in ==> parallel_function at 437
P = distcomp.remoteparfor(W, @make_channel, parfor_C);
Error in ==> gjkk_fVAR at 61
parfor i=1:n_jack
Error in ==> test_jkk_fVAR at 72
[ jkk_var_comb(k,i,j) cond_var(k,i,j)] = gjkk_fVAR([
Y_sim(1:size(Y_chain,2),1:n_mc) ;
h_sim(1:size(h_chain,2),1:n_mc)],[R_Y ;
R_h],z_opt(1:n_mc),ctrl.R_z,ctrl);
> In parallel_function at 451
In gjkk_fVAR at 61
In test_jkk_fVAR at 72
It only happens for lage loop numbers! Is there a maximum size for parfor loops ? Does anyone know a solution?
Thanks for suggestions

Best Answer

Do the remote workers have access to as much memory as the local worker? If not then it might not be possible to send over a large array.
This could also apply if the local worker is a 64 bit version and the remote is a 32 bit version.