The Tufts High Performance Compute (HPC) cluster delivers 35,845,920 cpu hours and 59,427,840 gpu hours of free compute time per year to the user community.
Teraflops: 60+ (60+ trillion floating point operations per second) cpu: 4000 cores gpu: 6784 cores Interconnect: 40GB low latency ethernet
For additional information, please contact Research Technology Services at tts-research@tufts.edu
Matlab
MATLAB is a high-level technical computing language and interactive environment for algorithm development, data visualization, data analysis, and numerical computation. Using MATLAB, you can solve technical computing problems faster than with traditional programming languages, such as C, C++, and Fortran. Extensive documentation and tutorials are provided within Matlab. MATLAB Compiler Runtime (MCR)Â
The MATLAB Compiler Runtime (MCR)Â is a standalone set of shared libraries that enables the execution of compiled MATLAB applications or components without using MATLAB licensing. This is useful for running a large number of jobs that might exceed the license counts.
Â
Matlab related:
- How do I get matlab command line options?*
-bash-3.2$ srun ... matlab -help
How do I run a matlab batch job?
-bash-3.2$ module load matlab -bash-3.2$ sbatch ...options... Â --warp="matlab -nojvm -nodisplay < your-matlab-code.m" |
---|
Â
This will submit your code to the slurm partition you choose in the sbatch options. Matlab has several ways to direct output and results by use of matlab commands such as: diary, print and several other commands.
How do I speed up my Matlab calculations?
By default Matlab on the cluster has multi-thread parallelism enabled. Many Matlab functions will automatically use the threaded libraries. The number of threads obtained is equal to the number of cores on the node your job is placed on. Currently it is either 8 or 12. You no longer need to request exclusive node access via bsub.
How do I access the Parallel capability of Matlab?
Matlab can make use of MPI parallelism if you modify your code accordingly(see Parallel computing documentation within Matlab) and setup your session to instruct Matlab to use slurm. Currently Distributed Computing Engine Toolbox is licensed for 32 cores. It is strongly recommended to initially use 4, 8 or 16 cores while you explore how your code scales. Depending on what you are doing, execution times may not benefit from additional cores. To setup this feature, import a working configuration found at:
----Currently this has not been tested with slurm. Matlab R2015b, expected Fall 2015 will have slurm support -----
To view an older lsf based config file:
/cluster/shared/dmarshal/ISO/matlab-R2012-lsfconfig16.settings
Use Matlab's Cluster Profile Manager Tool to import the settings. Choose the menu options Parallel -> Import Cluster Profile and browse to the config file.
To test this out, you may run the Validation tests by choosing Start Validation. This will take several minutes and should result in five passed tests.
I want to run hundreds of matlab jobs using my matlab scripts. What do I need to know?
Your jobs will end up on a partition with a limit of 512 concurrent jobs/cores/user.Â
Â
Is Matlab MCR available to run compiled jobs?
Yes. You will need to load the MCR version corresponding to the Matlab version you used to compile your standalone executable. The Matlab example called magicsquare in the documentation can be used as an example. Once compiled the named executable, magicsquare, can be run without loading Matlab nor checking out licenses. Such an example is available below. Note, be sure to quote any needed command line arguments to your named executable.
> module load MCR/R2012a > srun ... "/cluster/shared/dmarshal/ISO/magicsquare 3" |
---|
Â
How do I access the public domain Matlab toolbox EDGE?
EDGE has been installed into cluster directory /opt/shared/EDGE/1.02. To use it you'll need to launch MATLAB then change into the /opt/shared/EDGE/1.0/Matlab directory by issuing the following command at the Matlab prompt:
cd /opt/shared/EDGE/1.0/Matlab
Or better yet, add this path to your Matlab path within Matlab. Choose File -> Set Path and Add with subfolders.
To launch the Importer tool from within Matlab type on the command line:
semiauto
See the EDGE website for additional documentation.
How do I access the public domain Matlab toolbox WaveLab?
Load the corresponding module:
> module load Wavelab
> module load matlab
In Matlab choose File -> Set Path and then Add with Subfolders. Add the following: /opt/shared/Wavelab/Wavelab850
Then issue the command startup at the Matlab command line.
At this point you can issue commands and demos. Check the website for documentation.
Â
Â
Â
For additional information, please contact Research Technology Services at tts-research@tufts.edu