DOCUMENTATION

Vous pouvez trouver plus d'information ici.

Pour utiliser Imagic, il faut charger le module correspondant :

module load imagic/imagic_2016_04_18

Pour une utilisation interactive sur hpc-login, utiliser les commandes imagic, imdisp, implot.

Pour une utilisation en batch sous Slurm, il faut forcer le mode non interactif via la variable IMAGIC_BATCH, et fournir, dans le script Slurm, les réponses au dialogue du mode interactif.

Ces réponses peuvent être enregistrées lors d'une séance interactive grâce aux commandes MODE-ACCU et MODE-STOP. Un nom de fichier est alors demandé. Par exemple, pour enregister la séquence permettant d'appeler le programme stand/testim.e :

module load imagic/imagic_2016_04_18
$imagic
IMAGIC-COMMAND : MODE-ACCU
IMAGIC-COMMAND (ACC.) : TEST-IMAGE-CREATION
Output filename, image loc#s []     : imagic_test
Image dimensions X,Y []             : 1600,900
Please specify option []            : REAL
Please specify option []            : SIEMENS
Number of spokes in Siemens star [] : 16
IMAGIC-COMMAND (ACC.) : MODE-STOP
Filename for batch/script file [bigjob]            : imagic_test

Le fichier de commandes s'appelera alors imagic_test.b, et contiendra l'appel au programme de la bibliothèque Imagic concerné, ainsi que les réponses au dialogue. Il suffit alors d'y récupérer le nom du programme et les réponses, pour les injecter dans un script Slurm (voir sous quelle forme dans les examples ci-dessous).

Script Slurm permettant de lancer Imagic sans MPI

Dans cet exemple, on appelle stand/testim.e, qui se contente de générer une image de test.

#! /bin/bash
#SBATCH -n 1

module load imagic/imagic_2016_04_18
export IMAGIC_BATCH=1

# Le fichier image portera le nom test_$SLURM_JOB_ID.img (voir 1ère ligne du dialogue)
$IMAGIC_ROOT/stand/testim.e <EOF<br />   test_$SLURM_JOB_ID
800,450
REAL
SIEMENS
16
EOF

Script Slurm permettant de lancer Imagic avec MPI

C'est le cas lorsque le programme utilisé pose la question suivante : Use MPI parallelisation : et qu'on répond YES.

Dans cet exemple, on appelle threed/true_3d.e_mpi qui est une version parallélisée de threed/true_3d.e. L'exécution se fait sur 8 coeurs.

#! /bin/bash
#SBATCH -n 3    # Nombre de coeurs demandés à Slurm

module load imagic/imagic
module load openmpi/openmpi-1.10.i16
export IMAGIC_BATCH=1

# L'appel de threed/true_3d.e_mpi se fait via mpirun, qui lui
# transmet IMAGIC_BATCH grâce à l'option -x.
# Il faut repréciser le nombre de coeurs à utiliser, d'abord à mpirun avec
# l'option -np, puis à threed/true_3d.e_mpi sur la 2nde ligne du dialogue.
# Remarque : le dialogue ci-dessous est tronqué.
mpirun -np 3 -x IMAGIC_BATCH $IMAGIC_ROOT/threed/true_3d.e_mpi <EOF<br />   ONLY_3D
3
ALL
TETRAGONAL
YES
...
EOF

VERSIONS ET SCRIPTS D'INSTALLATION


TAGS