Proposed template
Contents
Application Details
- Description: Matlab is a numerical computing environment and programming language developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, and implementation of algorithms. A range of toolboxes (see list below) are available to extend functionality.
- Versions: 2016a, 2017a
- Module names: matlab/2016a, matlab/2017a
- License: University of Hull Total Academic Headcount license, available to everyone
- Forum support: https://www.hpc.hull.ac.uk/forum/viewforum.php?f=14
- Further information: https://www.mathworks.com/products/matlab.html
Template:Note : news, new versions, upcomming events and if something wrong.
Interactive
Interactive with full graphical interface:
[username@login01 ~]$ interactive salloc: Granted job allocation 289663 Job ID 289663 connecting to c170, please wait... Last login: Thu Jan 26 12:59:11 2017 from 10.254.5.246 [username@c170 ~]$ module add matlab/2016a [username@c170 ~]$ matlab
Interactive with command line only:
[username@c170 ~]$ matlab -nodisplay < M A T L A B (R) > Copyright 1984-2016 The MathWorks, Inc. R2016a (9.0.0.341360) 64-bit (glnxa64) February 11, 2016 To get started, type one of these: helpwin, helpdesk, or demo. For product information, visit www.mathworks.com. Academic License >>
Batch Submission
#!/bin/bash #SBATCH -J MATLAB # Job name, you can change it to whatever you want #SBATCH -N 1 # Number of nodes (for Matlab should be always one) #SBATCH -o %N.%j.out # Standard output will be written here #SBATCH -e %N.%j.err # Standard error will be written here #SBATCH -p compute # Slurm partition, where you want the job to be queued #SBATCH -t 0-01:30 # Your expected run-time format in D-HH:MM #SBATCH --exclusive module purge module add matlab/2016a matlab -nodisplay -nojvm -nodesktop -nosplash -r my_matlab_m_file
This submission script can be found at /path/to/sample/script Matlab
[username@login01 ~]$ sbatch MATLABtest.job Submitted batch job 289522
Parallel Matlab
By default Matlab on Viper will run on a single core as mutli-threading conflicts with the schedulers resource management, however there are three ways in which Matlab can utilise multiple processors:
Multi-threading
Matlab can use multiple threads for certain built in functions for example linear algebra and numerical functions such as fft, \ (mldivide), eig, svd, and sort. These functions automatically execute on multiple computational threads in a single MATLAB session, allowing them to execute faster on multicore-enabled machines. Additionally, many functions in Image Processing Toolbox are multithreaded
Parallel Computing Toolbox
The Parallel Computing Toolbox allows you to open a number of workers (separate Matlab engines) on the local node, up to the number of cores on that node (28 for standard nodes in an exclusive session).
>> parpool('local',28) Starting parallel pool (parpool) using the 'local' profile ... connected to 28 workers. ans = Pool with properties: Connected: true NumWorkers: 28 Cluster: local AttachedFiles: {} IdleTimeout: 30 minute(s) (30 minutes remaining) SpmdEnabled: true
Distributed Computing Toolbox
The distributed computing toolbox is not currently supported on Viper