| 57 | |
| 58 | ==== Comment binder (fixer) les processus ? ==== |
| 59 | Sur titane, on utilise automatiquement les modules "openmp" : |
| 60 | {{{ |
| 61 | module load openmp/${max_omp}thds |
| 62 | }}} |
| 63 | en fonction du nombre maximum de tâches OpenMP demandées. |
| 64 | |
| 65 | Sur un PC linux, il est possible de "binder" un processus à un coeur physique avec : |
| 66 | 1. taskset -c 0 -p PID (voir ~/PROG/COURS/OpenMP/taskset) |
| 67 | 1. On peut aussi utiliser la bibliothèque numactl qui permet un déploiment très précis des tâches en fonction des architectures (pour les experts). |
| 79 | Les fichiers de Bands établi avec le mécanisme de 3 mois standard dans la configuration LMDZ4OR_v3 varient en fonction du nombre de processus MPI ET OpenMP. |
| 80 | En attachement, on trouvera des exemples de fichier de bands pour les tests décris dans le paragraphe précédent : |
| 81 | 1. compilation avec OpenMP |
| 82 | 1. 8MPI + 1OMP = 1 noeud et 8processeurs [attachment:"OpenMP.pdf"] |
| 83 | 1. 2MPI + 4OMP = 1 noeud et 8prc [attachment:"OpenMP.pdf"] |
| 84 | 1. 8MPI + 4OMP = 4 noeuds et 32prc [attachment:"OpenMP.pdf"] |
| 85 | 1. |
| 86 | 1. compilation sans OpenMP |
| 87 | 1. 8MPI + "0OMP" = 1 noeuds et 8prc [attachment:"OpenMP.pdf"] |
| 88 | |
| 89 | |
86 | | === Comment binder (fixer) les processus ? === |
87 | | Sur titane, on utilise automatiquement les modules "openmp" : |
88 | | {{{ |
89 | | module load openmp/${max_omp}thds |
90 | | }}} |
91 | | en fonction du nombre maximum de tâches OpenMP demandées. |
92 | | |
93 | | Sur un PC linux, il est possible de "binder" un processus à un coeur physique avec : |
94 | | 1. taskset -c 0 -p PID (voir ~/PROG/COURS/OpenMP/taskset) |
95 | | 1. On peut aussi utiliser la bibliothèque numactl qui permet un déploiment très précis des tâches en fonction des architectures (pour les experts). |
96 | | |