Skip to content

Commit

Permalink
Updates to build and run on Orion Rocky 9 (#764)
Browse files Browse the repository at this point in the history
note;  while this commit enables gsi.x and enkf.x to be built on Orion Rocky 9, 
          both executables run 2x slower on Orion Rocky 9 than Orion Centos 7
  • Loading branch information
RussTreadon-NOAA authored Jun 28, 2024
1 parent b37b7d7 commit 529bb79
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 13 deletions.
9 changes: 5 additions & 4 deletions modulefiles/gsi_orion.intel.lua
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
help([[
]])

prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/orion/spack-stack-1.6.0/envs/gsi-addon-env/install/modulefiles/Core")
prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/orion/spack-stack-1.6.0/envs/gsi-addon-env-rocky9/install/modulefiles/Core")

local stack_python_ver=os.getenv("python_ver") or "3.11.6"
local stack_intel_ver=os.getenv("stack_intel_ver") or "2022.0.2"
local stack_impi_ver=os.getenv("stack_impi_ver") or "2021.5.1"
local stack_python_ver=os.getenv("stack_python_ver") or "3.11.6"
local stack_intel_ver=os.getenv("stack_intel_ver") or "2021.9.0"
local stack_impi_ver=os.getenv("stack_impi_ver") or "2021.9.0"
local cmake_ver=os.getenv("cmake_ver") or "3.23.1"
local prod_util_ver=os.getenv("prod_util_ver") or "2.1.1"

Expand All @@ -16,6 +16,7 @@ load(pathJoin("cmake", cmake_ver))

load("gsi_common")
load(pathJoin("prod_util", prod_util_ver))
load("intel-oneapi-mkl/2022.2.1")

pushenv("CFLAGS", "-xHOST")
pushenv("FFLAGS", "-xHOST")
Expand Down
11 changes: 7 additions & 4 deletions regression/regression_var.sh
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,13 @@ elif [[ -d /ncrc ]]; then # Gaea
export machine="Gaea"
elif [[ -d /data/prod ]]; then # S4
export machine="S4"
elif [[ -d /work && $(hostname) =~ "Orion" ]]; then # Orion
export machine="Orion"
elif [[ -d /work && $(hostname) =~ "hercules" ]]; then # Hercules
export machine="Hercules"
elif [[ -d /work ]]; then # Orion or Hercules
mount=$(findmnt -n -o SOURCE /home)
if [[ ${mount} =~ "hercules" ]]; then
export machine="Hercules"
else
export machine="Orion"
fi
elif [[ -d /lfs/h2 ]]; then # wcoss2
export machine="wcoss2"
fi
Expand Down
4 changes: 2 additions & 2 deletions ush/detect_machine.sh
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,8 @@ elif [[ -d /scratch1 ]]; then
MACHINE_ID=hera
elif [[ -d /work ]]; then
# We are on MSU Orion or Hercules
if [[ -d /apps/other ]]; then
# We are on Hercules
mount=$(findmnt -n -o SOURCE /home)
if [[ ${mount} =~ "hercules" ]]; then
MACHINE_ID=hercules
else
MACHINE_ID=orion
Expand Down
8 changes: 5 additions & 3 deletions ush/sub_orion
Original file line number Diff line number Diff line change
Expand Up @@ -115,23 +115,25 @@ echo "#SBATCH --nodes=$nodes --ntasks-per-node=$procs --exclusive" >> $cfile
echo "#SBATCH --account=$accnt" >> $cfile

echo "" >>$cfile
echo "set -x" >> $cfile
echo "export ntasks=$(( $nodes * $procs ))" >> $cfile
echo "export ppn=$procs" >> $cfile
echo "export threads=$threads" >> $cfile
echo "export OMP_NUM_THREADS=$threads" >> $cfile
##echo "export OMP_STACKSIZE=2048M" >> $cfile
echo "ulimit -s unlimited" >> $cfile

echo "" >>$cfile
echo ". "$(awk '{ print $1, $2, $3, $4, $5, $6, $7, $8, $9 }' $regdir/regression_var.out) >>$cfile
echo "" >>$cfile

echo ". /apps/lmod/lmod/init/sh" >> $cfile
echo ". /apps/other/lmod/lmod/init/sh" >> $cfile
echo "module purge" >> $cfile
echo "module use $modulefiles" >> $cfile
echo "module load gsi_orion.intel" >> $cfile
echo "module list" >> $cfile
echo "" >> $cfile
#TODO reenable I_MPI_EXTRA_FILESYSTEM once regional ctests can properly handle parallel I/O on Orion
echo "unset I_MPI_EXTRA_FILESYSTEM" >> $cfile

cat $exec >> $cfile

if [[ $nosub = YES ]];then
Expand Down

0 comments on commit 529bb79

Please sign in to comment.