You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

Current Version

The current Matlab version is 2016a:

/reg/common/package/matlab/R2016a/bin/matlab

You can run the following command to find which nodes in the pool have a Matlab license available:

/reg/common/package/scripts/matlic

You can run the following command to find who is using the Matlab licenses, and for how long:

/reg/common/package/scripts/matlic --show-users

Parallel Toolbox

The parallel toolbox allows you to make use of multiple cores on your local node (for example the parfor command will launch matlab workers on the multiple cores that are available).

MathWorks has a nice introduction to use of the parfor command:  http://www.mathworks.com/help/distcomp/getting-started-with-parfor.html

The following is meant to serve as a warning, and is an example of the misuse of parfor (i.e. it will not correctly calculate Fibonacci numbers, as one might expect): 

f = zeros(1,50);
f(1) = 1;
f(2) = 2;
parfor n = 3:50
    f(n) = f(n-1) + f(n-2);
end

Launching Matlab in Background

If you have a matlab script named myscript.m in your current directory, a good way to launch matlab in the background is

nohup /reg/common/package/matlab/r2013a/bin/matlab -nodesktop -nosplash -r "try; myscript; quit; catch; end" > myoutput.log 2>&1 &

By using the unix utility nohup, (short for no hang up) you will be able to close the terminal window you are using and logout without interrupting the matlab process. Note that we do not add the ".m" extension to myscript. By adding the command "quit" if the script is successful, and the "try catch" clause if there is a failure, we ensure that the matlab process will close properly when finished. This is important for managing the matlab licenses. You can check on the output by looking at the file myoutput.log that you are capturing output to, as well as errors to (with the 2>&1 command). You can also use the --show-users command with matlic (as discussed above) to check if your matlab process is still running.

Reattaching to a Running Session

Users doing long computations in interactive sessions will typically lock their machine overnight and return to the Matlab session the next day. If you are experiencing network connection problems, the matlab session will typically be killed when the connection is lost. In addition to using nohup and batch mode as above, one can use the unix utility tmux to reconnect to a matlab session that is run in a terminal window (as opposed to in its typical graphical window). For instance,

tmux
matlab --nosplash --nodesktop
Let's suppose this was done on the host psanacs040. If you lose the connection to psanacs040, you can go back to that node and reattach:
ssh psanacs040
tmux attach
You need to remember the node you ran tmux on, or you can use the --show-users switch to matlic to discover this.
 

Policies

Matlab sessions which are older than one week will be automatically killed. In the hopefully rare case where all licenses are taken, we may kill existing sessions; the first sessions to be killed will be the oldest ones and the multiple sessions taken by a single user. 

  • No labels