Setting up Matlab to use the Distributed Compute Engine
To use the distributed compute engine in Matlab, it is easiest to open the gui from within open on demand. You can find out more about using open on demand here.
If you open the desktop, open a terminal within the desktop, load the Matlab 2019a module, then launch matlab:
module load matlab/2019a matlab
You can also use the matlab application from within on demand if you prefer. Make sure to sepcify Matlab 2019a if you do.
Once matlab is opened up, click on "Environment", Then on "Parallel", and choose "Create and Manage Clusters..."
From the next menu, click "Add Cluster Profile" and select "Slurm"
Once you select this, you will get a warning message about having access to the software. Click "OK". You can also check the "Do not show this message again" checkbox if you like.
This will create a new profile. Typically it is called "SlurmProfile1" but could be something else if you have tried this before. If you would like, you can double click on the name and rename it to something more appropriate.
Click on the "Edit" Button in the window to be able to edit the cluster.
The most important fields to fill out are the Description, Numworkers, and SubmitArguements.
Description is just a descriptive name for the configuration. I use "Central Cluster"
NumWorkers is the number of cores you want to be able to use on the cluster from matlab. The maximum is 512, but it is almost always a better option to choose something smaller like 64 unless you job really requires it. More cores will mean a longer wait time and a higher cost for the run typically.
SubmitArguements is need to set the wallclock time which is required by the scheduler. For a 24 hour runtime, type "-t 24:00:00" into the box. The longest you can run on the cluster for a typical job is 7 days.
Click "Done" when you have finished that, then click on the "Validate" Tab.
The validation will run through the configuration submitting short jobs and making sure it works as expected.