CRESCO: Descrizione del Cluster CRESCO6 di Portici
1. Caratteristiche del cluster
Il cluster CRESCO6 di Portici è un sistema di calcolo costituito da 434 nodi. Ogni nodo ha:L'architettura di un nodo di CRESCO6 è riconducibile al seguente schema:
2. Nodi di front-end
L'utilizzo del cluster avviene facendo il login su uno dei nodi di front-end. I nodi di front-end servono semplicemente per il lancio delle applicazioni tramite LSF, per editare i propri script di lancio o per le compilazioni. I nodi di calcolo sono raggiungibili solo tramite LSF. Per il cluster CRESCO6 si hanno a disposizione i front-end:3. Accesso
Per accedere al sistema tramite "SSH" è sufficiente collegarsi direttamente ad uno dei nodi di front-end indicati in precedenza se il proprio PC è collegato alla LAN di uno dei Centri ENEA. Dall'esterno collegarsi invece ad uno dei nodi di front-end di ENEAGRID (meglio se uno di Portici) elencati QUI, e poi ai front-end di CRESCO6.4. File system
I file system disponibili su CRESCO6 sono:5. Compilatori e librerie numeriche
Nella tabella seguente sono riportati i compilatori e le librerie numeriche presenti su CRESCO6.GNU (4.8.5) | GNU (7.3.0) |
Intel (17.0.4) | Intel (18.0.2) | PGI (11.10-0) | |
---|---|---|---|---|---|
PATH compilatori | /usr/bin | /opt/gcc730/bin | /opt/intel/bin/ | /opt/intel18/bin | /afs/enea.it/software/pgi_11.10/linux86-64/11.10/bin |
PATH Librerie numeriche |
BLAS/LAPACK/ATLAS /usr/lib /usr/lib64 /usr/lib/atlas-sse* /usr/lib64/atlas /usr/lib64/atlas-sse* |
BLAS/LAPACK/ATLAS /usr/lib /usr/lib64 /usr/lib/atlas-sse* /usr/lib64/atlas /usr/lib64/atlas-sse* |
Intel MKL /opt/intel/mkl/lib/intel64 |
Intel MKL /opt/intel18/mkl/lib/intel64 |
PGI per AMD/ACML e CUDA /afs/enea.it/software/pgi_11.10/linux86-64/11.10/lib /afs/enea.it/software/pgi_11.10/linux86-64/11.10/libso |
6. Uso di Modules.
Sul cluster CRESCO6 l'inizializzazione dell'ambiente per il singolo utente viene effettuata grazie al software Modules. Per i dettagli sull'implementazione, sulle scelte fatte e sull'uso del software è possibile consultare la relativa documentazione. Per listare l'elenco delle flavour disponili si potrà utilizzare il comando:7. Flavour MPI presenti.
Le flavour MPI presenti, distinte per compilatore, sono elencate nella seguente tabella:GNU (version 4.8.5/7.3.0) | Intel (version 17.0.4/18.0.2) | PGI (version 11.10-0) | |
---|---|---|---|
Mvapich | mvapich2.2.2_gcc_hfi | mvapich2.2.2_intel-hfi | mvapich2.2.2_pgi-hfi |
OpenMPI | openmpi_gcc-1.10.4-hfi
openmpi_gcc-3.1.1 openmpi_gcc730-3.1.1 |
openmpi_intel-1.10.4-hfi openmpi_intel-3.1.1 |
openmpi_pgi-1.10.4-hfi openmpi_pgi-3.1.1 |
Intel MPI | Nessuna Flavour | IntelMPI | Nessuna Flavour |
8. Vtune Profiler
Per i compilatori Intel, sia alla versione 17 che alla versione 18 si ha a disposizione lo strumento Vtune Amplifier. Per poter avviare l'applicazione si possono usare i comandi:9. Come sottomettere un job
Per la sottomissione di batch job sul cluster CRESCO6 valgono le regole generali indicate al paragrafo Batch Job/LSF.• OpenMPI (GCC, Intel, PGI)
#!/bin/sh exe=/afs/enea.it/por/user/raia/Hello_MPI # path of your MPI program HOSTFILE=$LSB_DJOB_HOSTFILE # name of hostfile for mpirun N_procs=`cat $LSB_DJOB_HOSTFILE | wc -l` # give to mpirun same number of slots mpirun --mca plm_rsh_agent "blaunch.sh" -n $N_procs --hostfile $HOSTFILE $exe |
• Mvapich (GCC, Intel, PGI)
#!/bin/sh exe=/afs/enea.it/por/user/raia/Hello_MPI # path of your MPI program HOSTFILE=$LSB_DJOB_HOSTFILE # name of hostfile for mpirun N_procs=`cat $LSB_DJOB_HOSTFILE | wc -l` # give to mpirun same number of slots mpirun_rsh -rsh -np $N_procs -hostfile $HOSTFILE $exe |
Intel MPI
#!/bin/sh exe=/afs/enea.it/por/user/raia/Hello_MPI # path of your MPI program N_procs=`cat $LSB_DJOB_HOSTFILE | wc -l` # number of slots host_numb=`echo "$N_procs/48" | bc` # number of hosts to involve export I_MPI_HYDRA_BRANCH_COUNT=$host_numb mpirun -bootstrap rsh $exe |
Esempi di sottomissione: