Intel MPI Howto pe clusterul NCIT

In cadrul clusterului NCIT, avem la dispozitie compilatorul Intel 11.1 - 0.38 si libraria IntelMPI 3.2.1 - 009.

Pentru a folosi IntelMPI trebuie sa selectam compilatorul si libraria mpi. Acest lucru se face fie prin comanda module:

 

[heri@fep-53-2 ~]$ module load compilers/intel-11.1_038
[heri@fep-53-2 ~]$ module load mpi/intelmpi-3.2.1_009

 

sau direct, prin folosirea scripturilor de mediu venite cu compiler-ul. In bash:

 

[heri@fep-53-2 ~]$ . /opt/intel/Compiler/11.1/038/bin/iccvars.sh intel64 (pt. C/C++)
[heri@fep-53-2 ~]$ . /opt/intel/Compiler/11.1/038/bin/ifortvars.sh intel64 (pt. Fortran)

[heri@fep-53-2 ~]$ . /opt/intel/impi/3.2.1/bin64/mpivars.sh (pt. 64bit arhitecture - default)

[heri@fep-53-2 ~]$ . /opt/intel/impi/3.2.1/bin/mpivars.sh (pt. 32biti, nesuportat pe clusterul  nostru)

 

In cadrul SGE, shell-ul default este csh, iar scripturile de mediu sunt:

[heri@fep-53-2 ~]$ . /opt/intel/Compiler/11.1/038/bin/iccvars.csh intel64 (pt. C/C++)
[heri@fep-53-2 ~]$ . /opt/intel/Compiler/11.1/038/bin/ifortvars.csh intel64 (pt. Fortran)

[heri@fep-53-2 ~]$ . /opt/intel/impi/3.2.1/bin64/mpivars.csh (pt. 64bit arhitecture - default)

[heri@fep-53-2 ~]$ . /opt/intel/impi/3.2.1/bin/mpivars.csh (pt. 32biti, nesuportat pe clusterul  nostru)

 

Environment-ul paralel pentru IntelMPI este intelmpi si intelmpi*1.

 

#!/bin/csh

source /opt/intel/Compiler/11.1/038/bin/iccvars.csh intel64
source /opt/intel/impi/3.2.1/bin64/mpivars.csh

setenv MPD_CON_EXT "sge_$JOB_ID.$SGE_TASK_ID"

mpiexec -np $NSLOTS ./hello_world.exe

 

Acest script il salvam sub numele de myscript.sh si se ruleaza cu comanda

 

qsub -q [coada] -pe [paralell_environment] [nr_sloturi] -cwd myscript.sh

Ex: qsub -q ibm-quad.q -pe openmpi 4 -cwd myscript.sh

 

(Mai mult detalii despre setup in acest articol).

Job-ul se urmareste cu comanda qstat, sau dupa preferinta watch qstat, iar output-ul se afla in fisierele myscript.*