- Timestamp:
- 2016-01-08T10:35:19+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4704_NOC5_MPP_BDY_UPDATE/NEMOGCM/SETTE/prepare_job.sh
r4687 r6225 200 200 fi 201 201 ;; 202 ifort_MERCATOR_CLUSTER) 202 XC_ARCHER_INTEL) 203 # ocean cores are packed 24 to a node 204 NB_REM=$( echo $NB_PROC | awk '{print ( $1 % 24 ) }') 205 if [ ${NB_REM} == 0 ] ; then 206 # number of processes required is an integer multiple of 24 207 # 208 NB_NODES=$( echo $NB_PROC $NXIO_PROC | awk '{print ($1) / 24}') 209 else 210 # 211 # number of processes required is not an integer multiple of 24 212 # round up the number of nodes required. 213 # 214 NB_NODES=$( echo $NB_PROC | awk '{printf("%d",($1) / 24 + 1 )}') 215 fi 216 # xios cores are sparsely packed at 4 to a node 217 # but can not share nodes with the ocean cores 218 NB_REM=$( echo $NXIO_PROC | awk '{print ( $2 % 4 ) }') 219 if [ ${NB_REM} == 0 ] ; then 220 # number of processes required is an integer multiple of 4 221 # 222 NB_NODES=$( echo $NB_NODES $NXIO_PROC | awk '{print ($1 + ( $2 / 4 ))}') 223 else 224 # 225 # number of processes required is not an integer multiple of 4 226 # round up the number of nodes required. 227 # 228 NB_NODES=$( echo $NB_NODES $NXIO_PROC | awk '{print ($1 + ( $2 / 4 ) + 1)}') 229 fi 230 ;; 231 XC40_METO*) #Setup for Met Office XC40 with any compiler 232 # ocean cores are packed 32 to a node 233 # If we need more than one node then have to use parallel queue and XIOS must have a node to itself 234 NB_REM=$( echo $NB_PROC | awk '{print ( $1 % 32 ) }') 235 if [ ${NB_REM} == 0 ] ; then 236 # number of processes required is an integer multiple of 32 237 # 238 NB_NODES=$( echo $NB_PROC $NXIO_PROC | awk '{print ($1) / 32}') 239 else 240 # 241 # number of processes required is not an integer multiple of 32 242 # round up the number of nodes required. 243 # 244 NB_NODES=$( echo $NB_PROC $NXIO_PROC | awk '{printf("%d",($1) / 32 + 1 )}') 245 fi 246 # xios cores are sparsely packed at 4 to a node 247 if [ $NXIO_PROC == 0 ] ; then 248 NB_XNODES=0 249 else 250 NB_REM=$( echo $NXIO_PROC | awk '{print ( $1 % 4 ) }') 251 if [ ${NB_REM} == 0 ] ; then 252 # number of processes required is an integer multiple of 4 253 # 254 NB_XNODES=$( echo $NXIO_PROC | awk '{print (( $1 / 4 ) + 1)}') 255 else 256 # 257 # number of processes required is not an integer multiple of 4 258 # round up the number of nodes required. 259 # 260 NB_XNODES=$( echo $NXIO_PROC | awk '{printf("%d",($1) / 4 + 1) }') 261 fi 262 fi 263 if [ ${NB_XNODES} -ge 1 ] ; then 264 NB_NODES=$((NB_NODES+NB_XNODES)) 265 fi 266 echo NB_XNODES=${NB_XNODES} 267 echo Total NB_NODES=${NB_NODES} 268 QUEUE=normal 269 SELECT="select=$NB_NODES" 270 module unload cray-snplauncher #Make sure snplauncher module is not loaded 271 ;; 272 openmpi_NAVITI_MERCATOR) 203 273 echo NB_PROCS ${NB_PROC} 204 274 echo NB_NODES ${NB_NODES} … … 209 279 NB_PROC_NODE=${NB_PROC} 210 280 else 211 if [ ${NB_PROC} -le 8] ; then281 if [ ${NB_PROC} -le 16 ] ; then 212 282 NB_NODES=1 213 283 QUEUE=mono 214 284 NB_PROC_NODE=${NB_PROC} 215 285 else 216 NB_NODES=$( echo $NB_PROC | awk '{print $1 - $1 % 8}' | awk '{print $1 / 8}')286 NB_NODES=$( echo $NB_PROC | awk '{print $1 - $1 % 16}' | awk '{print $1 / 16 }') 217 287 QUEUE=multi 218 NB_PROC_NODE= 8288 NB_PROC_NODE=16 219 289 fi 220 290 fi … … 244 314 245 315 case ${COMPILER} in 246 ifort_MERCATOR_CLUSTER) 247 #cat run_sette_test.job | sed -e"s:QUEUE:${QUEUE}:" > run_sette_test1.job 248 #cat run_sette_test.job | sed -e"s/NPROC_NODE/${NB_PROC_NODE}/" > run_sette_test1.job 249 #-e"s/NPROC_NODE/${NB_PROC_NODE}/" > run_sette_test1.job 316 openmpi_NAVITI_MERCATOR) 250 317 cat run_sette_test.job | sed -e"s/NPROC_NODE/${NB_PROC_NODE}/" \ 251 318 -e"s:QUEUE:${QUEUE}:" > run_sette_test1.job 319 mv run_sette_test1.job run_sette_test.job 320 ;; 321 XC40_METO*) 322 cat run_sette_test.job | sed -e"s/SELECT/${SELECT}/" > run_sette_test1.job 252 323 mv run_sette_test1.job run_sette_test.job 253 324 ;;
Note: See TracChangeset
for help on using the changeset viewer.