-
Notifications
You must be signed in to change notification settings - Fork 435
Remove YAKL backend support for eamxx/rrtmgp #7345
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
Conversation
There was a problem hiding this 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
There was a problem hiding this 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) |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
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 ... 🦥 |
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 the scripts tests have failed. Do you know if it's related to the PR or it was already in master? |
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]