MATLAB-Compiler

Wenn MATLAB gestartet wird, entweder interaktiv oder innerhalb eines Batch-Jobs, ist eine Lizenz erforderlich. Da wir nur eine begrenzte Anzahl von Lizenzen haben, wird da durch die Anzahl der Instanzen, die parallel laufen können, eingeschränkt.

Allerdings kann in vielen Fällen ein MATLAB-Skript mittels des MATLAB-Compilers kompiliert werden. Da durch entsteht ein eigenständiges Programm, das ohne eine MATLAB-Lizenz lauffähig ist. Damit können im Batch-System beliebig viele solche kompilierten Programme parallel laufen.

Das MATLAB-Programm hello_world.m wird dann auf folgende Weise kompiliert:

module add matlab/R2016a
mcc -mv -R -singleCompThread -R -nodisplay hello_world.m

Die Batch-Datei, die das Programm startet, muss dann folgende Zeilen enthalten:

module add matlab/R2016a
export MCR_HOME=$MATLABROOT
export MCR_CACHE_ROOT=$TMPDIR/$USER/mcr_cache
./run_hello_world.sh $MCR_HOME