Child pages
  • MATLAB Distributed Computing Server (MDCS)
Skip to end of metadata
Go to start of metadata


MATLAB Distributed Computing Server lets you run intensive MATLAB programs and Simulink models on the Tandy Community Supercomputer. You develop your program or model on a desktop computer with Parallel Computing Toolbox, then run the job in a batch with the installed Distributed Computing Server on Tandy. Our license allows running up to 32 simultaneous Matlab workers.

Who can use MDCS

Tandy's license for MDCS covers any academic users only who already have their own (or their institution's) license for Matlab. You can use any toolboxes that you have an Academic license to (Student licenses will allow MATLAB to run on the supercomputer, but not the toolboxes). You need a license for Parallel Computing Toolbox (It appears that a Student license for this will suffice, but not for any other toolbox), but you do not need a license for Matlab Distributed Computing Server - we already have that.

Version Compatibility Note

The version of Matlab connecting to Distributed Computing Server must match exactly with the version of Distributed Computing Server.

Check the Software Resources page to determine which versions are currently supported.

Additional versions can be installed as needed by sending a request to

Running MATLAB jobs on the supercomputer

Setting up your MATLAB environment

You will need to configure your local (on your own computer) copy of MATLAB to connect to the supercomputer. You should only need to do this once per computer you use to connect. Do the following:

  1. On your computer: Download the MATLAB Remote Job Submission Setup File Archive. It is located on the supercomputer at /home/commonFiles/matlab/ You can also download it here:
  2. On your computer: Extract it to somewhere within your MATLAB workspace. Or extract it anywhere, and then add it to the default search path using addpath, documented on the MathWorks site here. This can also be done from the graphical interface.
  3. On your computerLINUX ONLY: If you are running Linux on your PC, you will need to make two of the files from the zip archive executable. Enter the directory containing the contents of the zip file, and run the command chmod u+x *.sh
  4. On your computer: Open MATLAB. In the file navigation menu, navigate to the directory that contains the extracted Setup files.
  5. On your computer: Create a MATLAB working folder to hold certain temporary files that MATLAB will create while working with the supercomputer. This can be anywhere, but we suggest creating a folder called TandyMatlabTemp inside your My Documents folder.
  6. On the supercomputer: Create a MATLAB working directory to hold similar temporary files on the supercomputer side. This can be anywhere that you can access, but generall we suggest creating a folder in your home directory called matlab-temp. Do this by executing the following command: 

    Create a MATLAB working directory
    $ mkdir ~/matlab-temp
  7. On your computer: In the MATLAB Command Window, execute the command setupTandyProfile. It will ask you for the following pieces of information:
    1. Your MATLAB working directory on Tandy. This is the directory you created in step 5 above.
    2. Your MATLAB working directory on your own computer. This is the folder you created in step 4 above.

Setting up your MATLAB code

Setting up a cluster

Show the list of available cluster profiles with parallel.clusterProfiles:

List cluster profiles
>> parallel.clusterProfiles

ans = 

    'local'    'TandySC_R2013a'

The Tandy profile name will depend on the version of MATLAB you are using.

Next start a connection to the cluster, using the name of the Tandy profile found above:

>> tandyCluster = parcluster('TandySC_R2013a');

Using batch


  • You will need to set your code up to use the MATLAB batch job functionality. Information on this functionality is available from the MathWorks documentation for the batch function. An example execution might look like this (we'll be using the Parallel Computing Toolbox's built-in parfor benchmarking function):

    Example job creation / execution
    myJob = tandyCluster.batch('pctdemo_aux_parforbench(100,5,15)', 'matlabpool', 15); % In R2016 and later, use 'pool' instead of 'matlabpool'
    o = myJob.fetchOutputs();
    % o{1} will contain the output of the function once the job is finished.
  • This invocation will submit the job to 16 total CPU cores: one master and 15 workers. Refer to the MathWorks documentation for the batch function for more information. 
  • When you execute a script that contains a call to batch in this manner, you will be queried for your Tandy username and password before execution. If you are asked to supply an identity file, select No.
  • You can manually check the job's status by logging into the supercomputer, of you can use the MATLAB wait function to block until the job is finished. Refer to the MathWorks documentation for the wait function.
  • You can quit your local copy of Matlab while jobs are running. To see a list of your jobs on the cluster from a new Matlab session, do the following:

    >> tandyCluster = parcluster('TandySC_R2013a'); % Replace this with the name of the Tandy cluster profile.
    >> tandyCluster.Jobs
    ans = 
     ?x1 Job array:
             ID           Type        State       FinishTime  Username  Tasks


  • You can get the output back by using either:

Job starting slowly?

To remote submit jobs to MATLAB, we use a script provided by MATLAB to mirror job files over SFTP and execution job submission over SSH. This script can go slowly. Please let us know if you need help resolving this issue by contacting

  • No labels