MATLAB

From FarmShare

(Difference between revisions)
Jump to: navigation, search
m (Using MDCS)
(Using MDCS)
Line 55: Line 55:
== Using MDCS ==
== Using MDCS ==
-
MATLAB Distributed Computing Server is supported, and you can submit jobs using up to 256 workers. To set up the cluster, load the <code>matlab</code> module, start MATLAB, and run <code>configCluster</code>. This only needs to be done once.
+
MATLAB Distributed Computing Server is supported, and you can submit jobs using up to 255 workers. To set up the cluster, load the <code>matlab</code> module, start MATLAB, and run <code>configCluster</code>. This only needs to be done once.
Once the cluster has been configured, commands like <code>parcluster</code> should use cluster (rather than local) workers by default. You can get a handle to the cluster using the <code>parcluster</code> command, submit jobs using <code>batch</code> (which returns a handle to the job), and query job state and results using <code>State</code> and <code>fetchOuputs</code>.
Once the cluster has been configured, commands like <code>parcluster</code> should use cluster (rather than local) workers by default. You can get a handle to the cluster using the <code>parcluster</code> command, submit jobs using <code>batch</code> (which returns a handle to the job), and query job state and results using <code>State</code> and <code>fetchOuputs</code>.

Revision as of 15:49, 18 September 2017

MATLAB is a multi-paradigm numerical computing environment and programming language.

Contents

Getting Started

Run module avail to get a list of all software modules, or module spider to get a list of available versions of MATLAB.

module spider matlab       

--------------------------------------------------------------------------------------------------------------------------------
  matlab:
--------------------------------------------------------------------------------------------------------------------------------
    Description:
      A multi-paradigm numerical computing environment and programming language.

     Versions:
        matlab/r2016b
        matlab/r2017a

--------------------------------------------------------------------------------------------------------------------------------

Use module load to set up your environment, and then run matlab to start an interactive session.

module load matlab
matlab

If you have not configured a remote display MATLAB will start in text-mode, but the MATLAB desktop is also supported.

ssh -X sunetid@rice.stanford.edu
module load matlab
matlab &

Running MATLAB in Batch Mode

If you have prepared MATLAB code as a program (.m) file you can run it non-interactively.

matlab -nodesktop < program.m

You can use this method to submit a MATLAB job to a compute node, and you can even include MATLAB code in-line in an sbatch script.

#!/bin/bash

module load matlab
matlab -nodesktop << EOF
  % MATLAB code
EOF

Using MDCS

MATLAB Distributed Computing Server is supported, and you can submit jobs using up to 255 workers. To set up the cluster, load the matlab module, start MATLAB, and run configCluster. This only needs to be done once.

Once the cluster has been configured, commands like parcluster should use cluster (rather than local) workers by default. You can get a handle to the cluster using the parcluster command, submit jobs using batch (which returns a handle to the job), and query job state and results using State and fetchOuputs.

c = parcluster;
j = c.batch(@pwd, 1, {}, 'Pool', 4);
j.State
j.fetchOutputs{:}

For a more detailed walkthrough see Getting Started with Serial and Parallel MATLAB.

Legacy FarmShare Information

Jupyter

MATLAB can also be run in a Jupyter notebook on FarmShare servers and used via a web browser.

The MATLAB Jupyter kernel is available as part of the prebuilt Jupyter environment accessible via the Jupyter installation guide.

Interactive Matlab

Info here: Matlab-interactive

Parallel Matlab

Info here: Matlab-parallel

Personal tools
Toolbox
LANGUAGES