Skip to content

Conversation

jgfouca
Copy link
Member

@jgfouca jgfouca commented May 12, 2025

The rrtmgp standalone submodule will still need YAKL support due to other parts of E3SM still using YAKL. I will investigate transitioning these parts to Kokkos at some point.

Change Homme cmake to use known Kokkos cmake vars that indicate the device type, don't rely on arbitrary settings for these that come from eamxx.

[BFB]

@jgfouca jgfouca requested review from bartgol, brhillman and mahf708 May 12, 2025 15:34
@jgfouca jgfouca self-assigned this May 12, 2025
@jgfouca jgfouca added BFB PR leaves answers BFB EAMxx Issues related to EAMxx labels May 12, 2025
Copy link
Contributor

@mahf708 mahf708 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love it 🚀

some tests need fixing though, but that's par for the course as they say

Copy link
Contributor

@bartgol bartgol left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. I would suggest punting on Homme changes, or maybe just extract the commit and issue a separate PR, to keep each PR focused on one thing (in case reverting is needed). But up to you.

MESSAGE(STATUS "Linker Flags = ${CMAKE_EXE_LINKER_FLAGS}")

SET (HOMMEXX_ENABLE_GPU FALSE)
SET (HOMMEXX_ENABLE_GPU_F90 FALSE)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For as much as I agree with these changes in Homme, this seems unrelated, and will cost you a wait for nightly testing. Imho, it could be done separately.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It actually is related. The were a number of redundant settings in our eamxx CMakelist file that claimed to be related to YAKL:

set (CUDA_BUILD FALSE CACHE BOOL "") #needed for yakl if kokkos vars are not visible there?
set (HIP_BUILD FALSE CACHE BOOL "") #needed for yakl if kokkos vars are not visible there?
set (SYCL_BUILD FALSE CACHE BOOL "") #needed for yakl if kokkos vars are not visible there?

Copy link
Contributor

@bartgol bartgol May 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could just leave the XYZ_BUILD everywhere, and replace them with Kokkos_ENABLE_XYZ in src/physics/rrtmgp/CMakeLists.txt. The comment is misleading since they are needed also by Homme.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True. I will rework the PR once I can figure out why it's not passing CI.

@jgfouca
Copy link
Member Author

jgfouca commented May 14, 2025

This change is big enough that I think I want to let next hit it with or without the homme changes, so I'm starting to feel like being lazy and just leaving the homme changes in ... 🦥

@jgfouca jgfouca added the HOMME label May 14, 2025
jgfouca added a commit that referenced this pull request May 14, 2025
Remove YAKL backend support for eamxx/rrtmgp

The rrtmgp standalone submodule will still need YAKL support due to
other parts of E3SM still using YAKL. I will investigate transitioning
these parts to Kokkos at some point.

Change Homme cmake to use known Kokkos cmake vars that indicate the
device type, don't rely on arbitrary settings for these that come from
eamxx.

[BFB]
@jgfouca jgfouca merged commit cf5e789 into master May 15, 2025
23 of 26 checks passed
@jgfouca jgfouca deleted the jgfouca/rrtmgp_remove_yakl branch May 15, 2025 20:47
@bartgol
Copy link
Contributor

bartgol commented May 15, 2025

@jgfouca the scripts tests have failed. Do you know if it's related to the PR or it was already in master?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BFB PR leaves answers BFB EAMxx Issues related to EAMxx HOMME
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants