Changes between Version 8 and Version 9 of IntegrationOpenMP


Ignore:
Timestamp:
06/01/11 14:11:11 (13 years ago)
Author:
mmaipsl
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • IntegrationOpenMP

    v8 v9  
    3838Un nouveau point sera fait à la suite de cela. 
    3939 
    40 == intégration de OpenMP dans libIGCM == 
     40=== intégration de OpenMP dans libIGCM === 
    4141 
    4242Pour l'instant (30/05/2011), l'intégration de MPI/OpenMP n'a été réalisé que sur titane, et est en attente d'un tag libIGCM pour être 
     
    4545titane.ccc.cea.fr: /work/cont003/p86manci/LMDZ4_OR/libIGCM/ 
    4646 
    47  
    48 Une modification simple du config.card  
     47==== modification simple du config.card ====  
    4948{{{  
    5049[Executable] 
     
    5655}}} 
    5756permet dans cet exemple d'utiliser 8 processus MPI, chacun divisés en 4 tâches OpenMP. 
     57 
     58==== Comment binder (fixer) les processus ? ==== 
     59Sur titane, on utilise automatiquement les modules "openmp" : 
     60{{{ 
     61module load openmp/${max_omp}thds 
     62}}} 
     63en fonction du nombre maximum de tâches OpenMP demandées. 
     64 
     65Sur 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).  
    5868 
    5969=== Liste des tests recommandés pour valider le MPI/OpenMP === 
     
    6777   1. 8MPI + "0OMP" = 1 noeuds et 8prc 
    6878 
     79Les 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. 
     80En 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  
    6990=== Comment vérifier le bon fonctionnement de la parallélisation ? === 
    7091==== sous linux ==== 
     
    84105et éxécuter la commande top. 
    85106 
    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