The Clustered Computing Group has a limited number of licenses (not user locked) for Matlab 6.5. We have no licenses for Matlab 7 or newer (r2006, r2007, etc). Therefore, version 6.5 is the default on the clusters.
The only toolkits licenses available for Matlab 6.5 are
Image_Toolbox. If you want to use any other toolkit or a more recent Matlab version, you must purchase a license.
On the clusters, Matlab lives in a periodic snapshot of the IRIS SoftWare Warehouse (
Matlab 7 and newer are configured to contact the IRIS license servers by default.
To use specific licenses, you can always bypass the default license files by setting the
LM_LICENSE_FILE environment variable to point to the license server. You also need to do this to use any Matlab 6.5 toolboxes we don't have licenses for.
By default, MATLAB makes use of the multi-threading capabilities of the computer on which it is running. This causes problems for the scheduler unless you tell it that you will be using more than one processor per job.
To avoid this, you can set the -singleCompThread option when starting MATLAB to limit MATLAB to a single computational thread.
Alternatively, you can request exclusive use of a node by adding one of the following lines to your batch file:
#PBS -l nodes=1:ppn=8 # for an exclusive reservation of an 8-core node (PSI Batch Cluster) #PBS -l nodes=1:ppn=2:cpu3000 # for an exclusive reservation of a 2-core node (PSI Batch Cluster)
You could also use the (deprecated) maxNumCompThreads(N) function in your mathlab code to set the number of threads to use and then request a matching number of cores:
#PBS -l nodes=1:ppn=8 ... maxNumCompThreads(8)
#PBS -l nodes=1:ppn=2 ... maxNumCompThreads(2)