MATLAB Answers

cannot fetch results from tasks finished without errors

4 views (last 30 days)
Degang
Degang on 22 Aug 2014
Edited: 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
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?
  2 Comments
Degang
Degang on 23 Aug 2014
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.

Answers (1)

Hassan Naseri
Hassan Naseri on 11 Nov 2014
Edited: 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.
ClusterInfo.setWallTime('01:00:00');
ClusterInfo.setMemUsage('15000');
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.

Community Treasure Hunt

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

Start Hunting!

Translated by