Le compilateur Matlab permet de déployer des applications
Matlab autonomes, sur des machines dépourvues de license, y compris un
cluster ou une grille de calcul. La seule contrainte est que le système
de la machine cible doit être compatible avec celui de la machine utilisée
pour la compilation.
Installation
L'installation de Matlab Compiler est intégrée en tant que module
complémentaire dans la procédure d'installation Matlab. Elle nécessite
une license particulière.
Pour achever l'installation, exécuter la commande mbuild
-setup.
Note : un compilateur C ou C++ doit être
préalablement installé
Compilation
Pour compiler le script prog.m, dans Matlab,
lancer la commande mcc -m prog.m. Cela génère les
fichiers prog et run_prog.sh
Notes :
Le script prog.m doit commencer par
une fonction : function prog ...
On peut compiler ensemble plusieurs scripts interdépendants
et générer un seul exécutable : mcc -m prog.m prog2.m prog3.m ...
Pour éviter les messages d'erreur "Locking assertion failure",
il suffit en général d'initialiser la variable d'environnement MATLAB_JAVA avec le
chemin vers l'installation d'une JVM Sun 1.6 externe à Matlab.
Exécution
Pour exécuter l'application en-dehors de Matlab, donc sans utilisation
d'aucune license, il suffit d'appeler le script de lancement
run_prog.sh avec en argument le chemin jusqu'au
répertoire d'installation de matlab : ./run_prog.sh <matlab_root>
Notes :
La vitesse de lancement et d'exécution est identique à celle
du lancement de l'environnement Matlab suivie de l'interprétation du
script ...
Avec les versions antérieures (Matlab2006), le script de
lancement n'est pas généré. On peut toutefois lancer
l'application dans matlab :
!./prog
Déploiement d'applications
Installation du MCR
Avant de pouvoir lancer l'application sur la machine cible, il faut
installer la librairie MCR (Matlab Component Runtime library).
Sur un poste linux x86_64, le programme d'installation MCRInstaller.bin
se trouve dans $MATLAB/toolbox/compiler/deploy/glnxa64.
Note:
Avec les versions antérieures de
Matlab Compiler, on doit au préalable générer la librairie MCR avec la
commande buildmcr.
Lancement
Pour utiliser le script de lancement, il faut mettre en argument l'emplacement
de la libraire MCR : ./run_prog.sh /opt/MATLAB_Component_Runtime/v76
Si vous n'utilisez pas le script de lancement run_prog.sh,
vous devez au préalable initialiser les variables d'environnement (voici un script en
csh, à
titre d'exemple, pour un poste linux x86_64 : set_mcr
) : source set_mcr
Tout est prêt
pour lancer votre application: ./prog