Ignore:
Timestamp:
10/16/14 18:56:10 (10 years ago)
Author:
aclsce
Message:
  • Added functionality to run coupled configuration with hybrid parallelisation (MPI + OpenMP) on ada supercomputer
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libIGCM/libIGCM_sys/libIGCM_sys_ada.ksh

    r1091 r1092  
    20372037          (( mpi_count = 1 )) 
    20382038          until [ ${mpi_count} -gt ${comp_proc_mpi_loc} ] ; do 
    2039             echo "./${ExeNameOut}" >> run_file 
    2040             (( mpi_count = mpi_count + 1 )) 
     2039              if ( ${OK_PARA_OMP} ) ; then 
     2040                  # Check if the number of threads is correct 
     2041                      case ${comp_proc_omp_loc} in 
     2042                          1|2) 
     2043                              IGCM_debug_Print 1 "You run ${ExeNameOut} on ${comp_proc_omp_loc} OMP threads" 
     2044                              ;; 
     2045                          4|8|16) 
     2046                              IGCM_debug_Exit "ERROR with OMP parameters !" 
     2047                              IGCM_debug_Print 2 "Beware : ${comp_proc_omp_loc} is too much for MPMD mode" 
     2048                              IGCM_debug_Print 2 "You will use more CPU than needed" 
     2049                              IGCM_debug_Verif_Exit 
     2050                              ;; 
     2051                          *)  
     2052                              IGCM_debug_Exit "ERROR with OMP parameters !" 
     2053                              IGCM_debug_Print 2 "${comp_proc_omp_loc} is not possible as number of OMP threads" 
     2054                              IGCM_debug_Print 2 "Only 2,4,8,16 as number of OMP threads are possible " 
     2055                              IGCM_debug_Verif_Exit 
     2056                              ;; 
     2057                      esac 
     2058                  echo "env OMP_NUM_THREADS=$comp_proc_omp_loc ./${ExeNameOut}" >> run_file  
     2059              else 
     2060                  echo "./${ExeNameOut}" >> run_file 
     2061              fi 
     2062              (( mpi_count = mpi_count + 1 )) 
    20412063          done 
    20422064        else 
    20432065            echo "./${ExeNameOut} " >> run_file 
    20442066        fi 
     2067        if ( ${OK_PARA_OMP} ) ; then 
     2068            export KMP_STACKSIZE=200m 
     2069        fi 
    20452070      fi 
    20462071    done 
Note: See TracChangeset for help on using the changeset viewer.