Update EKAT kokkos for Aurora#372
Conversation
|
Thanks for opening this pull request! Please check out our contributing guidelines. |
|
Conrad (@tcclevenger), please take a look at this PR. I added more details in the description about why this is still needed. If it's easier, this can be rolled onto kokkos-5 PR: adds 1-line. |
There was a problem hiding this comment.
Pull request overview
Updates the EKAT Kokkos submodule to a newer upstream commit that includes Aurora support (recognizing PALS_LOCAL_RANKID for local MPI rank detection).
Changes:
- Bumps
extern/kokkossubmodule pointer to a newer commit.
Comments suppressed due to low confidence (1)
extern/kokkos:1
- Since this PR is a submodule SHA bump only, it’s hard to review/trace the exact Kokkos change being pulled in. Consider adding to the PR description (or a short note in the commit message) a direct link to the upstream Kokkos commit/PR that introduces
PALS_LOCAL_RANKID, and briefly summarize any other notable upstream changes included between the old and new SHA (to help future debugging/regression triage).
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@amametjanov don't ask for copilot review for a PR thats just a submodule update. It can't really review anything. |
|
yes, a better review is at E3SM-Project/kokkos#2 |
|
Apologies, Az, this completely fell off my radar. I see (and approved) your Kokkos PR, but we can merge this as well if you want to have the change in immediately |
|
Thanks for reviewing this. I'd rather have this change in sooner than later (just to avoid forgetting about it again). I'm not sure how soon the kokkos-5 update will make it onto E3SM-master (if 8895 is also added to the update). Pushing this forward along with |
Are you referring to this commit? Go ahead and add that change in this PR and I'll merge and then open an EKAT update PR in E3SM repo. Edit: Never mind, I see #413 which merged. I'll merge this PR and then update EKAT in E3SM |
|
EKAT update PR E3SM-Project/E3SM#8088 |
Add
PALS_LOCAL_RANKIDto the list of recognized env-varsin
Kokkos::Impl::mpi_local_rank_on_node()at core/src/impl/Kokkos_CPUDiscovery.cpp#L35 .PALS_LOCAL_RANKIDon Aurora has the expected local on-node MPI task id.None of the other env-vars in the Kokkos function are defined on Aurora.
So, E3SM has been using a local shell script
gpu_tile_compact.shin the mpiexec launch: e.g.which copies value of
$PALS_LOCAL_RANKIDintoMPI_LOCALRANKID(which is recognized) as a work-around.Without this work-around, e3sm.log has numerous per-mpi-process warnings during kokkos-init like
raised from here .
By adding this branch on top of e3sm's kokkos, we can remove
gpu_tile_compact.shand clean up the mpiexec launch.[BFB]