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

Running MATLAB on a GPGPU in DAVINCI

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.

**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).