I created 10 tasks and submitted them to a local cluster. After a while, the job monitor shown that all tasks had been finished without errors. Then, when I tried to fetch the results using
job_output = fetchOutputs(job)
I got the following error messages:
Error using parallel.Job/fetchOutputs (line 968) Task with ID 8 returned 0 outputs but 4 were expected.
Error in parallel.internal.ui.jobMonitorHelper>iRunCodeInCommandWindow (line 208) evalin('base', code);
Error in parallel.internal.ui.jobMonitorHelper>iFindJobAndRunCode (line 200) iRunCodeInCommandWindow(code);
Error in parallel.internal.ui.jobMonitorHelper (line 72) iFindJobAndRunCode(profileName, jobID, template);
How do I find out what went wrong?
It is very likely that the problem is related to memory limitation or timeout on the workers. If some tasks are killed by the cluster, you won't be able to successfully fetch the results. Increase the quota values for memory and processing time. The follwoings work for my job.
Use appropriate settings for you job and do not set a very large WallTime, since it may delay your tasks in the queue. If you do not have these commands, download ClusterInfo from MATLAB File Exchange.