Changes between Version 32 and Version 33 of IntegrationOpenMP


Ignore:
Timestamp:
02/22/12 10:50:06 (13 years ago)
Author:
mafoipsl
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • IntegrationOpenMP

    v32 v33  
    99 
    1010== Evolution du travail == 
     11 
     12=== Réunion "cahier des charges" le 7/10/2010 au LSCE === 
     13 
     14Présents : Anne, Olivier, Yann, Martial, Arnaud 
     15 
     16Une discussion autour des premiers développements de Martial a abouti aux conclusions  suivantes : 
     17 
     18 * On part sur l'idée d'avoir des informations dans le config.card relatives au nombre de process MPI et tâches openMP pour chaque exécutable.  
     19Ce config.card est donc propre à une configuration et à une machine par défaut, ce qui signifie qu'une configuration particulière tournera "sans rien changer" sur une seule machine. Pour adapter ce config.card en vue  de tourner sur une machine différente de la machine par défaut, il faudra modifier à la main le config.card grâce à de l'information disponible soit sur une page wiki soit dans chacune des configurations (mais un peu lourd à entretenir !). 
     20 
     21 * L'utilisation de ces informations se fera ensuite en deux étapes grâce à des fonctions/scripts (définies dans libIGCM_sys/libIGCM_sys_mercurex9.ksh par exemple) : 
     22  * lecture dans le Job de soumission(au niveau du IGCM_config_Initialize) des informations contenues dans le config.card. 
     23  * le lancement du modèle lui-même : on remplace la ligne de commande actuelle ${MPIRUN_COMMAND} ${MPIRUN_OPTIONS} ./${config_Executable_Name} >> ${Exe_Output} 2>&1 par le lancement d'un script, dans lequel seront utilisées les infos recoltées dans le config.card 
     24   * sera lancé le modèle de la facon appropriée (./gcm.e, ./orchidee_ol, mpirun -f config_file, mpiexec...) 
     25 
     26Le script sera construit dans la couche système de la machine et testera le type de configuration à lancer. En particulier, il détectera une configuration couplée 
     27à partir de l'existence de la composante CPL. 
     28 
     29ins_job de modipsl sera modifié à terme pour supprimer l'utilisation de !JobNumProcTot et utiliser à la place les paramètres MPI/OMP/NOD de lancement par éxécutable dans le config.card. 
     30Cela signifie que ins_job utilisera la procédure de lecture de ces paramètres dans libIGCM.  
     31 
     32Cette première approche va etre développée/completée/affinée/testée sur un cas concret par Martial, Arnaud et Anne. Ce cas concret est le suivant : 
     33 * une machine : mercure SX9 
     34 * seulement MPI  
     35 * trois configurations tests : IPSLCM5A, LMDZINCA, ORCHIDEE_OL 
     36 
     37Un nouveau point sera fait à la suite de cela. 
     38 
     39=== intégration de OpenMP dans libIGCM === 
     40 
     41Pour 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 
     42placée sur une branche libIGCM_AllPara. Les tests sont fait à partir de la config LMDZ4OR_v3 et continuerons avec IPSLCM5A. [[BR]] 
     43Cette première version est accessible sur le chemin : [[BR]]  
     44titane.ccc.cea.fr: /work/cont003/p86manci/LMDZ4_OR/libIGCM/ 
    1145 
    1246=== 12/8/2011 === 
     
    1953    *      COMP/oasis.driver (namcouple et plus de création de runfile là) 
    2054    *      COMP/lmdz.card 
    21  
    22 Voir wiki:IntegrationOpenMP/EnteteCommandesVargas 
    23  
    24 === Réunion "cahier des charges" le 7/10/2010 au LSCE === 
    25  
    26 Présents : Anne, Olivier, Yann, Martial, Arnaud 
    27  
    28 Une discussion autour des premiers développements de Martial a abouti aux conclusions  suivantes : 
    29  
    30  * On part sur l'idée d'avoir des informations dans le config.card relatives au nombre de process MPI et tâches openMP pour chaque exécutable.  
    31 Ce config.card est donc propre à une configuration et à une machine par défaut, ce qui signifie qu'une configuration particulière tournera "sans rien changer" sur une seule machine. Pour adapter ce config.card en vue  de tourner sur une machine différente de la machine par défaut, il faudra modifier à la main le config.card grâce à de l'information disponible soit sur une page wiki soit dans chacune des configurations (mais un peu lourd à entretenir !). 
    32  
    33  * L'utilisation de ces informations se fera ensuite en deux étapes grâce à des fonctions/scripts (définies dans libIGCM_sys/libIGCM_sys_mercurex9.ksh par exemple) : 
    34   * lecture dans le Job de soumission(au niveau du IGCM_config_Initialize) des informations contenues dans le config.card. 
    35   * le lancement du modèle lui-même : on remplace la ligne de commande actuelle ${MPIRUN_COMMAND} ${MPIRUN_OPTIONS} ./${config_Executable_Name} >> ${Exe_Output} 2>&1 par le lancement d'un script, dans lequel seront utilisées les infos recoltées dans le config.card 
    36    * sera lancé le modèle de la facon appropriée (./gcm.e, ./orchidee_ol, mpirun -f config_file, mpiexec...) 
    37  
    38 Le script sera construit dans la couche système de la machine et testera le type de configuration à lancer. En particulier, il détectera une configuration couplée 
    39 à partir de l'existence de la composante CPL. 
    40  
    41 ins_job de modipsl sera modifié à terme pour supprimer l'utilisation de !JobNumProcTot et utiliser à la place les paramètres MPI/OMP/NOD de lancement par éxécutable dans le config.card. 
    42 Cela signifie que ins_job utilisera la procédure de lecture de ces paramètres dans libIGCM.  
    43  
    44 Cette première approche va etre développée/completée/affinée/testée sur un cas concret par Martial, Arnaud et Anne. Ce cas concret est le suivant : 
    45  * une machine : mercure SX9 
    46  * seulement MPI  
    47  * trois configurations tests : IPSLCM5A, LMDZINCA, ORCHIDEE_OL 
    48  
    49 Un nouveau point sera fait à la suite de cela. 
    50  
    51 === intégration de OpenMP dans libIGCM === 
    52  
    53 Pour 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 
    54 placée sur une branche libIGCM_AllPara. Les tests sont fait à partir de la config LMDZ4OR_v3 et continuerons avec IPSLCM5A. [[BR]] 
    55 Cette première version est accessible sur le chemin : [[BR]]  
    56 titane.ccc.cea.fr: /work/cont003/p86manci/LMDZ4_OR/libIGCM/ 
    5755 
    5856==== modification simple du config.card ====  
     
    7169 * Entêtes et commandes SX9 : [wiki:IntegrationOpenMP/EnteteCommandesSX] 
    7270 * Entêtes et commandes vargas : [wiki:IntegrationOpenMP/EnteteCommandesVargas] 
     71 * Entêtes et commandes titane : [wiki:IntegrationOpenMP/EnteteCommandesTitane] 
    7372 
    7473==== Comment binder (fixer) les processus ? ====