MATLAB
We often get questions about running MATLAB on GPC. This page gives information about the options for getting your MATLAB code to run, in recommended order.
Not using MATLAB
With a few exceptions for compilers and debuggers, SciNet does not purchase licenses for commercial software. As such, SciNet does not have a license for MATLAB, nor will it in the future. If users wish to run MATLAB they must supply their own license. Alternatively, users can attempt to run MATLAB code using the open-source program Octave, accessible through the octave module. Though there are some differences between the two programs, Octave has been designed to interpret MATLAB code and can often be used in place of MATLAB. If your MATLAB code does not use some of the more-fancy MATLAB toolboxes, you may be able to get away with using Octave instead.
Creating a MATLAB executable
If MATLAB must be used, you may be able to compile your MATLAB code into a stand-alone executable, and run this on a GPC compute node. The version of MATLAB being used will require a compiler license, and the compilation must be done on a Linux machine. Once the compilation is done, the executable can be copied to SciNet, and run using the MATLAB Compiler Runtime (MCR), which can be accessed using the mcr module. The MCR used must be the same version of MATLAB as the compiler. If the version of MCR that you need is not listed among the mcr module versions, contact us and we will install the version which you require.
Running using a license server
If you have access to a non-SciNet MATLAB license server, and have installed MATLAB in your $HOME directory, you can setup your submission script to access the external license server. The following lines should be added to the beginning of your submission script:
PORT=XXX # port number of the license server LICENSE_IP=AAA.BBB.CCC.DDD # IP address of the license server ssh gpc01 -L${PORT}:${LICENSE_IP}:${PORT} -N &
This last line will tunnel the port from the compute node back to the license server, through gpc01. The port number and IP address of the licence server must be supplied by the system administrator of the license server.
Using a different Consortium
Both Sharcnet and Westgrid have purchased different types of MATLAB licenses. Users can contact those consortia if they wish to attempt to run on those systems.