There are several ways in which to submit MATLAB jobs to a cluster. This document will cover the various ways to run MATLAB compute jobs on the Shared Research Compute clusters, which will include using the Parallel Computing Toolbox (PCT) and the MATLAB Distributed Compute Server (MDCS) to submit many independent tasks as well as to submit a single task that has parallel components. Examples are included.
This document assumes that all of your input data files, output files, and MATLAB code files are stored on the cluster's filesystem, not on your desktop. When you launch the MATLAB GUI and look at your home folder, you will be looking at your home folder on the cluster, not on your desktop. If your data or code files are stored on your desktop, you will need to transfer them to the cluster first.
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 PBS job scheduler (also called PBS Job).