Why Matlabpool (Matlab2013a) is not opening in HPC cluster (sge)?

1 view (last 30 days)
Hi, I am trying to open matlabpool in our cluster (I set default cluster profile to sge), but I have got the following error:
>> matlabpool open
Starting matlabpool using the 'sge' profile ... stopped.
Error using matlabpool (line 144)
Failed to open matlabpool. (For information in addition to
the causing error, validate the profile 'sge' in the Cluster
Profile Manager.)
Caused by:
Error using
parallel.internal.pool.InteractiveClient/start (line 281)
Failed to start matlabpool.
Error using parallel.Job/submit (line 304)
Job submission failed because the user supplied
CommunicatingSubmitFcn (sgeParallelSubmitFcn)
errored.
No appropriate method, property, or field
DataLocation for class parallel.cluster.Generic.
I don't know where exactly is the problem, however I run code line by line and stepin to each function and I thought the problem is relate to DataLocation.Then I decided to modify logFile in sgeParallelSubmitFcn.
Original :logFile = fullfile( scheduler.DataLocation, ...
sprintf( 'Job%d.mpiexec.out', job.ID ) );
Modified to: logFile= fullfile( '$HOME/' , ....
sprintf( 'Job%d.mpiexec.out', job.ID ) );
But, this shows:
Starting matlabpool using the 'sge' profile ... Job output will be written to: $HOME/Job1.mpiexec.out
QSUB output: Your job 6655706 ("Job1") has been submitted
Then it was going to a long queue and never came up!
Here is part of sgeParallelSubmitFcn code for setting environments, I really appreciate if you help me to solve this problem.
% Set up the environment for the decode function - the wrapper shell script
% will ensure that all these are forwarded to the MATLAB workers.
setenv( 'MDCE_DECODE_FUNCTION', 'sgeParallelDecode' );
setenv( 'MDCE_STORAGE_LOCATION', props.StorageLocation );
setenv( 'MDCE_STORAGE_CONSTRUCTOR',props.StorageConstructor );
setenv( 'MDCE_JOB_LOCATION', props.JobLocation );
% Ask the workers to print debug messages by default:
setenv('MDCE_DEBUG', 'true');
% Set this so that the script knows where to find MATLAB, MW_SMPD and MW_MPIEXEC
% on the cluster. This might be empty - the wrapper script will deal with that
% eventuality.
setenv( 'MDCE_CMR', scheduler.ClusterMatlabRoot );
% Set this so that the script knows where to find MATLAB, SMPD and MPIEXEC on
% the cluster. This might be empty - the wrapper script must deal with that.
setenv( 'MDCE_MATLAB_EXE', props.MatlabExecutable );
setenv( 'MDCE_MATLAB_ARGS', props.MatlabArguments );
% The wrapper script is in the same directory as this M-file
[dirpart] = fileparts( mfilename( 'fullpath' ) );
scriptName = fullfile( dirpart, 'sgeParallelWrapper.sh' );
% Forward the total number of tasks we're expecting to launch
setenv( 'MDCE_TOTAL_TASKS', num2str( props.NumberOfTasks ) );
% Choose a file for the output. Please note that currently, DataLocation refers
% to a directory on disk, but this may change in the future.
logFile = fullfile( scheduler.DataLocation, ...
sprintf( 'Job%d.mpiexec.out', job.ID ) );

Answers (0)

Categories

Find more on Install Products in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!