IMB > cellule > Moyens de calcul et de stockage

matlab compiler sur PlaFRIM3/Curta/MCIA

Utiliser matlab compiler sur PlaFRIM3 pour exécuter sur Curta

Compiler un programme matlab permet d’obtenir un exécutable qui fonctionne sans license matlab. Les licenses sont justes nécessaires pendant la compilation (et en particulier la license Compiler Toolbox).

Matlab (module load tools/matlab/R2019a) est disponible sur PlaFRIM3 mais pas sur Curta. Il est en revanche possible de compiler sur PlaFRIM3, puis de recopier le binaire sur Curta et le faire tourner en utilisant le module runtime matlab (module load matlab/MCR_R2019a).

Exemple sur PlaFRIM3 :

Créer le code matlab magic.m :

cat > magic.m <<'EOF'
function m = anonyme(n)
if ischar(n)
 n=str2num(n);
end
x = 1:n;
y = 1:n;
m = transpose(x)*y
EOF

Compiler magic.m pour produire l’exécutable magic :

module purge
module load tools/matlab/R2019a
mcc -mv magic.m

Exécuter sur PlaFRIM3 :

module purge
module load tools/matlab/MCR_R2019a
./magic 10

Note : sur PlaFRIM3, le module Matlab standard inclut également le runtime Matlab

Exécuter sur Curta/MCIA :

module purge
module load matlab/MCR_R2019a
./magic 10