MBT

Pour contourner les problèmes d'exécutions du code MBT sur le mésocentre, nous utilisons le conteneur singularity. Le conteneur héberge la dernière version d'Ubuntu (16.04) ainsi que la version 1.9 de Java.

Pour exécuter un code Java à l'interieur du conteneur :

On charge singularity

$ module load tools/singularity

On exécute le programme à l’intérieur du conteneur

$ singularity exec $SING_SPOOL/ubuntu-16.img java monPackage.Maclasse

Avec :

  • singularity exec, lance le conteneur
  • $SING_SPOOL/ubuntu-16.img, chemin vers l'image du conteneur
  • java, c'est Java qui est installé dans le conteneur
  • monPackage.Maclasse, mon programme Java, disponible dans le répertoire courant.

Voici un script SGE, à adapter selon les besoins, pour lancer le MBT (le code trouvé dans le répertoire de saif) :

mbt.sge
#!/bin/bash 
#$ -q all.q
#$ -V
#$ -N parallelMBT 
#$ -cwd
#$ -o $JOB_NAME.$JOB_ID.out
 
##### on request 4G/core
#$ -l h_vmem=4G 
 
##### we request 8 cores
#$ -pe openmp 8 
 
#### load container 
 
module load tools/singularity
 
## NB1. We need to modify java home.user to use $WORK. because HOME is readonly in computing nodes
## java -Duser.home=$WORK .....
## NB2. Note that we are using singularity container to run Java
 
singularity exec $SING_SPOOL/ubuntu-16.img java -Duser.home=$WORK -Xmx1024M -noverify -cp GenerationTryOptimisedCode-1.0.0-SNAPSHOT.jar fr.femtost.disc.mbeetle.generation.Launcher 8 2 2

Version distribué avec MPI

mbt-mpi.sge
#!/bin/bash
 
#$ -q parallel.q
#$ -V
#$ -N certifyit-distributed
#$ -cwd
#$ -o $JOB_NAME.$JOB_ID.out
 
### request 4G/core ###
#$ -l h_vmem=4G   
 
### request number of cores cores ###
#$ -pe mpi 64
 
module load lang/java
module load mpi/openmpi/gcc/2.0.1
module load tools/singularity
 
mpirun -np $NSLOTS singularity exec $SING_SPOOL/ubuntu-16.img java -Duser.home=$WORK -noverify -Xmx4g -Djava.library.path=/usr/local/lib -cp .:/usr/local/lib/mpi.jar -jar libs/com.smartesting.mesocentre.jar model=pkcs11_model.smtmodel nomerge=true groupSize=8