Skip to end of metadata
Go to start of metadata

Orchestrate Parallel Toolbox jobs from the cluster login nodes

Set up MATLAB Parallel Computing Toolbox from a cluster login node on DAVINCI

Have GPU accelerated MATLAB code?

Running MATLAB on a GPGPU in DAVINCI

Need to go even faster?

MATLAB is a big Java virtual machine, and although Java has made strides in recent years, it is still slower than running native code. Enter the MATLAB Compiler. This allows you to compile MATLAB scripts into binaries that can run natively in the cluster environment. We can direct you to resources for compiling frequently run MATLAB scripts into binaries and run them on the clusters.

 

Definitions

Task Parallel Application - The same application that runs independently on several nodes, possibly with different input parameters.  There is no communication, shared data, or synchronization points between the nodes.

Data Parallel Application - The same application that runs on several labs simultaneously, with communication, shared data, or synchronization points between the labs.

Lab - A MATLAB worker in a multicore (Data Parallel) job.  One lab is assigned to one worker (core).  Thus, a job with eight labs has eight processor cores allocated to it and will have eight workers each working together as peers.

MDCS - MATLAB Distributed Compute Server.  This is a component of MATLAB that allows our clusters to run MATLAB jobs that exceed the size of a single compute node (multinode parallel jobs).  It also allows jobs to run even if there are not enough toolbox licenses available for a particular toolbox, so long as the university owns at least one license for the particular toolbox. 

PCT - Parallel Computing Toolbox.

MATLAB Task - One segment of a job to be evaluated by a worker.

MATLAB Job - The complete large-scale operation to perform in MATLAB, composed of a set of tasks.

MATLAB Worker - The MATLAB session that performs the task computations.  If a job needs eight processor cores, then it must have eight workers.

Job - Job submitted via the SLURM job scheduler (also called SLURM Job).