Table des matières

Utilisation de MPI

connaître l'environnmeent (sur octopus):

module avail mpi

-------------------- /local/apps/Modules/3.2.6/modulefiles ---------------------
mpi/openmpi144 mpi/sunhpc8    mpi/sunhpc82   mpi/sunhpc821c

Différentes versions

OpenMPI

HPC Cluster Tools 8 (OpenMPI)

juin 09 Sun HPC ClusterTools 8.2 is based on the Open MPI 1.3.3 release.

module load hpc82

ou

module load sunhpc

HPC Cluster Tools 6

mars 06

Sun MPI 7.0 Software Programming and Reference Guide

ajouter /opt/SUNWhpc/bin dans le PATH (ou utiliser plutôt la commande module)

module load hpc

MPICH

sur nemo, slatp, shrek 1.2.6, 1.2.7p1, 1.2.7.p1 32bits et 64 bits

http://www-unix.mcs.anl.gov/mpi/mpich/

/usr/local/mpich-1.2.6

/usr/local/mpich-1.2.6-new

/usr/local/mpich-1.2.7p1

Tests MPI

avec MPICH 1.2.6 installé dans /usr/local. Penser à mettre à jour le PATH

nemo-henry% setenv PATH /usr/local/mpich-1.2.6/bin:${PATH}

nemo-henry% pwd
/local/henry/tests/MPI/mpi1_tp/tp6/solution
nemo-henry% make
mpirun -np 8 ./CommSplit
Rang :  0 ; Coordonnees : (0,0) ; W = 1.
Rang :  3 ; Coordonnees : (1,1) ; W = 2.
Rang :  1 ; Coordonnees : (0,1) ; W = 1.
Rang :  4 ; Coordonnees : (2,0) ; W = 3.
Rang :  2 ; Coordonnees : (1,0) ; W = 2.
Rang :  6 ; Coordonnees : (3,0) ; W = 4.
Rang :  5 ; Coordonnees : (2,1) ; W = 3.
Rang :  7 ; Coordonnees : (3,1) ; W = 4.

Remarque:

nemo-henry% file /local/henry/tests/MPI/mpi1_tp/tp6/solution/CommSplit
/local/henry/tests/MPI/mpi1_tp/tp6/solution/CommSplit:  ELF 32-bit LSB executable 80386 Version 1 [FPU], dynamically linked, not stripped

Tests PETSC

petsc-3.1-p8

sur octopus, faire:

module load sunhpc petsc3.1_p8_hpc8
make -f Makefile_petsc3.1 solv_ksp
mpirun -np 2 ./solv_ksp -mat_type mpiaij -pc_type lu -pc_factor_mat_solver_package mumps -nx 1000 -ny 1000 -debug 0

petsc-2.3.0

nemo-henry% setenv PATH /opt/SUNWspro/bin:${PATH}                               
nemo-henry% pwd
/local/henry/tests/petsc/test
nemo-henry% cc -KPIC -g -xtarget=opteron -o ex1 ex1.c \
  -R/usr/local/mpich-1.2.6/lib \
  -L/usr/local/mpich-1.2.6/lib \
  -I/usr/local/mpich-1.2.6/include \
  -lmpich \
  -R/local/henry/petsc-2.3.0-debug/lib/solaris-amd64-32 \
  -L/local/henry/petsc-2.3.0-debug/lib/solaris-amd64-32 \
  -I/local/henry/petsc-2.3.0-debug/include \
  -I/local/henry/petsc-2.3.0-debug/bmake/solaris-amd64-32 \
  -lpetscvec -lpetsc \
  -xlic_lib=sunperf

nemo-henry% mpirun -np 4 ex1
Vector length 20
Vector length 20 40 60
All other values should be near zero
VecScale 0
VecCopy  0
VecAXPY 0
VecAYPX 0
VecSwap  0
VecSwap  0
VecWAXPY 0
VecPointwiseMult 0
VecPointwiseDivide 0
VecMAXPY 0 0 0 

Utilisation de (Sun) MPI (HPC6.0)

Aide

Sun HPC est une implémentation de MPI 1 et 2 par Sun. Il semble aujourd'hui que Sun se rallie à OpenMPI, en fournissant HPC7.0

Lorsqu'on utilise ces produits, on peut trouver de la documentation et du support communautaire:

mode batch

         at -m now
         mprun -np <nb-proc> <executable> <parametre executable>

Commandes utiles pour lancer des jobs

Commande Action
mpps -Ae Liste les process parallèles de toutes les machines parallèles
mpps -Aep Liste les process parallèles de toutes les machines parallèles, mais avec le nom des noeuds utilisés
mpkill cre.xxxx A faire sur le serveur HPC où tourne le job : arrête le programme
mpkill -KILL cre.xxxx id.
mpkill -C jobid Uniquement root peut faire cette commande.

Debugger TotalView

Installé sur nemo, c'est une version beta, expire le 25 juin 06.

Pour le lancer, taper simplement: totalview

La documentation est ici:Etnus