Ignore:
Timestamp:
Dec 10, 2010 8:08:13 AM (13 years ago)
Author:
raasch
Message:

New:
---

Optional barriers included in order to speed up collective operations
MPI_ALLTOALL and MPI_ALLREDUCE. This feature is controlled with new initial
parameter collective_wait. Default is .FALSE, but .TRUE. on SGI-type
systems. (advec_particles, advec_s_bc, buoyancy, check_for_restart,
cpu_statistics, data_output_2d, data_output_ptseries, flow_statistics,
global_min_max, inflow_turbulence, init_3d_model, init_particles, init_pegrid,
init_slope, parin, pres, poismg, set_particle_attributes, timestep,
read_var_list, user_statistics, write_compressed, write_var_list)

Adjustments for Kyushu Univ. (lcrte, ibmku). Concerning hybrid
(MPI/openMP) runs, the number of openMP threads per MPI tasks can now
be given as an argument to mrun-option -O. (mbuild, mrun, subjob)

Changed:


Initialization of the module command changed for SGI-ICE/lcsgi (mbuild, subjob)

Errors:


File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SCRIPTS/mrun

    r592 r622  
    210210     # 17/08/10 - BjornM - adjustments for interactive runs on lcxt4
    211211     # 07/09/10 - Siggi  - bugfix for wrong netcdf/3.6.3 module on lcsgi
     212     # 08/12/10 - Siggi  - new handling of openmp/hybrid runs, option -O
     213     #                     has now argument threads_per_task
     214     #                     adjustments for Kyushu Univ. (lcrte, ibmku)
    212215
    213216
     
    290293 read_from_config=""
    291294 restart_run=false
    292  return_addres=$(nslookup `hostname` 2>&1 | grep "Address:" | tail -1 | awk '{print $2}')
    293  if [[ $return_addres = 130.75.105.158 ]]
    294  then
    295     return_addres=172.20.25.41
    296     echo "+++ WARNING: return_addres changed to $return_addres !!!!!"
     295 if [[ `hostname` = rte10 ]]
     296 then
     297   return_addres=133.5.185.60
     298   echo "+++ WARNING: return_addres changed to $return_addres !!!!!"
     299 else
     300    return_addres=$(nslookup `hostname` 2>&1 | grep "Address:" | tail -1 | awk '{print $2}')
    297301 fi
    298302 return_password=""
     
    450454    # SHELLSCRIPT-OPTIONEN EINLESEN UND KOMMANDO NEU ZUSAMMENSETZEN, FALLS ES
    451455    # FUER FOLGEJOBS BENOETIGT WIRD
    452  while  getopts  :a:AbBc:Cd:D:Fg:G:h:H:i:IkK:m:M:n:o:Op:P:q:r:R:s:St:T:u:U:vxX:yY: option
     456 while  getopts  :a:AbBc:Cd:D:Fg:G:h:H:i:IkK:m:M:n:o:O:p:P:q:r:R:s:St:T:u:U:vxX:yY: option
    453457 do
    454458   case  $option  in
     
    474478       (n)   node_usage=$OPTARG; mc="$mc -n$OPTARG";;
    475479       (o)   output_list=$OPTARG; mc="$mc -o'$OPTARG'";;
    476        (O)   use_openmp=true; mc="$mc -O";;
     480       (O)   use_openmp=true; threads_per_task=$OPTARG; mc="$mc -O$OPTARG";;
    477481       (p)   package_list=$OPTARG; mc="$mc -p'$OPTARG'";;
    478482       (P)   return_password=$OPTARG; mc="$mc -P$OPTARG";;
     
    658662    do_remote=true
    659663    case  $host  in
    660         (ibm|ibmb|ibmh|ibms|ibmy|nech|necriam|lckyoto|lcsgib|lcsgih|lctit|unics|lcxt4|lcxt5m|lck)  true;;
     664        (ibm|ibmh|ibmku|ibms|ibmy|nech|necriam|lckyoto|lcsgib|lcsgih|lctit|unics|lcxt4|lcxt5m|lck)  true;;
    661665        (*)  printf "\n"
    662666             printf "\n  +++ sorry: execution of batch jobs on remote host \"$host\""
     
    835839                   do_remote=true
    836840                   case  $host  in
    837                        (ibm|ibms|ibmy|lckyoto|lcsgib|lcsgih|lctit|nech|necriam|unics|lcxt4|lcxt5m|lck)  true;;
     841                       (ibm|ibmh|ibmku|ibms|ibmy|lckyoto|lcsgib|lcsgih|lctit|nech|necriam|unics|lcxt4|lcxt5m|lck)  true;;
    838842                       (*)  printf "\n  +++ sorry: execution of batch jobs on remote host \"$host\""
    839843                            printf "\n      is not available"
     
    11171121    do_remote=true
    11181122    case  $host  in
    1119         (ibm|ibmb|ibmh|ibms|ibmy|lckyoto|lcsgib|lcsgih|lctit|nech|necriam|unics|lcxt4|lcxt5m|lck)  true;;
     1123        (ibm|ibmh|ibmku|ibms|ibmy|lckyoto|lcsgib|lcsgih|lctit|nech|necriam|unics|lcxt4|lcxt5m|lck)  true;;
    11201124        (*)  printf "\n"
    11211125             printf "\n  +++ sorry: execution of batch jobs on remote host \"$host\""
     
    11461150       # DEFAULT-WERT SETZEN) UND OB SIE EIN GANZZAHLIGER TEILER DER
    11471151       # GESAMTPROZESSORANZAHL IST
    1148     if [[ $host = nech  ||  $host = necriam  ||  $host = ibmh  ||  $host = ibmb  ||  $host = ibms ]]
     1152    if [[ $host = nech  ||  $host = necriam  ||  $host = ibmh  ||  $host = ibms ]]
    11491153    then
    11501154       [[ "$tasks_per_node" = "" ]]  &&  tasks_per_node=6
     
    11811185       # FALLS OPENMP PARALLELISIERUNG VERWENDET WERDEN SOLL, ANZAHL VON THREADS
    11821186       # SETZEN UND ZAHL DER TASKS PRO KNOTEN AUF 1 SETZEN
    1183     if [[ $use_openmp = true ]]
    1184     then
    1185        threads_per_task=$tasks_per_node
    1186        tasks_per_node=1
    1187     fi
     1187#    if [[ $use_openmp = true ]]
     1188#    then
     1189#       threads_per_task=$tasks_per_node
     1190#       tasks_per_node=1
     1191#    fi
    11881192
    11891193       # SETTINGS FOR SUBJOB-COMMAND
    1190     if [[ $(echo $host | cut -c1-5) = lcsgi ]]
    1191     then
    1192        (( tp1 = tasks_per_node * threads_per_task ))
    1193        TOPT="-T $tp1"
    1194     else
    1195        TOPT="-T $tasks_per_node"
    1196     fi
     1194    TOPT="-T $tasks_per_node"
    11971195    OOPT="-O $threads_per_task"
    11981196
     
    12671265 then
    12681266    case  $host  in
    1269         (ibmb)       if [[ $node_usage = shared ]]
    1270                      then
    1271                         queue=cshare
    1272                      else
    1273                         queue=csolo
    1274                      fi;;
    12751267        (ibmh)       queue=no_class;;
    12761268        (ibmy)       queue=parallel;;
     
    20202012 if [[ "$tmp_data_catalog" = "" ]]
    20212013 then
    2022     if [[ $localhost = ibmb ]]
    2023     then
    2024        tmp_data_catalog=$WORK/mrun_restart_data
    2025     elif [[ $localhost = nech ]]
     2014    if [[ $localhost = nech ]]
    20262015    then
    20272016       tmp_data_catalog=$WRKSHR/mrun_restart_data
     
    21782167    printf "| $spalte1$spalte2 | \n"
    21792168 fi
    2180  if [[ $threads_per_task != 1 ]]
     2169 if [[ $use_openmp = true ]]
    21812170 then
    21822171    spalte1="threads per task:"; spalte2="$threads_per_task"
     
    30052994       then
    30062995          dxladebug  a.out
    3007        elif [[ $localhost = ibmb  ||  $localhost = ibmh ]]
     2996       elif [[ $localhost = ibmh ]]
    30082997       then
    30092998
     
    30873076          exit
    30883077       fi
     3078
     3079       # end debug mode
    30893080    else
     3081
     3082          # normal execution
    30903083       if [[ -n $numprocs ]]
    30913084       then
     
    31353128                fi
    31363129             else
    3137                 if [[ $localhost = ibmb  ||  $localhost = ibmh  ||  $localhost = ibms ]]
     3130                if [[ $localhost = ibmh  ||  $localhost = ibms ]]
    31383131                then
    31393132                   poe  a.out  -procs $numprocs  -nodes 1  -rmpool 0  $ROPTS
    3140                 elif [[ $localhost = ibmy ]]
     3133                elif [[ $localhost = ibmku  ||  $localhost = ibmy ]]
    31413134                then
    31423135                   if [[ -f $hostfile ]]
     
    31683161                      echo "coupled_run $iia $iio"  >  runfile_atmos
    31693162                   fi
    3170                    ./a.out  -procs $tasks_per_node  $ROPTS  <  runfile_atmos
     3163                   if [[ $localhost = ibmy ]]
     3164                   then
     3165                      ./a.out  -procs $tasks_per_node  $ROPTS  <  runfile_atmos
     3166                   else
     3167                      poe  ./a.out  -procs $numprocs $ROPTS  <  runfile_atmos
     3168                   fi
    31713169
    31723170                else
     
    32923290                            export MPI_DSM_CPULIST="0,1,4,5,2,3,6,7:allhosts"
    32933291                         fi
     3292                      else
     3293                         unset MPI_DSM_CPULIST
    32943294                      fi
    32953295                          # MPI_IB_RAILS: use both IB rails on ICE2
     
    33043304
    33053305                          # next is test for openmp usage
    3306                       # mpiexec -n $ii -pernode  ./a.out  $ROPTS  < runfile_atmos
     3306                  #     echo "mpiexec -npernode $tasks_per_node  ./a.out  $ROPTS  < runfile_atmos"
     3307                  #     mpiexec -npernode $tasks_per_node  ./a.out  $ROPTS  < runfile_atmos
    33073308                   elif [[ $( echo $mpilib | cut -c1-3 ) = mva ]]
    33083309                   then
     
    33173318               #          export MV2_CPU_MAPPING=0,1,4,5,2,3,6,7
    33183319               #       fi
     3320                      [[ $use_openmp = true ]]  &&  unset MV2_CPU_MAPPING
    33193321                      echo "*** MV2_CPU_MAPPING=$MV2_CPU_MAPPING"
    3320                       if [[ $threads_per_task != 1 ]]
     3322                      if [[ $use_openmp = true ]]
    33213323                      then
    3322                          mpiexec -npernode 1  ./a.out  $ROPTS  <  runfile_atmos
     3324                         mpiexec -npernode $tasks_per_node  ./a.out  $ROPTS  <  runfile_atmos
    33233325                      else
    33243326                         mpiexec -np $ii  ./a.out  $ROPTS  < runfile_atmos
     
    36363638                   cst="/"
    36373639                fi
    3638                 if [[ $localhost = ibmb  ||  $localhost = nech ]]
     3640                if [[ $localhost = nech ]]
    36393641                then
    36403642
     
    37173719             if [[ $localhost != $fromhost ]]
    37183720             then
    3719                 if [[ $localhost = ibmh  ||  $localhost = ibmb  ||  $localhost = nech ]]
     3721                if [[ $localhost = ibmh  ||  $localhost = nech ]]
    37203722                then
    37213723
     
    42314233          then
    42324234
    4233              if [[ $localhost = lcsgih  ||  $localhost = lcsgib  ||  $localhost = nech  ||  $localhost = ibmb  ||  $localhost = ibmh  ||  $localhost = ibms  ||  $localhost = lctit ]]
     4235             if [[ $localhost = lcsgih  ||  $localhost = lcsgib  ||  $localhost = nech  ||  $localhost = ibmh  ||  $localhost = ibmku  ||  $localhost = ibms  ||  $localhost = lctit ]]
    42344236             then
    42354237                echo "*** ssh will be used to initiate restart-runs!"
     
    43484350    if [[ $use_openmp = true ]]
    43494351    then
    4350        mrun_com=${mrun_com}" -O"
    4351        [[ "$tasks_per_node" != "" ]] &&  mrun_com=${mrun_com}" -T $threads_per_task"
    4352     else
    4353        [[ "$tasks_per_node" != "" ]] &&  mrun_com=${mrun_com}" -T $tasks_per_node"
    4354     fi
     4352       mrun_com=${mrun_com}" -O $threads_per_task"
     4353    fi
     4354    [[ "$tasks_per_node" != "" ]] &&  mrun_com=${mrun_com}" -T $tasks_per_node"
    43554355    [[ $store_on_archive_system = true ]]  &&  mrun_com=${mrun_com}" -A"
    43564356    [[ $package_list != "" ]]     &&  mrun_com=${mrun_com}" -p \"$package_list\""
Note: See TracChangeset for help on using the changeset viewer.