MPI-multicore: Accesso all'infrastruttura
Istruzioni: link esterni
Iscrizione alla VO gridit
https://voms.cnaf.infn.it:8443/voms/gridit/
Selezione dell'ambiente
TAG "Wholenodes"
Applicazione SMP: 1 nodo intero con almeno 8 core ciascuno.
WholeNodes=true;
#HostNumber=1; (default)
SMPGranularity = 8;
Applicazione MPI generica: 64 cores, senza requisiti sulla loro dislocazione.
CPUnumber=64
Applicazione "scattered": 8 core possibilmente su 8 nodi diversi.
CPUnumber=8;
SMPgranularity=1;
Esempio di utilizzo dell'ambiente con un processo MPI per core, utilizzando il flavour openMPI
mpi-start -t openmpi -vv -- my-mpi-prog
Applicazione ibrida MPI/openMP: 8 nodi interi con almeno 8 core ciascuno.
WholeNodes=true;
HostNumber=8;
SMPGranularity = 8;
Esempio di utilizzo dell'ambiente con un processo MPI per nodo.
MPI-start setta anche la variabile OMP_NUM_THREADS in modo che ogni processo MPI
possa lanciare tanti threads quanti sono i core del nodo.
mpi-start -t openmpi -pnode -vv -- my-mpi-prog
Esempio con un processo MPI per socket.
MPI-start setta anche la variabile OMP_NUM_THREADS in modo che ogni processo MPI
possa lanciare tanti threads quanti sono i core del socket.
mpi-start -t openmpi -psocket -vv -- my-mpi-prog
Esempio con due processi MPI per socket.
MPI-start setta anche la variabile OMP_NUM_THREADS in modo che ogni processo MPI
possa lanciare un thread per core.
mpi-start -t openmpi -npsocket=2 -vv -- my-mpi-prog
Riferimenti:
Evolution of Grid meta-scheduling towards the EMI era
-
MPI user manual
Compilazione MPI sul nodo
Per compilare sul nodo la soluzione ottimale e' l'utilizzo del Pre Run Hook di MPI-Start, in cui vengono definite
le variabili necessarie (.e.g $MPI_MPICC):
#!/bin/sh
pre_run_hook ()
{
$MPI_MPICC my_mpi_prog.c -o my_mpi_prog
return 0
}
mpi-start -t openmpi -pre ./pre_run_hook.sh -- my_mpi_prog
Network
Requirements = member("MPI-INFINIBAND", other.GlueHostApplicationSoftwareRunTimeEnvironment):
Ambiente standard - gcc/gfortran/f95 4.1.2, ...
Selezione dei siti che supportano MPI (MPI-START) e la release corrente di Cream per EMI-1 (1.13.4):
requirements=(other.GlueCEImplementationVersion=="1.13.4") &&
Member("MPI-START",other.GlueHostApplicationSoftwareRunTimeEnvironment);
Ambiente Specifico - Selezione "diretta" dei siti:
#INFN-PARMA: gcc/gfortran-44, lapack-devel, blas-devel gsl-devel, fftw3-devel, gmp-devel, cfitsio-devel, netcdf-devel, hdf5-devel
requirements=(other.GlueCEUniqueID=="emi-ce.pr.infn.it:8443/cream-pbs-parallel");
#INFN-PISA: lapack-devel, blas-devel gsl-devel, fftw3-devel, gmp-devel, cfitsio-devel, netcdf-devel, hdf5-devel
#requirements=(other.GlueCEUniqueID=="gridce4.pi.infn.it:8443/cream-lsf-gridmpi");
#UNI-NAPOLI: gmp,
#requirements=(other.GlueCEUniqueID=="emi-ce01.scope.unina.it:8443/cream-pbs-hpc");
#UNI-PERUGIA:
#requirements=(other.GlueCEUniqueID=="cex.grid.unipg.it:8443/cream-pbs-grid");
#IGI-BOLOGNA:
#requirements=(other.GlueCEUniqueID=="");
Documento per la standardizzazione dell'ambiente software
IGI Portal
Il portale IGI supporta la sottomissione di job MPI con i nuovi TAG "Wholenodes".
Istruzioni di utilizzo di MPI/Grid nelle comunita' scientifiche