Skip to content
Bart edited this page May 26, 2014 · 69 revisions

Details

MATLAB is a high-level technical computing language and interactive environment for algorithm development, data visualization, data analysis, and numerical computation. Using MATLAB, you can solve technical computing problems faster than with traditional programming languages, such as C, C++, and Fortran.

You can use MATLAB in a wide range of applications, including signal and image processing, communications, control design, test and measurement, financial modeling and analysis, and computational biology. Add-on toolboxes (collections of special-purpose MATLAB functions) extend the MATLAB environment to solve particular classes of problems in these application areas.

MATLAB provides a number of features for documenting and sharing your work. You can integrate your MATLAB code with other languages and applications, and distribute your MATLAB algorithms and applications.

Usage

Licensing

University of Auckland, Faculty of Science: all versions with FoS

University of Auckland, Faculty of Engineering: all versions with FoE

If you get an error message indicating that no licenses are available for a certain feature, you can use the following command to check the licensing situation. The output will show you the licensing situation for individual features.

As member of the Faculty of Science:

/share/apps/MATLAB/prod/UoA-FoS/R2012a/etc/glnxa64/lmutil lmstat -c /share/apps/MATLAB/prod/UoA-FoS/R2012a/licenses/network.lic -a

As member of the Faculty of Engineering:

/share/apps/MATLAB/prod/UoA-FoE/R2012b/etc/glnxa64/lmutil lmstat -c /share/apps/MATLAB/prod/UoA-FoE/R2012b/licenses/network.lic -a

Single and Multi-core usage

Matlab runs by default in multi-core mode. However, it does not allow to control to amount of CPUs used. This makes that your job may interfere with other users jobs. Therefore, you have have two options:

  • run Matlab with the '-singleCompThread' flag.
  • reserve a whole node, by adding '#@ node_usage=not_shared' to the submission script.

Example Load-leveler jobs

fft-example (repository link)

Job description (download)
#@ shell = /bin/bash
#@ class = default
#@ group = nesi
#@ account_no = uoa12345
#@ initialdir = /projects/uoa12345
#@ wall_clock_limit = 00:30:00
#@ resources = ConsumableMemory(4096mb) ConsumableVirtualMemory(4096mb)
#@ job_type = serial
#@ parallel_threads = 1
#@ output = stdout.txt
#@ error = stderr.txt
#@ queue
 
# Enforce memory constraints for jobs running on single nodes. Value is in KB
let "limit = 4096 * 1024"
ulimit -v ${limit} -m ${limit}
 
module load MATLAB/UoA-FoS-R2012a
matlab -nodesktop -nosplash -singleCompThread -r fftex

Clone this wiki locally