Difference between revisions of "Applications/Matlab"
(→Parallel Computing Toolbox) |
(→Parallel Computing Toolbox) |
||
Line 141: | Line 141: | ||
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). | 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). | ||
− | <pre style="background-color: # | + | <pre style="background-color: #bac2f5; color: black; font-family: monospace, sans-serif;"> |
>> parpool('local',28) | >> parpool('local',28) | ||
Starting parallel pool (parpool) using the 'local' profile ... connected to 28 workers. | Starting parallel pool (parpool) using the 'local' profile ... connected to 28 workers. |
Revision as of 12:45, 3 February 2017
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
- Module names: matlab/2016a
- 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
Toolboxes
MATLAB | Filter Design HDL Coder | MATLAB Report Generator | SimRF |
Simulink | Financial Instruments Toolbox | Model Predictive Control Toolbox | Simscape |
Aerospace Blockset | Financial Toolbox | Neural Network Toolbox | Simscape Electronics |
Bioinformatics Toolbox | Fixed-Point Designer | Optimization Toolbox | Simscape Multibody |
Communications System Toolbox | Fuzzy Logic Toolbox | Parallel Computing Toolbox | Simscape Power Systems |
Computer Vision System Toolbox | Global Optimization Toolbox | Partial Differential Equation Toolbox | Simulink Coder |
Control System Toolbox | Image Acquisition Toolbox | Phased Array System Toolbox | Simulink Control Design |
Curve Fitting Toolbox | Image Processing Toolbox | RF Toolbox | Simulink Design Optimization |
DSP System Toolbox | Instrument Control Toolbox | Robotics System Toolbox | Stateflow |
Database Toolbox | LTE System Toolbox | Robust Control Toolbox | Statistics and Machine Learning Toolbox |
Datafeed Toolbox | MATLAB Coder | Signal Processing Toolbox | Symbolic Math Toolbox |
Econometrics Toolbox | MATLAB Compiler | SimBiology | System Identification Toolbox |
Embedded Coder | MATLAB Compiler SDK | SimEvents | Wavelet Toolbox |
Usage Examples
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
Change Log
[2017-01-30] Changed default Matlab launch command in module to matlab -singleCompThread to disable multi-threading