Ignore:
Timestamp:
Sep 15, 2011 1:58:31 PM (13 years ago)
Author:
raasch
Message:

New:
---

The number of parallel I/O operations can be limited with new mrun-option -w.
(advec_particles, data_output_2d, data_output_3d, header, init_grid, init_pegrid, init_3d_model, modules, palm, parin, write_3d_binary)

Changed:


mrun option -T is obligatory

Errors:


Bugfix: No zero assignments to volume_flow_initial and volume_flow_area in
case of normal restart runs. (init_3d_model)

initialization of u_0, v_0. This is just to avoid access of uninitialized
memory in exchange_horiz_2d, which causes respective error messages
when the Intel thread checker (inspector) is used. (production_e)

Bugfix for ts limitation (prandtl_fluxes)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SCRIPTS/mrun

    r757 r759  
    215215     # 14/12/10 - Siggi  - adjustments for new Tsubame system at Tokyo
    216216     #                     institute of technology (lctit)
    217      # 23/12/10 - Micha  - different number of processors in ocean and atmosphere
    218      #                     is now allowed
     217     # 23/12/10 - Micha  - different number of processors in ocean and
     218     #                     atmosphere is now allowed
    219219     # 02/02/10 - Siggi  - further adjustments on Tsubame and concerning openMP
    220220     #                     usage
     
    225225     # 06/04/11 - BjornM - bugfix for runs with mpt on lcsgi
    226226     # 17/08/11 - Siggi  - extensions for impi library
    227      # 18/08/11 - Siggi  - bugfix for local append of output files with suffix (.nc)
     227     # 18/08/11 - Siggi  - bugfix for local append of output files with suffix
     228     #                     (.nc)
    228229     # 18/08/11 - Marcus - support for Linux OS with German locale
    229      #                   - properly report hosts on general Linux clusters 
     230     #                   - properly report hosts on general Linux clusters
    230231     # 29/08/11 - BjornW - adapted for lcflow (ForWind cluster in Oldenburg)
    231      # 29/08/11 - Carolin- initiating restart-run: adjustment of the path at IMUK
     232     # 29/08/11 - Carolin- initiating restart-run: adjustment of the path at
     233     #                     IMUK
     234     # 15/09/11 - Siggi  - new option -w tp set the maximum number of parallel
     235     #                     io streams, option -T is obligatory from now on
    232236
    233237 
     
    287291 mainprog=""
    288292 makefile=""
     293 max_par_io_str=""
    289294 mc=$0
    290295 while [[ $(echo $mc | grep -c "/") != 0 ]]
     
    474479    # SHELLSCRIPT-OPTIONEN EINLESEN UND KOMMANDO NEU ZUSAMMENSETZEN, FALLS ES
    475480    # FUER FOLGEJOBS BENOETIGT WIRD
    476  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
     481 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:vw:xX:yY: option
    477482 do
    478483   case  $option  in
     
    507512       (S)   read_from_config=false; mc="$mc -S";;
    508513       (t)   cpumax=$OPTARG; mc="$mc -t$OPTARG";;
    509        (T)   tasks_per_node=$OPTARG; mc="$mc -T$OPTARG";;
     514       (T)   mrun_tasks_per_node=$OPTARG; mc="$mc -T$OPTARG";;
    510515       (u)   remote_username=$OPTARG; mc="$mc -u$OPTARG";;
    511516       (U)   return_username=$OPTARG; mc="$mc -U$OPTARG";;
    512517       (v)   silent=true; mc="$mc -v";;
     518       (w)   max_par_io_str=$OPTARG; mc="$mc -w$OPTARG";;
    513519       (x)   do_trace=true;set -x; mc="$mc -x";;
    514520       (X)   numprocs=$OPTARG; mc="$mc -X$OPTARG";;
     
    567573    printf "\n        -u    username on remote machine               \"\" "
    568574    printf "\n        -v    no prompt for confirmation               ---"
     575    printf "\n        -w    maximum parallel io streams              as given by -X"
    569576    printf "\n        -x    tracing of mrun for debug purposes       ---"
    570577    printf "\n        -X    # of processors (on parallel machines)   1"
     
    10361043
    10371044       # OPTIONSWERTE UEBERSTEUERN KONFIGURATIONSDATEI
    1038     [[ $mrun_memory     != 0  ]]  &&  memory=$mrun_memory
     1045    [[ $mrun_memory     != 0   ]]  &&  memory=$mrun_memory
    10391046    [[ "$mrun_group_number" != "none" ]]  &&  group_number=$mrun_group_number
    1040     [[ $mrun_cpumax     != 0  ]]  &&  cpumax=$mrun_cpumax
    1041     [[ "$mrun_numprocs" != "" ]]  &&  numprocs=$mrun_numprocs
     1047    [[ $mrun_cpumax     != 0   ]]  &&  cpumax=$mrun_cpumax
     1048    [[ "$mrun_numprocs" != ""  ]]  &&  numprocs=$mrun_numprocs
     1049    [[ "$max_par_io_str" != "" ]]  &&  maximum_parallel_io_streams=$max_par_io_str
     1050    [[ "$mrun_tasks_per_node" != "" ]]  &&  tasks_per_node=$mrun_tasks_per_node
    10421051
    10431052 fi
     
    11571166       # DEFAULT-WERT SETZEN) UND OB SIE EIN GANZZAHLIGER TEILER DER
    11581167       # GESAMTPROZESSORANZAHL IST
    1159     if [[ $host = nech  ||  $host = necriam  ||  $host = ibmh  ||  $host = ibmkisti  ||  $host = ibms ]]
    1160     then
    1161        [[ "$tasks_per_node" = "" ]]  &&  tasks_per_node=6
    1162        (( ival = $tasks_per_node ))
    1163        (( pes = numprocs ))
     1168    if [[ "$tasks_per_node" = ""  ]]
     1169    then
     1170       printf "\n"
     1171       printf "\n  +++ option \"-T\" (tasks per node) is missing"
     1172       printf "\n      set -T option or define tasks_per_node in the config file"
     1173       locat=tasks_per_node; (( iec = 0 )); exit
     1174    fi
     1175    (( ival = $tasks_per_node ))
     1176    (( pes = numprocs ))
    11641177#       if [[ $(echo $package_list | grep -c dvrp_graphics+1PE) = 1 ]]
    11651178#       then
    11661179#          (( pes = pes - 1 ))
    11671180#       fi
    1168        (( ii = pes / ival ))
    1169        if (( pes - ii * ival > 0 ))
    1170        then
    1171           printf "\n"
    1172           printf "\n  +++ tasks per node (option \"-T\") must be an integral"
    1173           printf "\n      divisor of the total number of processors (option \"-X\")"
    1174           printf "\n      values of this mrun-call: \"-T $tasks_per_node\" \"-X $numprocs\""
    1175           locat=tasks_per_node; (( iec = 0 )); exit
    1176        fi
    1177     fi
     1181    (( ii = pes / ival ))
     1182    if (( pes - ii * ival > 0 ))
     1183    then
     1184       printf "\n"
     1185       printf "\n  +++ tasks per node (option \"-T\") must be an integral"
     1186       printf "\n      divisor of the total number of processors (option \"-X\")"
     1187       printf "\n      values of this mrun-call: \"-T $tasks_per_node\" \"-X $numprocs\""
     1188       locat=tasks_per_node; (( iec = 0 )); exit
     1189    fi
     1190
    11781191
    11791192       # IBMY HAT NUR EINEN KNOTEN
     
    11901203    fi
    11911204
    1192        # FALLS OPENMP PARALLELISIERUNG VERWENDET WERDEN SOLL, ANZAHL VON THREADS
    1193        # SETZEN UND ZAHL DER TASKS PRO KNOTEN AUF 1 SETZEN
    1194 #    if [[ $use_openmp = true ]]
    1195 #    then
    1196 #       threads_per_task=$tasks_per_node
    1197 #       tasks_per_node=1
    1198 #    fi
    11991205
    12001206       # SETTINGS FOR SUBJOB-COMMAND
     
    12631269 fi
    12641270
     1271
     1272    # Set default value for the maximum number of parallel io streams
     1273 if [[ "$maximum_parallel_io_streams" = "" ]]
     1274 then
     1275    maximum_parallel_io_streams=$numprocs
     1276 fi
    12651277
    12661278
     
    21942206 then
    21952207    spalte1="tasks per node:"; spalte2="$tasks_per_node (number of nodes: $nodes)"
     2208    printf "| $spalte1$spalte2 | \n"
     2209 fi
     2210 if [[ $maximum_parallel_io_streams != $numprocs ]]
     2211 then
     2212    spalte1="max par io streams:"; spalte2="$maximum_parallel_io_streams"
    21962213    printf "| $spalte1$spalte2 | \n"
    21972214 fi
     
    29963013 &envpar  run_identifier = '$fname', host = '$localhost',
    29973014          write_binary = '$write_binary', tasks_per_node = $tasks_per_node,
     3015          maximum_parallel_io_streams = $maximum_parallel_io_streams,
    29983016          maximum_cpu_time_allowed = ${cpumax}.,
    29993017          revision = '$global_revision',
     
    44224440       mrun_com=${mrun_com}" -O $threads_per_task"
    44234441    fi
    4424     [[ "$tasks_per_node" != "" ]] &&  mrun_com=${mrun_com}" -T $tasks_per_node"
     4442    [[ "$tasks_per_node" != "" ]]  &&  mrun_com=${mrun_com}" -T $tasks_per_node"
    44254443    [[ $store_on_archive_system = true ]]  &&  mrun_com=${mrun_com}" -A"
    44264444    [[ $package_list != "" ]]     &&  mrun_com=${mrun_com}" -p \"$package_list\""
     
    44304448    [[ "$ocean_file_appendix" = true ]]  &&  mrun_com=${mrun_com}" -y"
    44314449    [[ $run_coupled_model = true ]]  &&  mrun_com=${mrun_com}" -Y \"$coupled_dist\""
     4450    [[ "$max_par_io_str" != "" ]]  &&  mrun_com=${mrun_com}" -w $max_par_io_str"
    44324451    if [[ $do_remote = true ]]
    44334452    then
Note: See TracChangeset for help on using the changeset viewer.