Actions

MATLAB

From Montana Tech High Performance Computing

Revision as of 10:39, 10 June 2020 by Bdeng (talk | contribs)

MATLAB and the Parallel Computing Toolbox is installed. The Distributed Computing Server is not installed, so calculations are limited to single compute nodes.

Submitting MATLAB jobs

MATLAB jobs that do and do not use the Parallel Computing Toolbox can be submitted to Slurm via a script containing:

#!/bin/sh
#SBATCH -J MatlabJob #Name of the computation
#SBATCH -N 1 # Total number of nodes requested
#SBATCH -n 4 # Total number of tasks per node requested
#SBATCH -t 01:00:00 # Total run time requested - 1 hour
#SBATCH -p normal # compute nodes partition requested

module load MATLAB
matlab -nodesktop -nosplash -r "your_matlab_program(input_parameters);quit;"

Since MATLAB is multithreaded, you can request 12 ppn even if you are not using the Parallel Computing Toolbox. For parallel MATLAB jobs, the matlabpool is limited to the physical cores only, that is 16 workers per compute node..

Use msub to submit your job script to Slurm.

sbatch matlabjob.sh

where matlabjob contains the above script updated with your program and username info.

Running MATLAB interactively in command line

If you wish to run MATLAB interactively without the Desktop GUI, start an interactive job on a compute node with:

srun -N 1 -n 12 --pty /bin/bash

This will return with a command prompt on a compute node, for example:

[USER@oredigger ~]$ srun -N 1 -n 12 --pty /bin/bash
[USER@cn0 ~]$

Then you can start the MATLAB GUI with the commands:

module load MATLAB
matlab

MATLAB desktop on headnode

The MATLAB Desktop GUI is currently limited to the management node. Please respect other users and avoid long computational runs on the management node if other users are on the system.