Skip to content

ISV Licenses

Guide to Managing Independent Software Vendor Licenses

On Anselm cluster there are also installed commercial software applications, also known as ISV (Independent Software Vendor), which are subjects to licensing. The licenses are limited and their usage may be restricted only to some users or user groups.

Currently Flex License Manager based licensing is supported on the cluster for products ANSYS, Comsol and MATLAB. More information about the applications can be found in the general software section.

If an ISV application was purchased for educational (research) purposes and also for commercial purposes, then there are always two separate versions maintained and suffix "edu" is used in the name of the non-commercial version.

Overview of the Licenses Usage


The overview is generated every minute and is accessible from web or command line interface.

Web Interface

For each license there is a table, which provides the information about the name, number of available (purchased/licensed), number of used and number of free license features.

Text Interface

(Anselm only, obsolete)

For each license there is a unique text file, which provides the information about the name, number of available (purchased/licensed), number of used and number of free license features. The text files are accessible from the Anselm command prompt.

Product File with license state Note
ansys /apps/user/licenses/ansys_features_state.txt Commercial
comsol /apps/user/licenses/comsol_features_state.txt Commercial
comsol-edu /apps/user/licenses/comsol-edu_features_state.txt Non-commercial only
matlab /apps/user/licenses/matlab_features_state.txt Commercial
matlab-edu /apps/user/licenses/matlab-edu_features_state.txt Non-commercial only

The file has a header which serves as a legend. All the info in the legend starts with a hash (#) so it can be easily filtered when parsing the file via a script.

Example of the Commercial Matlab license state:

$ cat /apps/user/licenses/matlab_features_state.txt
    # matlab
    # -------------------------------------------------
    # FEATURE                       TOTAL   USED AVAIL
    # -------------------------------------------------
    MATLAB                              1      1      0
    SIMULINK                            1      0      1
    Curve_Fitting_Toolbox               1      0      1
    Signal_Blocks                       1      0      1
    GADS_Toolbox                        1      0      1
    Image_Toolbox                       1      0      1
    Compiler                            1      0      1
    Neural_Network_Toolbox              1      0      1
    Optimization_Toolbox                1      0      1
    Signal_Toolbox                      1      0      1
    Statistics_Toolbox                  1      0      1

License Aware Job Scheduling

Anselm cluster and Salomon cluster provide license aware job scheduling.

Selected licenses are accounted and checked by the scheduler of PBS Pro. If you ask for certain licenses, the scheduler won't start the job until the asked licenses are free (available). This prevents to crash batch jobs, just because of unavailability of the needed licenses.

The general format of the name is license__APP__FEATURE.

Supported application license features:

Application Feature PBS Pro resource name
ansys aa_r_hpc license__ansys__aa_r_hpc
matlab-edu MATLAB license__matlab-edu__MATLAB
matlab-com MATLAB license__matlab-com__MATLAB

Do not hesitate to ask IT4I support for support of additional license features you want to use in your jobs.


Resource names in PBS Pro are case sensitive.

Example of qsub Statement

Run an interactive PBS job with 1 Matlab EDU license:

$ qsub -I -q qprod -A PROJECT_ID -l select=2 -l license__matlab-edu__MATLAB=1

The license is used and accounted only with the real usage of the product. So in this example, the general Matlab is used after Matlab is run by the user and not at the time, when the shell of the interactive job is started. Also the Distributed Computing licenses are used at the time, when the user uses the distributed parallel computation in Matlab (e. g. issues pmode start, matlabpool, etc.).