Configure and setup of MATLAB 2019b and later

This section describes MATLAB 2019b and later.

Configuring MATLAB 2019b and later

Cluster configuration

To be able to use MATLAB 2019b, and later, together with the batch system, MATLAB needs to be configured to use a cluster profile.
This needs to be done only once for each cluster and version of MATLAB.

Unless Matlab graphical interface is already started, start it using one of the following methods:

  • Using the menus to start a Matlab for you:  "Application" → "HPC2N Applications" → "Applications" → "Matlab ...." 
  • but you can also select a specific version of MatLab from those installed by starting it from the ThinLinc linux terminal:
Check for available versions
module spider matlab
# Select required version
# Since different versions of MATLAB differ in user configuration it is important to specify which version to use
module load MATLAB/2019b
matlab -singleCompThread

When Matlab is started run the following in the Matlab command window and select Kebnekaise

configCluster

Jobs can now be run using the batchsystem instead of submitting to the local machine. 

Job configuration

Prior to submitting jobs some addtional properties needs to be set, such as which account to use, requested walltime, etc.

Any parameters specified using the below workflow will be persistent between MATLAB sessions.

First get a handle to the cluster:

c = parcluster('kebnekaise');

Specify account (SNIC project ID in the form SNICXXXX-YY-ZZ) and requested walltime (these are required):

c.AdditionalProperties.AccountName = 'account-name';
c.AdditionalProperties.WallTime = '05:00:00';

Other generic properties that can be set are (not required):

  • QueueName - To use the nodes with more memory use "largemem" on Kebnekaise
  • EmailAddress
  • RequireExclusiveNode

Note: On Kebnekaise you need a specific allocation on the Large Memory nodes to be allowed to use them.

On Kebnekaise one can also specify GPU properties:

  • GpuCard - use k80 or v100
  • GpusPerNode - use 1, 2, (or 4 if using k80)
  • ActivateMultiProcessServiceForGpus
  • RequireExclusiveGpu

Example:

c.AdditionalProperties.GpuCard = 'k80';
c.AdditionalProperties.GpusPerNode = 2;

For full documentation about using GPUs please read MathWorks GPU Computing

Save changes after modifying AdditionalProperties fields.

c.saveProfile

To see the values of the current configuration options, call the specific AdditionalProperties name.

c.AdditionalProperties

To clear a value, assign the property an empty value (‘’, [], or false).

c.AdditionalProperties.EmailAddress = ‘’;
Updated: 2021-04-27, 09:30