====== 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 ===== * [[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]] module load hpc82 ou module load sunhpc ===== HPC Cluster Tools 6 ===== 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]] 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: * on utilise la version 32 bits de MPICH (pour la [[version 64 bits]]) 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 * 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: module load sunhpc petsc3.1_p8_hpc8 * 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: 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 [[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 ===== at -m now mprun -np * 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. Pour le lancer, taper simplement: totalview La documentation est ici:[[http://www.etnus.com/Documentation/|Etnus]]