Ceci est une ancienne révision du document !
MATLAB® est un logiciel commercial développé par la société Mathworks. Matlab est un langage de haut niveau et un environnement interactif pour le calcul numérique, la visualisation et la programmation.
Matlab fonctionne avec des extensions appelées toolbox. Les toolbox nécessitent des licences additionnelles.
Toolbox disponibles sur CALI :
MATLAB Image Processing Toolbox Optimization Toolbox Partial Differential Equation Toolbox Signal Processing Toolbox System Identification Toolbox
Le principe consiste à préparer un fichier de commande matlab, puis à lancer dans le job slurm le logiciel matlab en lui demandant d'exécuter ce fichier de commandes.
Ci-dessous un exemple qui calcule la produit de deux matrices et sauve la résultat dans un fichier de sortie au format matlab out.mat
matmul.m
% Creation de deux matrices aleatoires 100x100 A=rand(100); B=rand(100); % Produit matriciel AB=A*B; % Sauvegarde du resultat dans "out.mat" save out.mat AB;
matmul.sbatch
) #!/bin/bash #SBATCH --partition=rapide #SBATCH --qos=rapide #SBATCH --ntasks=1 module load matlab matlab -nojvm -nosplash -nodisplay -singleCompThread -r "matmul, exit"
sbatch matmul.sbatch
Notez deux éléments importants :
-singleCompThread
demande à matlab de n'utiliser qu'un seul thread, car nous avons demandé dans les réservation slurm une seule CPUexit
est nécessaire dans les commandes matlab pour quitter le logiciel à la fin de l'exécution de matmul. En l'absence de cette commande, matlab resterait en attente de commande, sans “rendre la main”