Submit job directly to Torque with qsub

7 次查看(过去 30 天)
Hi, i wont to ask, if i can submit job directly to the Torque scheduler without starting Matlab, for example i copy example.m file to the cluster where i have MDCS,Matlab and submit it whit qsub command. If it is possible then how to do that? It is a small experiment, if it is possible, it will really help me with my project.
The operating system on cluster is linux and there is nonshared filesystem.

回答(1 个)

Jason Ross
Jason Ross 2012-12-4
编辑:Jason Ross 2012-12-4
There are example scripts in matlabroot/toolbox/distcomp/examplesintegration/pbs/nonshared for how to set up MATLAB (with Parallel Computing Toolbox) to submit to a Torque cluster without a shared filesystem from your MATLAB desktop. If you really want to do it without MATLAB, I suppose you could see what's being done and mimic it, but IMHO if you have already set up MDCS to work with Torque and (I assume) you have PCT, you can follow the example and submit your code right from MATLAB, which in turn does use qsub to submit to the scheduler.
  2 个评论
Ivan
Ivan 2012-12-9
编辑:Ivan 2012-12-9
Idont know how to mimic exactly waht is matlab doing when it is submitting job. So I tried to do something like this. I create test.pbs file:
#!/bin/sh
#
#PBS -N Test
#PBS -q matlab
/shared/software/MATLAB/bin/matlab -nosplash -nodisplay < schedul.m
echo "MATLAB run completed at `date`"
and M-file schedul.m where i set scheduler properties and some simple task:
%Use a local folder as the JobStorageLocation
cluster = parallel.cluster.Generic( 'JobStorageLocation', '/home/durkac');
set(cluster, 'HasSharedFilesystem', false);
set(cluster, 'ClusterMatlabRoot', '/shared/software/MATLAB');
set(cluster, 'OperatingSystem', 'unix');
% Define the additional inputs to the submit functions
clusterHost = 'mdcstest.grid.tuke.sk';
remoteJobStorageLocation = '/shared/home/durkac';
% The IndependentSubmitFcn must be a MATLAB cell array that includes the two additional inputs
set(cluster, 'IndependentSubmitFcn', {@independentSubmitFcn, clusterHost, remoteJobStorageLocation});
% If you want to run communicating jobs (including matlabpool), you must specify a CommunicatingSubmitFcn
set(cluster, 'CommunicatingSubmitFcn', {@communicatingSubmitFcn, clusterHost, remoteJobStorageLocation});
set(cluster, 'GetJobStateFcn', @getJobStateFcn);
set(cluster, 'DeleteJobFcn', @deleteJobFcn);
j = createJob(cluster);
createTask(j, @rand, 1, {3,3});
submit(j);
wait(j);
taskoutput = fetchOutputs(j);
taskoutput{1};
When i run the schedul.m from Matlab, it asks login and password and after that run well. When i try qsub test.pbs it will stuck because a dont know how to enter the login and password.
It is possible to do it this way? Or it is totaly wrong?
Reason why i`m asking is that my highschool teacher gave me this as problem to solve ... he just wont it to solve this way ...
Jason Ross
Jason Ross 2012-12-10
Is the password prompt coming from ssh? If that's the case, you need to configure ssh to not challenge you for a password. There are a variery of ways to do this, google "passwordless ssh" for a few ways to accomplish it.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Third-Party Cluster Configuration 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by