Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add metis and parmetis to spack build #162

Merged
merged 3 commits into from
Jan 31, 2024

Conversation

xylar
Copy link
Collaborator

@xylar xylar commented Jan 10, 2024

Omega needs parmetis built with system compilers.

Checklist

  • Testing comment in the PR documents testing used to verify the changes

@xylar xylar added the deployment Changes relate to creating conda and Spack environments, and creating a load script label Jan 10, 2024
@xylar xylar self-assigned this Jan 10, 2024
@xylar xylar changed the title Add metis to spack build and update polaris to v0.3.0 Add metis and parmetis to spack build and update polaris to v0.3.0 Jan 10, 2024
@xylar
Copy link
Collaborator Author

xylar commented Jan 10, 2024

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
Copy link
Collaborator Author

xylar commented Jan 11, 2024

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

@xylar xylar changed the title Add metis and parmetis to spack build and update polaris to v0.3.0 Add metis and parmetis to spack build Jan 18, 2024
@xylar xylar marked this pull request as draft January 18, 2024 11:55
@xylar xylar marked this pull request as ready for review January 31, 2024 09:53
@xylar xylar changed the base branch from main to update-to-0.3.0-alpha.1 January 31, 2024 10:07
@xylar xylar merged commit bdeab9f into E3SM-Project:update-to-0.3.0-alpha.1 Jan 31, 2024
@xylar xylar deleted the add-metis branch January 31, 2024 10:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
deployment Changes relate to creating conda and Spack environments, and creating a load script
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant