NERSCPowering Scientific Discovery Since 1974

Matlab

Description and Overview


MATLAB is a high-performance language for technical computing. It integrates computation, visualization, and programming in an easy-to-use environment where problems and solutions are expressed in familiar mathematical notation. MATLAB features a family of add-on application-specific solutions called toolboxes. Toolboxes are comprehensive collections of MATLAB functions (M-files) that extend the MATLAB environment to solve particular classes of problems. These are the toolboxes installed in NERSC MATLAB, along with the number of licenses.

Toolbox Number of Licenses
Image Processing 2
Neural Networks 1
Optimization 2
Parallel Computing 2
Signal Processing 1
Statistics 2

The name MATLAB stands for matrix laboratory. MATLAB was originally written to provide easy access to matrix software developed by the LINPACK and EISPACK projects. Today, MATLAB engines incorporate the LAPACK and BLAS libraries, embedding the state of the art in software for matrix computation.

How to Use Matlab

Matlab is available at NERSC on Carver and Euclid.  Type the following commands to use Matlab:

module load matlab
matlab

The number of Matlab licenses at NERSC is not very large, so users should not be running a Matlab session when it is not being actively used. 

Memory usage is tightly restricted on Carver. Carver's login nodes have hard limits of 2GB per process, and by default compute nodes do as well. On login node the full 2GB may be made available from with shell specific commands. For example in bash:

ulimit -S {-d,-m,-v,-s} unlimited

In the csh shell use the limit command. On compute nodes hard resource limits may be modified in the qsub command. For example, the following command sets the hard limit at 20GB.

qsub -I -X -V -q interactive -l nodes=1:ppn=1 -l walltime=00:30:00 -l pvmem:20GB

The following program illustrates how matlab can be used in parallel. NERSC's licesnse currently limit parallel use to a single node and at most 12 threads.

%hello-world.m
matlabpool open 8
spmd
  rank=labindex;
  fprintf(1,'Hello %d\n',rank);
end
matlabpool close

For loop level parallelism Matlab provides the parfor construct.

Documentation

Extensive on-line documentation is available. You may subscribe to the MATLAB Digest, a monthly e-mail newsletter by sending e-mail to subscribe@mathworks.com.

Availability

PackagePlatformCategoryVersionModuleInstall DateDate Made Default
MATLAB carver applications/ visualization R2010a matlab/R2010a 2010-05-21 2010-05-21
MATLAB carver applications/ visualization R2010a matlab-nofonts/R2010a 2012-01-10 2012-01-12
MATLAB carver applications/ visualization R2010b matlab/R2010b 2012-01-10
MATLAB carver applications/ visualization R2010b matlab-nofonts/R2010b 2012-01-10
MATLAB carver applications/ visualization R2011b matlab/R2011b 2012-01-10 2012-01-18
MATLAB carver applications/ visualization R2011b matlab-nofonts/R2011b 2012-01-10 2012-01-18
MATLAB carver applications/ visualization R2012a matlab-nofonts/R2012a 2012-04-06 2012-04-11
MATLAB carver applications/ visualization R2012a matlab/R2012a 2012-04-02 2012-04-11
MATLAB hopper applications/ visualization R2011b matlab_ccm/R2011b 2012-04-04
MATLAB hopper applications/ visualization R2012a matlab_ccm/R2012a 2012-04-04 2012-04-04