MATLAB example

MATLAB example#

Assumptions#

We will assume that your code and data are organized as follows:

/home/netid/project/
            ├── main.m
            ├── data.csv
            ├── etc.

Quick run#

srun matlab -nodisplay -r "addpath(genpath('.')); main"

with

# main.m
# Simple program to loop and time 
# the computation of the sum of the first 1000 integers
tic
s = 0;
for i = 1:1000
    s = s + i;
end
toc

which yields

[lv39@cbsulogin project]$ srun matlab -nodisplay -r "addpath(genpath('.')); main"

SBATCH script#

Create a new file, called main.sbatch, with the following content:

Top#

Use the default options from the SBATCH example, and paste them into main.sbatch.

Bottom#

Now for the functional part, which is more or less the same as the srun command above, but with some additional options:

#!/bin/bash
#

### Use the module command to load the relevant matlab module
### Use "module avail" to see all available versions
module load matlab/2022a

## Matlab - will run "main.m", output goes to "srun-NNNN.out"
# matlab -nodisplay -r "addpath(genpath('.')); main"

## Matlab - will run "main.m", output goes to "main.(DATE_TIME).out"
matlab -nodisplay -r "addpath(genpath('.')); main" > main.$(date +"%Y%m%d_%H%M%S").out