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

Bitte beachten Sie, dass weitere Argumente, die Sie angeben, als Zeichenketten interpretiert werden. Daher kann es sein, dass diese beispielsweise in ganze Zahlen mit str2num konvertiert werden müssen.