Changeset 152


Ignore:
Timestamp:
05/13/13 14:33:09 (11 years ago)
Author:
ymipsl
Message:

Mixte parallelism MPI/OpenMP compilation

YM

Location:
codes/icosagcm/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • codes/icosagcm/trunk/arch/arch-X64_CURIE.fcm

    r143 r152  
    44%AR                  ar 
    55%MAKE                gmake 
    6 %FPP_FLAGS           -P -traditional 
     6%FPP_FLAGS           -P 
    77%FPP_DEF             KEY_NONE 
    88%BASE_FFLAGS         -i4 -r8 -auto -align all -I${MKLROOT}/include 
    9 %PROD_FFLAGS         -O3 -mavx -vec-report2 
    10 %DEV_FFLAGS          -p -g -O3 -traceback -fp-stack-check -ftrapuv 
    11 %DEBUG_FFLAGS        -p -g -traceback -check bounds 
     9%PROD_FFLAGS         -g -traceback -O3 -vec-report2 
     10%DEV_FFLAGS          -g -O1 -traceback 
     11%DEBUG_FFLAGS        -g -traceback -check bounds -fp-model strict 
    1212%MPI_FFLAGS 
    1313%OMP_FFLAGS          -openmp 
  • codes/icosagcm/trunk/arch/arch-X64_CURIE.path

    r143 r152  
    11NETCDF_INCDIR="-I $NETCDF_INC_DIR" 
    2 NETCDF_LIBDIR="-L $NETCDF_LIB_DIR" 
     2NETCDF_LIBDIR="-Wl,-rpath=$NETCDF_LIB_DIR -L$NETCDF_LIB_DIR" 
    33NETCDF_LIB="-lnetcdff -lnetcdf" 
    44 
     
    88 
    99HDF5_INCDIR="-I $HDF5_INC_DIR" 
    10 HDF5_LIBDIR="-L $HDF5_LIB_DIR" 
     10HDF5_LIBDIR="-Wl,-rpath=$HDF5_LIB_DIR -L$HDF5_LIB_DIR" 
    1111HDF5_LIB="-lhdf5_hl -lhdf5 -lhdf5 -lz -lcurl" 
  • codes/icosagcm/trunk/arch/arch-X64_CURIE_VAMPIR.fcm

    r143 r152  
    1 %COMPILER            vtf90 -vt:f90 mpif90 -vt:inst manual -DVTRACE 
    2 %LINK                vtf90 -vt:f90 mpif90 -vt:inst manual -DVTRACE  
    3 %FPP                 vtf90 -vt:f90 mpif90 -E -vt:inst manual -DVTRACE 
     1#%COMPILER            vtf90 -vt:f90 "mpif90 -openmp -openmp-threadprivate compat" -vt:inst manual -DVTRACE 
     2#%LINK                vtf90 -vt:f90 "mpif90 -openmp -openmp-threadprivate compat" -vt:inst manual -DVTRACE  
     3#%FPP                 vtf90 -vt:f90 "mpif90 -E" -vt:inst manual -DVTRACE 
     4#%COMPILER            vtf90 -vt:f90 "mpif90 " -vt:inst manual -DVTRACE 
     5#%LINK                vtf90 -vt:f90 "mpif90" -vt:inst manual -DVTRACE  
     6#%FPP                 vtf90 -vt:f90 "mpif90 -E" -vt:inst manual -DVTRACE 
     7%COMPILER           ifort 
     8%LINK               ifort  
     9%FPP                ifort -E 
    410%AR                  ar 
    511%MAKE                gmake 
    612%FPP_FLAGS           -P 
    7 %FPP_DEF             KEY_NONE VTRACE 
     13#%FPP_DEF             KEY_NONE VTRACE 
     14%FPP_DEF             KEY_NONE  
    815%BASE_FFLAGS         -i4 -r8 -auto -align all -I${MKLROOT}/include 
    9 %PROD_FFLAGS         -O3 -mavx -vec-report2 
    10 %DEV_FFLAGS          -p -g -O3 -traceback -fp-stack-check -ftrapuv 
    11 %DEBUG_FFLAGS        -p -g -traceback -check bounds 
     16%PROD_FFLAGS         -O5 -mavx -vec-report2 
     17%DEV_FFLAGS          -g -O3 -traceback -fp-stack-check -ftrapuv 
     18%DEBUG_FFLAGS        -g  -fp-model strict -traceback -check bounds 
    1219%MPI_FFLAGS 
    1320%OMP_FFLAGS          -openmp 
  • codes/icosagcm/trunk/bld.cfg

    r150 r152  
    1212 
    1313%FFLAGS           %BASE_FFLAGS %COMPIL_FFLAGS 
    14 %LD_FLAGS         %BASE_LD 
    1514 
    1615#dest   $PWD 
     
    2928bld::tool::fflags    %FFLAGS  
    3029bld::tool::fppkeys   %CPP_KEY %FPP_DEF 
    31 #bld::tool::fpp       %FPP 
     30bld::tool::fpp       %FPP 
     31bld::tool::fppflags  %FPP_FLAGS 
    3232 
    3333# Pre-process code before analysing dependencies 
  • codes/icosagcm/trunk/build

    r12 r152  
    22 
    33export PATH=$PWD/../tools/FCM/bin:$PATH 
    4 fcm build $* 
     4fcm build  $* 
  • codes/icosagcm/trunk/make_icosa

    r103 r152  
    7777fi 
    7878 
     79LD_FLAGS="%BASE_LD" 
     80 
    7981if [[ "$compil_mode" == "prod" ]] 
    8082then 
     
    9193then 
    9294  CPP_KEY="$CPP_KEY CPP_USING_MPI" 
     95elif [[ "$parallel" == "omp" ]] 
     96then 
     97  CPP_KEY="$CPP_KEY CPP_USING_OMP" 
     98  COMPIL_FFLAGS="$COMPIL_FFLAGS %OMP_FFLAGS" 
     99  LD_FLAGS="$LD_FLAGS %OMP_LD" 
     100elif [[ "$parallel" == "mpi_omp" ]] 
     101then 
     102  CPP_KEY="$CPP_KEY CPP_USING_MPI CPP_USING_OMP" 
     103  LD_FLAGS="$LD_FLAGS %OMP_LD" 
    93104elif [[ "$parallel" == "none" ]] 
    94105then 
    95106  parallel="none" 
    96107else  
    97   echo "-parallel value $parallel is invalid, only permited <none> or <mpi>" 
     108  echo "-parallel value $parallel is invalid, only permited <none>, <mpi>, <omp> or <mpi_omp>" 
    98109  exit 1 
    99110fi 
    100111 
    101 ICOSA_LIB="$NETCDF_LIBDIR $HDF5_LIBDIR $NETCDF_LIB $HDF5_LIB" 
     112ICOSA_LIB="$NETCDF_LIBDIR $NETCDF_LIB $HDF5_LIBDIR $HDF5_LIB" 
    102113 
    103114rm -f config.fcm 
    104115 
    105116echo "%COMPIL_FFLAGS $COMPIL_FFLAGS $NETCDF_INCDIR" >> config.fcm 
     117echo "%LD_FLAGS $LD_FLAGS" >> config.fcm 
    106118echo "%CPP_KEY $CPP_KEY" >> config.fcm 
    107119echo "%LIB $ICOSA_LIB">> config.fcm 
Note: See TracChangeset for help on using the changeset viewer.