Matlab
Versions installées
Sur lumière :
- matlab/r2013b
- Matlab2014a
- Matlab2014b
- Matlab2015a
- Matlab2016b
Use
module avail matlab
to view the list of available matlab
Toolbox
10 jetons + les toolbox suivantes :
- Simulink (1 jeton)
- Image Processing Toolbox (1 jeton)
- Optimization Toolbox (1 jeton)
- Signal Processing Toolbox (1 jeton)
- Symbolic Math Toolbox (1 jeton)
- Statistics Toolbox (1 jeton)
- Compilateur (2 jetons) | Documentation
- Parallel Toolbox (1 jeton) | Documentation
Mode interactif
Le mode interactif consiste à lancer matlab en mode graphique
- Ce mode est utilisé pour tester les programmes, pour un long calcul, merci d'utiliser le mode batch
Le noeud de calcul interactif redémarre chaque nuit
- Se connecter sur la machine mesoshared.univ-fcomte.fr en utilsant X2GO voir la doc
- Depuis un terminal, charger la version de matlab en utilisant :
$ module load matlab
- Lancer matlab
$ matlab
Mode Batch (SGE)
Pour le mode Batch il faut utiliser le cluster Lumière mesologin1.univ-fcomte.fr
Notez la présence de l'option : #$ -l matlab=1 dans le script SGE
Lancer Matlab en séquentiel sur 1 seul processeur/coeur
Il faut rajouter l'option -singleCompThread au lancement de matlab
- matlab_seq.sge
#!/bin/bash -l #$ -q all.q ## file d'attente a utiliser #$ -l matlab=1 ## on demande matlab #$ -o $JOB_NAME.o$JOB_ID ## fichier de sortie #$ -m bea ## alerte on begin, end of job #$ -M YourEmailAdress@here ## put your email adress #$ -N job_exemple_Matlab ## le jnom du job # Demander 4 Go de mémoire vive pour le job #$ -l h_vmem=4G module load matlab matlab -singleCompThread -nodisplay -nodesktop -nojvm -nosplash < monprogramme.m
Après on lance avec la commande :
$ qsub matlab_seq.sge
On vérifié la soumission avec :
$ qstat
Pour plus d'information sur l'utilisation de SGE consulter cette page Grid Engine
Lancer Matlab sur plusieurs processeurs/coeurs
Il faut activer le parallélisme natif de matlab pour bénéficier du support parallèle.
Notez l'absence de l'option
Par défaut matlab utilise tous les cœurs/processeurs disponibles sur la machine. Pour respecter le découpage SGE, il faut demander, à SGE, un noeud entier avec tous les coeurs.
-singleCompThread
de la ligne de commande
Voici un exemple de script qui demande 16 coeurs :
- matlab_para.sge
#!/bin/bash #$ -q all.q ## file d'attente a utiliser #$ -l matlab=1 ## on demande matlab #$ -o $JOB_NAME.o$JOB_ID ## fichier de sortie #$ -m bea ## alerte on begin, end of job #$ -M YourEmailAdress@here ## put your email adress #$ -N job_exemple_Matlab ## le jnom du job #$ -pe openmp 8 ## on demande 8 coeurs # Demander 4 Go de mémoire vive par coeur #$ -l h_vmem=4G module load matlab matlab -nodisplay -nodesktop -nosplash < monprogramme.m
Après on lance avec la commande :
$ qsub matlab_para.sge