E3SM-Project / polaris

Testing and analysis for OMEGA, MPAS-Ocean, MALI and MPAS-Seaice
BSD 3-Clause "New" or "Revised" License
6 stars 13 forks source link

Add metis and parmetis to spack build #162

Closed xylar closed 8 months ago

xylar commented 9 months ago

Omega needs parmetis built with system compilers.

Checklist

xylar commented 9 months ago

Testing

So far, I have tested this on Omega in conjunction with #163 on Perlmutter-CPU. I ran:

./configure_polaris_envs.py --conda ~/miniforge3 --env_name polaris_test --update_spack --verbose --recreate

to create the conda and spack environments along with the load script. Then, I ran:

cd e3sm_submodules
git submodule update --init Omega
cd Omega
git submodule update --init --recursive externals/YAKL externals/ekat externals/scorpio cime
cd components/omega
mkdir build_${POLARIS_MACHINE}_${POLARIS_COMPILER}
cd build_${POLARIS_MACHINE}_${POLARIS_COMPILER}
cmake \
  -DOMEGA_CIME_COMPILER=${POLARIS_COMPILER} \
  -DOMEGA_CIME_MACHINE=${POLARIS_MACHINE} \
  -DPARMETIS_ROOT=${PARMETIS_ROOT} \
  -DMETIS_ROOT=${METIS_ROOT} \
  -DOMEGA_BUILD_TEST=ON \
  -S .. -B .
./omega_build.sh
ln -s /global/cfs/cdirs/e3sm/inputdata/ocn/mpas-o/oQU240/ocean.QU.240km.151209.nc test/OmegaMesh.nc
salloc --nodes 1 --qos interactive --time 01:00:00 --constraint cpu --account=e3sm
./omega_ctest.sh

The result were successful tests:

Test project /global/homes/x/xylar/e3sm_work/polaris/update-omega/e3sm_submodules/Omega/components/omega/build_pm-cpu_gnu
    Start 1: DATA_TYPES_TEST
1/6 Test #1: DATA_TYPES_TEST ..................   Passed    2.84 sec
    Start 2: MACHINE_ENV_TEST
2/6 Test #2: MACHINE_ENV_TEST .................   Passed   33.45 sec
    Start 3: BROADCAST_TEST
3/6 Test #3: BROADCAST_TEST ...................   Passed   66.38 sec
    Start 4: LOGGING_TEST
4/6 Test #4: LOGGING_TEST .....................   Passed    0.04 sec
    Start 5: DECOMP_TEST
5/6 Test #5: DECOMP_TEST ......................   Passed   74.82 sec
    Start 6: YAKL_TEST
6/6 Test #6: YAKL_TEST ........................   Passed   13.33 sec

100% tests passed, 0 tests failed out of 6

Total Test time (real) = 190.94 sec
xylar commented 9 months ago

I'm going to hold off on making this update until I add some more supported machines and compilers.