From the MathWorks website https://uk.mathworks.com/products/matlab.html
MATLAB combines a desktop environment tuned for iterative analysis and design processes with a programming language that expresses matrix and array mathematics directly. It includes the Live Editor for creating scripts that combine code, output, and formatted text in an executable notebook.
Running MATLAB on CSD3¶
Running MATLAB will require you to load the
matlab module which will load the latest version of MATLAB installed on CSD3. The MATLAB script below, with filename
example.m, contains a function which requires an argument. This functions stores a value in a mat file named with the value of the given argument.
function example(name) x=2; save([name '.mat'],'x'); end
The slurm submit script which calls the above MATLAB function is shown below:
#!/bin/bash #SBATCH -A MYACCOUNT-CHANGEME #SBATCH -p skylake #SBATCH -N 1 #SBATCH -n 1 #SBATCH -t 00:01:00 #SBATCH -J matlab-example #SBATCH -o matlab_example.out #SBATCH -e matlab_example.err module purge module load rhel7/default-peta4 matlab matlab -nodisplay -r "example('output_file'); quit"
The slurm submit script can be submitted to the queue with
sbatch from the same directory as the
example.m MATLAB script file. This will run on one node using one core up to a limit of 1 minute. To run on more cores the
-n option should be adjusted and the timelimit can be changed with
NOTE that the
quit command in the slurm submit script is required to quit MATLAB after the completion of the example MATLAB function.