@@ -346,6 +346,8 @@ jobs:
346346
347347
348348 - name : NEMO 5.0 nvidia Async OpenMP for GPUs (BENCH - managed memory)
349+ # Only do this Action if this is a re-run
350+ if : ${{ github.run_attempt != '1' }}
349351 run : |
350352 # Set up environment
351353 source /apps/spack/psyclone-spack-25.3/spack-repo/share/spack/setup-env.sh
@@ -404,10 +406,10 @@ jobs:
404406 --password ${{ secrets.MONGODB_PASSWORD }} \
405407 --eval 'db.GitHub_CI.insertOne({branch_name: "'"$GITHUB_REF_NAME"'", commit: "'"$GITHUB_SHA"'",
406408 github_job: "'"$GITHUB_RUN_ID"'"-"'"$GITHUB_RUN_ATTEMPT"'",
407- ci_test: "NEMOv5 OpenMP for GPU (BENCH)", nemo_version: "NEMOv5", system: "GlaDos",
409+ ci_test: "NEMOv5 OpenMP for GPU Async (BENCH)", nemo_version: "NEMOv5", system: "GlaDos",
408410 compiler:"nvhpc-24.11" , date: new Date(), elapsed_time: '"${TIME_sec}"'})'
409411
410- - name : NEMO 5.0 nvidia Async OpenMP for GPUs (UKMO ORCA1 - managed memory)
412+ - name : NEMO 5.0 nvidia Async OpenMP for GPUs (UKMO ORCA2 - managed memory)
411413 run : |
412414 # Set up environment
413415 source /apps/spack/psyclone-spack-25.3/spack-repo/share/spack/setup-env.sh
@@ -416,7 +418,7 @@ jobs:
416418 export PSYCLONE_NEMO_DIR=${GITHUB_WORKSPACE}/examples/nemo/scripts
417419 export PSYCLONE_HOME=${PWD}/.runner_venv
418420 export NEMO_DIR=${HOME}/${NEMODIR_NAME}
419- export TEST_DIR=ORCA1_OMP_OFFLOAD_NVHPC
421+ export TEST_DIR=ORCA2_OMP_OFFLOAD_NVHPC
420422
421423 # Set up FCM: PATHs are loaded from SPACK, we only need to set the FCFLAGS
422424 # We compile at "-O2 -Mnofma -Mnovect -gpu=math_uniform" to permit comparison of the results.
@@ -428,28 +430,28 @@ jobs:
428430
429431 # Clean up and compile
430432 rm -rf cfgs/${TEST_DIR}
431- ./makenemo -r GOSI10p0.0_like_eORCA1 -m linux_spack -n ${TEST_DIR} -p ${PSYCLONE_NEMO_DIR}/omp_gpu_trans.py \
432- -j 4 -v 1
433+ ./makenemo -r ORCA2_ICE_PISCES -m linux_spack -n ${TEST_DIR} -p ${PSYCLONE_NEMO_DIR}/omp_gpu_trans.py \
434+ add_key "key_mpi_off key_nosignedzero" -j 4 -v 1
433435
434436 # Run test
435437 cd $NEMO_DIR/cfgs/${TEST_DIR}/EXP00
436- ln -sf /archive/NEMO_INPUTS/NEMOv5_MO_original_files/ancil/eORCA1/link/* .
437- # Make sure mpi has been built with cuda support
438- ompi_info --parsable --all | grep mpi_built_with_cuda_support:value
439- # Run with round robin allocations of GPUs to MPI ranks
440- mpirun -n 2 sh -c 'CUDA_VISIBLE_DEVICES=$OMPI_COMM_WORLD_LOCAL_RANK ./nemo'
441- diff $PSYCLONE_NEMO_DIR/KGOs/run.stat.orca1.nvhpc.10steps run.stat
442- export TIME_sec=$(grep "local MPI proces" timing.output | head -n 1 | awk '{print $5}' | tr -d s)
438+ ln -sf ../../../ORCA2_ICE_v4.2.0/* .
439+ # Uses both, threading and offloading
440+ OMP_NUM_THREADS=4 ./nemo
441+ diff $PSYCLONE_NEMO_DIR/KGOs/run.stat.orca2.nvhpc.10steps run.stat
442+ export TIME_sec=$(grep "local proces" timing.output | head -n 1 | awk '{print $4}' | tr -d s)
443443 ${HOME}/mongosh-2.1.1-linux-x64/bin/mongosh \
444444 "mongodb+srv://cluster0.x8ncpxi.mongodb.net/PerformanceMonitoring" \
445445 --quiet --apiVersion 1 --username ${{ secrets.MONGODB_USERNAME }} \
446446 --password ${{ secrets.MONGODB_PASSWORD }} \
447447 --eval 'db.GitHub_CI.insertOne({branch_name: "'"$GITHUB_REF_NAME"'", commit: "'"$GITHUB_SHA"'",
448448 github_job: "'"$GITHUB_RUN_ID"'"-"'"$GITHUB_RUN_ATTEMPT"'",
449- ci_test: "NEMOv5 OpenMP for GPU (ORCA1 )", nemo_version: "NEMOv5", system: "GlaDos",
449+ ci_test: "NEMOv5 OpenMP for GPU Async (ORCA2 )", nemo_version: "NEMOv5", system: "GlaDos",
450450 compiler:"nvhpc-24.11" , date: new Date(), elapsed_time: '"${TIME_sec}"'})'
451451
452- - name : NEMO 5.0 nvidia Async OpenMP for GPUs (UKMO ORCA2 - managed memory)
452+ - name : NEMO 5.0 nvidia Async OpenMP for GPUs (UKMO ORCA1 - managed memory)
453+ # Only do this Action if this is a re-run
454+ if : ${{ github.run_attempt != '1' }}
453455 run : |
454456 # Set up environment
455457 source /apps/spack/psyclone-spack-25.3/spack-repo/share/spack/setup-env.sh
@@ -458,7 +460,7 @@ jobs:
458460 export PSYCLONE_NEMO_DIR=${GITHUB_WORKSPACE}/examples/nemo/scripts
459461 export PSYCLONE_HOME=${PWD}/.runner_venv
460462 export NEMO_DIR=${HOME}/${NEMODIR_NAME}
461- export TEST_DIR=ORCA2_OMP_OFFLOAD_NVHPC
463+ export TEST_DIR=ORCA1_OMP_OFFLOAD_NVHPC
462464
463465 # Set up FCM: PATHs are loaded from SPACK, we only need to set the FCFLAGS
464466 # We compile at "-O2 -Mnofma -Mnovect -gpu=math_uniform" to permit comparison of the results.
@@ -470,21 +472,23 @@ jobs:
470472
471473 # Clean up and compile
472474 rm -rf cfgs/${TEST_DIR}
473- ./makenemo -r ORCA2_ICE_PISCES -m linux_spack -n ${TEST_DIR} -p ${PSYCLONE_NEMO_DIR}/omp_gpu_trans.py \
474- add_key "key_mpi_off key_nosignedzero" -j 4 -v 1
475+ ./makenemo -r GOSI10p0.0_like_eORCA1 -m linux_spack -n ${TEST_DIR} -p ${PSYCLONE_NEMO_DIR}/omp_gpu_trans.py \
476+ -j 4 -v 1
475477
476478 # Run test
477479 cd $NEMO_DIR/cfgs/${TEST_DIR}/EXP00
478- ln -sf ../../../ORCA2_ICE_v4.2.0/* .
479- # Uses both, threading and offloading
480- OMP_NUM_THREADS=4 ./nemo
481- diff $PSYCLONE_NEMO_DIR/KGOs/run.stat.orca2.nvhpc.10steps run.stat
482- export TIME_sec=$(grep "local proces" timing.output | head -n 1 | awk '{print $4}' | tr -d s)
480+ ln -sf /archive/NEMO_INPUTS/NEMOv5_MO_original_files/ancil/eORCA1/link/* .
481+ # Make sure mpi has been built with cuda support
482+ ompi_info --parsable --all | grep mpi_built_with_cuda_support:value
483+ # Run with round robin allocations of GPUs to MPI ranks
484+ mpirun -n 2 sh -c 'CUDA_VISIBLE_DEVICES=$OMPI_COMM_WORLD_LOCAL_RANK ./nemo'
485+ diff $PSYCLONE_NEMO_DIR/KGOs/run.stat.orca1.nvhpc.10steps run.stat
486+ export TIME_sec=$(grep "local MPI proces" timing.output | head -n 1 | awk '{print $5}' | tr -d s)
483487 ${HOME}/mongosh-2.1.1-linux-x64/bin/mongosh \
484488 "mongodb+srv://cluster0.x8ncpxi.mongodb.net/PerformanceMonitoring" \
485489 --quiet --apiVersion 1 --username ${{ secrets.MONGODB_USERNAME }} \
486490 --password ${{ secrets.MONGODB_PASSWORD }} \
487491 --eval 'db.GitHub_CI.insertOne({branch_name: "'"$GITHUB_REF_NAME"'", commit: "'"$GITHUB_SHA"'",
488492 github_job: "'"$GITHUB_RUN_ID"'"-"'"$GITHUB_RUN_ATTEMPT"'",
489- ci_test: "NEMOv5 OpenMP for GPU (ORCA2 )", nemo_version: "NEMOv5", system: "GlaDos",
493+ ci_test: "NEMOv5 OpenMP for GPU Async (ORCA1 )", nemo_version: "NEMOv5", system: "GlaDos",
490494 compiler:"nvhpc-24.11" , date: new Date(), elapsed_time: '"${TIME_sec}"'})'
0 commit comments