running distributed jobs
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I'm trying to prepare and run a distributed job (not parallel). Using
%sched = findResource('scheduler','type','jobmanager')
%job1 = createJob(sched)
At the last step when I try to create task, using my scripts:
%createTask(job1, scriptFileName);
I get this error:
Attempt to execute SCRIPT high_dimensional_warping_job_1st as a function
I was wondering how I could submit my scripts as distributed jobs in MATLAB's parallel computing toolbox. It seems that running my scripts as batch jobs does not run as distributed job, but parallel job. I tried to run my script as a batchscript in matlabpool but it even took longer than running the script on a single machine (when comparing it to cluster of machines), that's why I have tried to construct different tasks in a job using my script files and then submit the job in a distributed way.
Any input on this is greatly appreciated.
0 comentarios
Respuesta aceptada
Edric Ellis
el 27 de Mzo. de 2012
You need to give the name of the script to the createTask function, like so:
sched = findResource(...);
job = createJob(sched);
task = createTask(job, 'scriptFileName');
submit(job);
This is basically equivalent to running
job = batch('scriptFileName', sched);
A single isolated task might run more slowly on a cluster because MATLAB workers run in "single computational thread" mode. You might be better trying to run lots of scripts simultaneously.
2 comentarios
Edric Ellis
el 28 de Mzo. de 2012
Your second and subsequent scripts should be able to start executing straight away if you have sufficient workers available. You should only execute "wait(job)" once you've submitted everything.
Más respuestas (0)
Ver también
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!