Submitting MATLAB Jobs
Submitting Matlab jobs is very similar to submitting MPI jobs or serial jobs (depending if you are using parallela matlab).
Submit File¶
The submit file will need to be modified to allow Matlab to work. Specifically, these two lines should be added before calling matlab:
serial_matlab.submit
#!/bin/bash
#SBATCH --time=03:15:00
#SBATCH --mem-per-cpu=1024
#SBATCH --job-name=[job_name]
#SBATCH --error=/work/[groupname]/[username]/job.%J.err
#SBATCH --output=/work/[groupname]/[username]/job.%J.out
module load matlab/r2014b
matlab -nodisplay -r "[matlab script name], quit"
Parallel Matlab .m file¶
The submit file:
parallel_matlab.submit
#!/bin/bash
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=5
#SBATCH --time=03:15:00
#SBATCH --mem-per-cpu=1024
#SBATCH --job-name=[job_name]
#SBATCH --error=/work/[groupname]/[username]/job.%J.err
#SBATCH --output=/work/[groupname]/[username]/job.%J.out
module load matlab/r2014b
matlab -nodisplay -r "[matlab script name], quit"
Matlab File Additions¶
In addition to the changes in the submit file, if you are running parallel Matlab, you will also need to add to the .m file the additional lines:
...
i=str2num(getenv('SLURM_TASKS_PER_NODE'));
parpool(i);
...