Software: Matlab on HPCC

FRIDAY, November 18 |  By Xiaoge Wang, Research Consultant, ICER

About the Author:
Xiaoge Wang has over 20 years experience in scientific computing, especially in the development of parallel algorithms for various science and engineering applications. She draws on her knowledge of machine learning applications, numerical linear algebra, and statistical modeling to assist HPCC users with their computing needs. >> More

MATLAB is a well-known software in the community, however, there are a few things that people may not yet know about. As a research consultant at ICER, I would love to use this opportunity to share some information to MSU MATLAB users.

First of all, MATLAB is free for MSU faculty and students. You can purchase the software by visiting the MSU computer store website at  https://cstore.msu.edu  (The price will be $0.00 when you check out). It can be installed on both your laptop and lab machines. If you have any questions towards MATLAB, please visit: https://www.mathworks.com/support/contact_us

Secondly, we have MATLAB Distributed Computing Server™(MDCS) licensed on our HPCC clusters. This lets us develop our own program or model on a multicore desktop computer using Parallel Computing Toolbox™, and then scale up to our HPCC cluster. The MDCS server supports batch jobs, parallel computations and distributed large data. The MDCS on HPCC is configured to support the scheduler (moab/torque) on HPCC clusters, so that it allows users to submit and run jobs on HPCC compute nodes from their laptops or lab machines. Please refer to ICER’s wiki page for more details on how to offload MATLAB jobs to run on HPCC cluster: Matlab - MSU HPCC User Documentation

Thirdly, for users who have been directly running MATLAB on HPCC, you may already have noticed that MATLAB jobs are no longer blocked or terminated due to the limit number of MATLAB licenses on HPCC.  We now have 17313 licenses for all the supported toolboxes, except for the MDCS server, which has 160 licenses. That means it is no longer necessary to compile MATLAB function or script into a standalone program before submitting to the scheduler to avoid the limit of the license.

What I have mentioned above are some information for our users to know. However, when we are expecting more users to scale up the computation from PC to HPCC, there are some important things we would also love for them to know when running MATLAB on HPCC. First, development nodes on HPCC are provided for development only, please do not directly run MATLAB interactively using many cores for a longer amount of time, i.e. 2 hours or more.  Be careful that MATLAB will, by default, run as many workers as there are a number of cores available on the development node where you launch your MATLAB client. You need to set the proper number of workers in the profile of “local” cluster before running functions on the worker pool. When you submit your MATLAB script or functions to run on compute nodes via qsub command, make sure that you request the number of nodes and ppn which match the number of workers that you will run in that script/function. Using default settings may not always be appropriate. Please refer to Matlab - MSU HPCC User Documentation for more information.