MatLab
Overview
MATLAB is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages.
The MathWork’s UW Portal Page.
Versions: New versions of MATLAB usually come out twice a year, typically in the February/March timeframe and the second in the September\October. ARCC receives a notification when new releases are available and we schedule to have this installed within three weeks of that notification (work load permitting). You can use
module spider matlab
to confirm which versions are available on a cluster, but we will explicitly update this page once a new version has been installed.
Using
Use the module name matlab
to discover versions available and to load the application.
Since MATLAB is predominantly a GUI, we would suggest running it from our Teton SouthPass service, and/or our equivalent Beartooth service via an GUI desktop. Once development and testing have been completed, jobs can be submitted using sbatch
.
You can run without the GUI using matlab -nodesktop
from the command line.
First Time Usage
The first time you use MATAB on the cluster you’ll need to set up a cluster profile for yourself. Start MATLAB and under Parallel select “Discover Clusters…”
Update the Configuration: Under Parallel select “Create and Manage Clusters…”
MATLAB Script: These can be updated within your MATLAB scripts using:
c = parcluster;
c.AdditionalProperties.WallTime = '1:00:00';
c.AdditionalProperties.AccountName = 'arcc';
Multicore
Matlab can run across multicores, multiple nodes and on GPUs. Please review the trainings below.
To run parallel jobs, you are required to run the configCluster
script within matlab
- please read through the MATLAB_Parallel_Computing_Workshop_Part_II_20220408.pdf presentation below, specifically slide 23. If you do not, then you will see an error of the form:
Unrecognized method, property, or field 'AdditionalProperties' for class
'parallel.cluster.Local'.
If the parallel job is running correctly, you should see a message of the form:
Starting parallel pool (parpool) using the 'MedicineBow' profile ...
Trainings
MathWorks presented an introduction to using MATLAB on the cluster in April 2022. Here are the slides from the two presentations:
The first is a general introduction to use MATLAB, and was hosted on MathWorks cloud environment.
The second has a hands on workshop running from ARCC’s SouthPass service.
On-Line: Self-Paced: MathWorks:
MATLAB Onramp: Get started quickly with the basics of MATLAB: 2 hours
MATLAB Fundamentals: Learn core MATLAB functionality for data analysis, modeling, and programming: 16.5 hours
MATLAB Programming Techniques: Improve the robustness, flexibility, and efficiency of your MATLAB code.: 16 hours
MATLAB for Data Processing and Visualization: Create custom visualizations and automate your data analysis tasks.: 9 hours