Ignore:
Timestamp:
2019-07-26T18:29:57+02:00 (2 years ago)
Author:
smasson
Message:

dev_r10984_HPC-13 : add new machine and update BENCH scripts, see #2285

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/tests/BENCH/EXPREF/submit_bench

    r9870 r11359  
    66# 
    77set -u 
    8 set -vx 
     8#set -vx 
    99# 
    1010cores=$1 
     
    1515# 
    1616# number of processes for each executable 
    17     nproc_exe1=$( echo $cores | bc ) 
    18   (( nproc = $nproc_exe1 )) 
    19 (( nnode = $nproc / $ncore_node )) 
    20 [ $nnode -lt 1 ] && nnode=1 
     17nproc_exe1=$( echo $cores | bc ) 
     18nproc=$nproc_exe1 
     19nnode=$(( ( $nproc + $ncore_node - 1 )  / $ncore_node )) 
    2120 
    2221nproc5=$( printf "%05d\n" ${nproc_exe1} ) 
     22 
     23case ${resolution} in 
     24    "1") 
     25   if [ $nproc_exe1 -lt 50 ] 
     26   then 
     27       timejob=3600 
     28   elif [ $nproc_exe1 -lt 100 ] 
     29   then 
     30       timejob=1800 
     31   elif [ $nproc_exe1 -lt 200 ] 
     32   then 
     33       timejob=900 
     34   else 
     35       timejob=600 
     36   fi 
     37   ;; 
     38    "025") 
     39   if [ $nproc_exe1 -lt 50 ] 
     40   then 
     41       timejob=15000 
     42   elif [ $nproc_exe1 -lt 100 ] 
     43   then 
     44       timejob=7000 
     45   elif [ $nproc_exe1 -lt 200 ] 
     46   then 
     47       timejob=3600 
     48   elif [ $nproc_exe1 -lt 400 ] 
     49   then 
     50       timejob=2000 
     51   elif [ $nproc_exe1 -lt 800 ] 
     52   then 
     53       timejob=1000 
     54   else 
     55       timejob=600 
     56   fi 
     57   ;; 
     58    "12") 
     59   if [ $nproc_exe1 -lt 200 ] 
     60   then 
     61       timejob=30000 
     62   elif [ $nproc_exe1 -lt 400 ] 
     63   then 
     64       timejob=15000 
     65   elif [ $nproc_exe1 -lt 800 ] 
     66   then 
     67       timejob=8000 
     68   elif [ $nproc_exe1 -lt 1600 ] 
     69   then 
     70       timejob=5000 
     71   elif [ $nproc_exe1 -lt 3200 ] 
     72   then 
     73       timejob=2500 
     74   else 
     75       timejob=1200 
     76   fi 
     77   ;; 
     78esac 
     79 
    2380 
    2481###################################################################### 
     
    100157if [[ ( "$machine" == "curie" ) || ( "$machine" == "irene" ) ]] 
    101158then 
    102      
    103     case ${resolution} in 
    104    "1") 
    105        if [ $nproc_exe1 -lt 50 ] 
    106        then 
    107       timejob=3600 
    108        elif [ $nproc_exe1 -lt 100 ] 
    109        then 
    110       timejob=1800 
    111        elif [ $nproc_exe1 -lt 200 ] 
    112        then 
    113       timejob=900 
    114        else 
    115       timejob=600 
    116        fi 
    117        ;; 
    118    "025") 
    119        if [ $nproc_exe1 -lt 50 ] 
    120        then 
    121       timejob=15000 
    122        elif [ $nproc_exe1 -lt 100 ] 
    123        then 
    124       timejob=7000 
    125        elif [ $nproc_exe1 -lt 200 ] 
    126        then 
    127       timejob=3600 
    128        elif [ $nproc_exe1 -lt 400 ] 
    129        then 
    130       timejob=2000 
    131        elif [ $nproc_exe1 -lt 800 ] 
    132        then 
    133       timejob=1000 
    134        else 
    135       timejob=600 
    136        fi 
    137        ;; 
    138    "12") 
    139        if [ $nproc_exe1 -lt 200 ] 
    140        then 
    141       timejob=30000 
    142        elif [ $nproc_exe1 -lt 400 ] 
    143        then 
    144       timejob=15000 
    145        elif [ $nproc_exe1 -lt 800 ] 
    146        then 
    147       timejob=8000 
    148        elif [ $nproc_exe1 -lt 1600 ] 
    149        then 
    150       timejob=5000 
    151        elif [ $nproc_exe1 -lt 3200 ] 
    152        then 
    153       timejob=2500 
    154        else 
    155       timejob=1200 
    156        fi 
    157    ;; 
    158     esac 
    159159 
    160160    [ "$machine" == "curie" ] && queuename=standard || queuename=skylake 
     
    196196 
    197197fi 
     198 
     199###################################################################### 
     200### Jean-Zay 
     201###################################################################### 
     202 
     203if [ "$machine" == "jean-zay" ] 
     204then 
     205    hh=$( printf "%02d\n" $(( ${timejob} / 3600 )) ) 
     206    mm=$( printf "%02d\n" $(( ( ${timejob} % 3600 ) / 60 )) ) 
     207    ss=$( printf "%02d\n" $(( ( ${timejob} % 3600 ) % 60 )) ) 
     208 
     209    EXPjob=../EXP_${resolution}_${nproc5}_${dateref} 
     210    mkdir -p ${EXPjob} 
     211    cd ${EXPjob} 
     212    jobname=jobbench 
     213    cat > $jobname << EOF 
     214#!/bin/bash 
     215#SBATCH --job-name=Seq        # nom du job 
     216#SBATCH --partition=cpu_dev   # demande d'allocation sur la partition CPU 
     217#SBATCH --nodes=${nnode}             # nombre de noeuds 
     218#SBATCH --ntasks-per-node=${ncore_node}  # nombre de taches MPI par noeud 
     219#SBATCH --time=${hh}:${mm}:${ss}       # temps d execution maximum demande (HH:MM:SS) 
     220#SBATCH --output=bench_${resolution}_${nproc5}_%j.eo        # nom du fichier de sortie 
     221#SBATCH --error=bench_${resolution}_${nproc5}_%j.eo         # nom du fichier d'erreur (ici en commun avec la sortie) 
     222#========================================== 
     223set -u 
     224#set -xv 
     225# 
     226#cd \${SLURM_SUBMIT_DIR} 
     227cd \${JOBSCRATCH} 
     228pwd 
     229 
     230for ff in \${SLURM_SUBMIT_DIR}/../EXPREF/namelist_*cfg \${SLURM_SUBMIT_DIR}/../EXPREF/namelist_*ref \${SLURM_SUBMIT_DIR}/../BLD/bin/nemo.exe 
     231do 
     232    cp \$ff . 
     233done 
     234 
     235jpni=${cores/\**/} 
     236jpnj=${cores/?*\*/} 
     237 
     238sed -e "s/jpni *=.*/jpni = \${jpni}/" \ 
     239    -e "s/jpnj *=.*/jpnj = \${jpnj}/" \ 
     240    -e "s/ln_timing *= *.false./ln_timing   =  .true./" \ 
     241    \${SLURM_SUBMIT_DIR}/../EXPREF/namelist_cfg_orca${resolution}_like > namelist_cfg 
     242 
     243ls -l 
     244 
     245echo  
     246echo  
     247echo " =========== start the model ===========" 
     248echo  
     249echo  
     250 
     251time mpirun -np ${nproc} ./nemo.exe > out_run.txt 2>&1 
     252 
     253ls -l 
     254 
     255rsync -av namelist_cfg time.step ocean.output out_run.txt communication_report.txt layout.dat timing.output output.namelist* $( pwd ) 
     256 
     257EOF 
     258 
     259    sbatch $jobname 
     260 
     261fi 
Note: See TracChangeset for help on using the changeset viewer.