Manar treballs paral·lels tipus MPI usant Grid Engine consisteix principalment a triar un entorn paral·lel corresponent i definir el rang de nombres de slots (nuclis CPU) que requereix el treball.
L'elecció de l'entorn parallelo està determinat per l'opció de línia de comandos -pe .
Per a manar per exemple un treball d'openmpi que requereix 100 slots executem
$ qsub -pe openmpi 100 ./mi_trabajo_mpi.sh
o usem un rang
$ qsub -pe openmpi 100-200 ./mi_trabajo_mpi.sh
També és possible especificar l'entorn paral·lel en el script del nostre treball introduint una línia com
#$ -pe openmpi 100
Anem a veure uns exemples per a cadascun dels entorns MPI instal·lats en ClusterUA.
Una llista dels entorn aconseguim executant
[hpuser@login ]$ qconf -spl
impi
mvapich
mvapich2
openmpi
OpenMPI
L'entorn d'OpenMPI per a Grid Engine és openmpi. Després d'haver compilat el nostre executable amb openmpi amb, per exemple:
$ module lloeu openmpi-gcc
$ mpicc MPI01.c -o MPI01_openmpi_gcc
Un simple script per a manar el treball usant 32 slots pot ser:
Grid Engine s'ocupa d'arrancar i apagar els dimonis mpd en els nodes. Per açò s'usar mpiexec per a executar el treball.
Intel MPI amb Trace Analyzer and Collector
Per a usar l'Intel Trace Analyzer and Collector primer hem de compilar el nostre programa amb l'opció %u201C-trace%u201D.
$ module lloeu icc
$ module lloeu trace
$ mpiicc -trace ./MPI01.c -o MPI01_impi_trace
Per a crear el perfil de trace modifiquem el nostre script de treball de Grid Engine carregant el mòdul itac i afegint l'opció %u201C-trace%u201D com a opció del mpiexec :