Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Panel
titleOn this page

Table of Contents

Overview

MATLAB is a programming and numeric computing platform used by millions of engineers and scientists to analyze data, develop algorithms, and create models. Simulink is a dynamic simulation environment to design and simulate systems for model development. Together these flagship platforms contain thousands of pre-written and validated functions to accelerate your workflows across multiple CPU and GPU cores.

...

Warning

If you know your Matlab application is neither computation nor data intensive, please see the advice in the section 'Running Single-core Jobs'.

 

Once get the access to the matlab license on Gadi, please confirm with your institution that whether the license comes with either of the features 'Parallel Computing Toolbox' and 'Distributed Computing Server'. Although some linear algebra and numerical functions, such as matrix products, ffteigsort, are implicitly multi-threaded and make use of all the cores available to the job without any extra programming efforts, see an incomplete list provided by Mathworks Support Team here, the majority of the functions provided by matlab runs only on a single core and users need to explicitly use the functionalities provided by these two features to enable the utilisation of multi-cores and multi-compute nodes, respectively. As of 30 Oct 2020, the majority of NCI-hosted matlab licenses provides only the feature Parallel Computing Toolbox, therefore, supports jobs running only within a single compute node. 

...

To load the specific version of R2019b, please run

Code Block
languagebash
$ module load matlab/R2019b

...

To load the license module for your own matlab software group, please run

Code Block
languagebash
$ module load matlab_licence/<institution>

...

Code Block
languagebash
#!/bin/bash

#PBS -q normal
#PBS -l walltime=02:00:00
#PBS -l ncpus=48
#PBS -l mem=190GB
#PBS -l jobfs=400GB
#PBS -l software=matlab_<institution>
#PBS -l wd

# Load modules, always specify version number.
module load matlab/R2019b
module load matlab_licence/<institution>

# Must include `#PBS -l storage=scratch/ab12+gdata/yz98` if the job
# needs access to `/scratch/ab12/` and `/g/data/yz98/`. Details on:
# https://opus.nci.org.au/display/Help/PBS+Directives+Explained.

# Run matlab application
matlab -nodisplay -nosplash -r "outputDir='$PBS_JOBFS',numberOfWorkers=$PBS_NCPUS, mfile, quit" > $PBS_JOBID.log

...

Once the job submission script is saved to the same directory in which the matlab script mfile.m is located, run 

Code Block
languagebash
$ qsub matlabjob.sh 

inside that directory to submit your job to the PBS scheduler.

...

Code Block
languagebash
#!/bin/bash

#PBS -q normal
#PBS -l ncpus=1
#PBS -l walltime=00:02:00
#PBS -l mem=250MB
#PBS -l software=matlab_<institution>
#PBS -l wd

# Load modules, always specify version number.
module load matlab/R2019b
module load matlab_licence/<iname><institution>

# Must include `#PBS -l storage=scratch/ab12+gdata/yz98` if the job
# needs access to `/scratch/ab12/` and `/g/data/yz98/`. Details on:
# https://opus.nci.org.au/display/Help/PBS+Directives+Explained.


# Run matlab application
matlab -nosplash -nojvm -singleCompThread < mfile.m > $PBS_JOBID.log

...

To get access to your own institution provided Matlab licence, join the corresponding software group in the table below on my.nci.org.au first. Once your group membership request is approved, the corresponding licence module becomes visible to use. Run `module avail matlab` to see the license modulefile name. Jobs need to load the license module together with the application module to run Matlab.

InstitutionPBS Directive `-lsoftware=`software group
The Australian National Universitymatlab_anu matlab_anu
CSIRO*matlab_csiromatlab_csiro
Flinders Universitymatlab_flindersmatlab_flinders
The University of Newcastlematlab_newcastlematlab_newcastle
Latrobe Universitymatlab_latrobematlab_latrobe
Macquarie Universitymatlab_macquariematlab_mq
The University of Melbournematlab_melbournematlab_melbourne
Monash Universitymatlab_monashmatlab_monash
Royal Melbourne Institute of Technologymatlab_rmitmatlab_rmit
The University of New South Walesmatlab_unswmatlab_unsw
The University of Wollongongmatlab_wollongongmatlab_wollongong
The University of Sydneymatlab_usydmatlab_usyd
Victoria Universitymatlab_vumatlab_vu
University of South Australiamatlab_unisamatlab_unisa
University of Tasmaniamatlab_utasmatlab_utas

* CSIRO has a special arrangement with NCI that allows only a specific group of users to use their license. Please contact CSIRO licensing service to discuss the access. We can only add users to the group on their approval.

...