MATLAB Answers


cannot fetch results from tasks finished without errors

Asked by Degang
on 22 Aug 2014
Latest activity Edited by Hassan Naseri on 11 Nov 2014
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
evalin('base', code);
Error in parallel.internal.ui.jobMonitorHelper>iFindJobAndRunCode (line 200)
Error in parallel.internal.ui.jobMonitorHelper (line 72)
iFindJobAndRunCode(profileName, jobID, template);
How do I find out what went wrong?


It looks like the task with ID 8 was specified to return 4 output arguments, but didn't return any. What was the task function?
A user-defined function that returns 4 output arguments. When I run that function using the same sets of input arguments one by one, it turns out fine. I'm considering the probability that the function might use too much memory.

Sign in to comment.

1 Answer

Answer by Hassan Naseri on 11 Nov 2014
Edited by Hassan Naseri on 11 Nov 2014

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.


Sign in to comment.