Tapez
lmstat
pour connaitre le nombre et l’utilisation des jetons de licence.
Job utilisant un jeton
Réservation d’un job séquentiel utilisant 1 Go de RAM et 1 jeton de licence Matlab.
#$ -N job-jeton #$ -q seq_medium #$ -l m_mem_free=1G #$ -m esa #$ -M prenom.nom@u-cergy.fr #$ -cwd #$ -j y ## Demande de jeton matlab #$ -soft #$ -l matlab=1 module load matlab matlab -nodesktop -nosplash -batch program.m
Job utilisant une toolbox
Réservation d’un job parallèle 4 coeurs utilisant 2 Go de RAM (4 * 500 Mo), 1 jeton de licence Matlab et un jeton de licence pour la toolbox « Image ».
#$ -N job-jeton #$ -pe openmp 4 #$ -l m_mem_free=500M #$ -m esa #$ -M prenom.nom@u-cergy.fr #$ -cwd #$ -j y ## Demande de jetons matlab et toolbox #$ -soft #$ -l matlab=1 #$ -l image_tbx=1 module load matlab matlab -nodesktop -nosplash -batch parallel-program.m
Job compilé sans jeton
En compilant son programme matlab il est possible de se passer de jeton de licence. Il est alors possible de lancer beaucoup d’instances de ce programme en même temps (voir aussi job array).
Exemple de fichier makefile permettant de compiler un programme matlab :
SRC = my_program.m dependancy1.m dependancy2.m path/to/dependancy3.m COMP = mcc FLAGS = -mv all : my_program my_program : $(SRC) $(COMP) $(FLAGS) $(SRC) # !!! tabulation clean : \rm my_program run_my_program.sh # !!! tabulation
Exemple de script de job pour un programme matlab compilé
#$ -N my_program ## Job séquentiel #$ -q seq_long #$ -l m_mem_free=1G #$ -m esa #$ -M prenom.nom@u-cergy.fr #$ -cwd #$ -j y ## Pas de demande de jeton ni de chargement de module ./run_my_program.sh /usr/local/matlab