Ignore:
Timestamp:
Oct 6, 2008, 11:20:44 AM (16 years ago)
Author:
Laurent Fairhead
Message:
  • Modifs sur le parallélisme: masquage dans la physique
  • Inclusion strato
  • mise en coherence etat0
  • le mode offline fonctionne maintenant en parallèle,
  • les fichiers de la dynamiques sont correctement sortis et peuvent etre reconstruit avec rebuild
  • la version parallèle de la dynamique peut s'exécuter sans MPI (sur 1 proc)
  • L'OPENMP fonctionne maintenant sans la parallélisation MPI.

YM
LF

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/trunk/makegcm_fcm

    r875 r1002  
    33# $Header$
    44#
    5 # FH : on ne crée plus le fichier arch.mk qui est supposé exister par
     5# FH : on ne cr�e plus le fichier arch.mk qui est suppos� exister par
    66# FH : ailleurs.
    7 # FH : ultérieurement, ce fichier sera pré-existant pour une série
    8 # FH : de configurations en versions optimisées et debug qui seront
    9 # FH : liés (ln -s) avec arch.mk en fonction de l'architecture.
    10 # FH : Pour le moment, cette version est en test et on peut créer les
    11 # FH : arch.mk en lançant une première fois makegcm7.
     7# FH : ult�rieurement, ce fichier sera pr�-existant pour une s�rie
     8# FH : de configurations en versions optimises et debug qui seront
     9# FH : lis (ln -s) avec arch.mk en fonction de l'architecture.
     10# FH : Pour le moment, cette version est en test et on peut crer les
     11# FH : arch.mk en lan�ant une premi�re fois makegcm7.
    1212#
    1313set verbose echo
     
    2424set veget=false
    2525set chimie=false
    26 set parallel=false
     26set parallel=none
     27set compil_mod=prod
    2728set io=ioipsl
    2829set LIBPREFIX=""
     
    4041set LIB=""
    4142set adjnt=""
    42 
     43set COMPIL_FFLAGS="%PROD_FFLAGS"
     44set PARA_FFLAGS=""
     45set PARA_LD=""
    4346
    4447########################################################################
     
    5457manuel complet sur http://...
    5558Usage :
    56 makegcm
    57 [-h]                   : manuel abrégé
    58 [-d [[IMx]JMx]LM]      : IM, JM, LM sont les dims en x, y, z (def: $dim)
    59 [-t NTRAC]             : nombre de traceurs (def: 4)
    60 [-p PHYS]              : compilation avec la physique libf/phyPHYS, (def: lmd)
    61 [-debug]               : compile avec options debug.
    62 [-c false/MPI1/MPI2]   : couplé océan : MPI1/MPI2/false (def: false)
    63 [-v false/true]        : avec ou sans végétation (def: false)
    64 [-chimie SCHEMA/false] : nom du schéma chimique ou false (def)
    65 [-parallel true/false] : parallelisation, en développement (def: false)
    66 [-g GRI]               : conf. grille dans dyn3d/GRI_xy.h\
    67                          (def: reg inclue un zoom)
    68 [-io IO]               : choix d'une librairie I/O, experts (def: ioipsl)
    69 [-include INCLUDES]    : variables supplementaires pour include cpp, experts.
    70 [-adjnt]               : adjoint, a remettre en route ...
    71 [-filtre NOMFILTRE]    : prend le filtre dans libf/NOMFILTRE (def: filtrez)
    72 [-link LINKS]          : liens optionels avec d'autres librairies
    73 [-m arch]              : nom de l'architecture cible
     59makegcm [options] -m arch exec
     60[-h]                       : manuel abrégé
     61[-d [[IMx]JMx]LM]          : IM, JM, LM sont les dims en x, y, z (def: $dim)
     62[-t NTRAC]                 : nombre de traceurs (def: 4)
     63[-p PHYS]                  : compilation avec la physique libf/phyPHYS, (def: lmd)
     64[-prod / -dev / -debug]    : compilation en mode production (default) / developpement / debug .
     65[-c false/MPI1/MPI2]       : couplé océan : MPI1/MPI2/false (def: false)
     66[-v false/true]            : avec ou sans végétation (def: false)
     67[-chimie SCHEMA/false]     : nom du schéma chimique ou false (def)
     68[-parallel none/mpi/omp/mpi_omp] : parallelisation (default: none) : mpi, openmp ou mixte mpi_openmp
     69[-g GRI]                   : conf. grille dans dyn3d/GRI_xy.h  (def: reg inclue un zoom)
     70[-io IO]                   : choix d'une librairie I/O, experts (def: ioipsl)
     71[-include INCLUDES]        : variables supplementaires pour include cpp, experts.
     72[-adjnt]                   : adjoint, a remettre en route ...
     73[-filtre NOMFILTRE]        : prend le filtre dans libf/NOMFILTRE (def: filtrez)
     74[-link LINKS]              : liens optionels avec d'autres librairies
     75 -m arch                   : nom de l'architecture cible
     76 exec                      : exécutable généré
    7477fin
    7578        exit
     
    9194        set couple="$2" ; shift ; shift ; goto top
    9295
     96     case -prod
     97        set compil_mod="prod" ; shift ; goto top
     98
     99     case -dev
     100       set compil_mod="dev" ; shift ; goto top
     101
     102     case -debug
     103       set compil_mod="debug" ; shift ; goto top
     104
    93105     case -io
    94106        set io="$2" ; shift ; shift ; goto top
     
    123135     case -m
    124136       set arch=$2 ; shift ; shift ; goto top
    125        
    126      case -debug
    127         echo 'option a reactiver' ; exit
    128137
    129138     default
     
    135144
    136145###############################################################
    137 # lecture des chemins propres à l'architecture  de la machine #
     146# lecture des chemins propres l'architecture  de la machine #
    138147###############################################################
    139148
     
    147156########################################################################
    148157
     158if ( "$compil_mod" == 'prod' ) then
     159  set COMPIL_FFLAGS="%PROD_FFLAGS"
     160else if ( "$compil_mod" == 'dev' ) then
     161  set COMPIL_FFLAGS="%DEV_FFLAGS"
     162else if ( "$compil_mod" == 'debug' ) then
     163  set COMPIL_FFLAGS="%DEBUG_FFLAGS"
     164endif
    149165
    150166if ( "$physique" == 'nophys' ) then
     
    187203endif
    188204
    189 if ( "$parallel" == 'true' ) then
    190    set CPP_KEY="$CPP_KEY CPP_PARA"
     205if ( "$parallel" == 'mpi' ) then
     206   set CPP_KEY="$CPP_KEY CPP_PARA CPP_MPI"
     207   set PARA_FFLAGS="%MPI_FFLAGS"
     208   set PARA_LD="%MPI_LD"
     209else if ("$parallel" == 'omp' ) then
     210   set CPP_KEY="$CPP_KEY CPP_PARA CPP_OMP"
     211   set PARA_FFLAGS="%OMP_FFLAGS"
     212   set PARA_LD="%OMP_LD"
     213else if ("$parallel" == 'mpi_omp' ) then
     214   set CPP_KEY="$CPP_KEY CPP_PARA CPP_MPI CPP_OMP"
     215   set PARA_FFLAGS="%MPI_FFLAGS %OMP_FFLAGS"
     216   set PARA_LD="%MPI_LD %OMP_LD"
    191217endif
    192218
     
    311337set SUFF_NAME=${SUFF_NAME}_t${ntrac}_phy${physique}
    312338
    313 if ( "$parallel" == 'true' ) then
     339if ( "$parallel" != 'none' ) then
    314340  set SUFF_NAME=${SUFF_NAME}_para
    315341  set DYN=dyn${dimc}dpar
     
    349375echo "%EXEC          $code"          >> $config_fcm
    350376echo "%SUFF_NAME     $SUFF_NAME"     >> $config_fcm
     377echo "%COMPIL_FFLAGS $COMPIL_FFLAGS" >> $config_fcm
     378echo "%PARA_FFLAGS   $PARA_FFLAGS"   >> $config_fcm
     379echo "%PARA_LD       $PARA_LD"       >> $config_fcm
     380
     381
    351382
    352383ln -s machine/arch-${arch}.fcm arch.fcm
     384rm -f $LIBOGCM/${arch}${SUFF_NAME}/.config/fcm.bld.lock
    353385./build_gcm
    354386
Note: See TracChangeset for help on using the changeset viewer.