mpi

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
mpi [2007/08/17 18:09] – créée gerardmpi [2017/08/25 09:56] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +====== Utilisation de MPI ======
 +connaître l'environnmeent (sur octopus):
 +<code>
 +module avail mpi
 +
 +-------------------- /local/apps/Modules/3.2.6/modulefiles ---------------------
 +mpi/openmpi144 mpi/sunhpc8    mpi/sunhpc82   mpi/sunhpc821c
 +
 +</code>
 +
 +====== Différentes versions ======
 +
 +
 +===== OpenMPI =====
 +  * [[http://www.open-mpi.org]]
 +  * [[openmpi_compilation|compilation]]
 +
 +===== HPC Cluster Tools 8 (OpenMPI) =====
 +juin 09 ''Sun HPC ClusterTools 8.2 is based on the Open MPI 1.3.3 release.''
 +  * [[http://docs.sun.com/app/docs/prod/hpc.cluster82?l=en&a=view|doc]]
 +<code>
 +module load hpc82
 +</code>
 +ou
 +<code>
 +module load sunhpc
 +</code>
 +
 +
 +
 +
 +===== HPC Cluster Tools 6 =====
  
-HPC Cluster Tools 6 
  
 mars 06 mars 06
  
-http://www.sun.com/products-n-solutions/hardware/docs/pdf/819-4133-10.pdf  Sun MPI 7.0 Software Programming and Reference Guide+[[http://www.sun.com/products-n-solutions/hardware/docs/pdf/819-4133-10.pdf|Sun MPI 7.0 Software Programming and Reference Guide]]   
 + 
 + 
 +ajouter /opt/SUNWhpc/bin dans le PATH (ou utiliser plutôt la commande module)  
 +<code> 
 +module load hpc 
 +</code> 
 + 
 +===== 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 
 + 
 +<code> 
 +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. 
 + 
 +</code> 
 + 
 +Remarque: 
 +  * on utilise la version 32 bits de MPICH (pour la [[version 64 bits]]) 
 +<code> 
 +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 
 +</code> 
 + 
 +  * la configuration de MPICH est dans le fichier /usr/local/mpich-1.2.6/share/machines.solaris86 
 + 
 + 
 +====== Tests PETSC ====== 
 +===== petsc-3.1-p8 ===== 
 +sur octopus, faire: 
 +<code> 
 +module load sunhpc petsc3.1_p8_hpc8 
 +</code> 
 +  * récupérer l'{{:petsc:petsc3.1_example.tar|exemple}} (fourni par Yann Jobic de l'IUSTI) 
 +  * puis lancer la compilation et l'exécution: 
 +<code> 
 +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 
 +</code> 
 + 
 +===== petsc-2.3.0 ===== 
 + 
 +<code> 
 +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 
 +VecAXPY 0 
 +VecAYPX 0 
 +VecSwap 
 +VecSwap 
 +VecWAXPY 0 
 +VecPointwiseMult 0 
 +VecPointwiseDivide 0 
 +VecMAXPY 0 0 0  
 + 
 +</code> 
 + 
 + 
 + 
 + 
 +====== 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 [[http://www.sun.com/software/products/clustertools/ct7.html|HPC7.0]] 
 + 
 +Lorsqu'on utilise ces produits, on peut trouver de la documentation et du support communautaire: 
 +  * [[http://mailman.rwth-aachen.de/mailman/listinfo/sunhpc|SunHPC mailing list]] 
 +  * [[http://www.sun.com/products-n-solutions/hardware/docs/Software/Sun_HPC_ClusterTools_Software|Documentation]] 
 +  * [[http://www.sun.com/secure/software/clustertools/forms/index.xml|Technical Support]] 
 + 
 + 
 + 
 +===== mode batch ===== 
 + 
 +<code> 
 +         at -m now 
 +         mprun -np <nb-proc> <executable> <parametre executable> 
 +</code> 
 +  * on fait : "mpps -Ae" pour vérifier que le job est bien parti 
 + 
 +===== 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.
  
-ajouter /opt/SUNWhpc/bin dans le PATH+Pour le lancer, taper simplement: totalview
  
-http://www.latp.univ-mrs.fr/vfcc/doku.php?id=execution_des_programmes  Utilisation+La documentation est ici:[[http://www.etnus.com/Documentation/|Etnus]]
  • mpi.1187366951.txt.gz
  • Dernière modification : 2017/08/25 09:55
  • (modification externe)