E3SM-Project / E3SM-Project/EKAT

Move away from std functions inside Packs implementation

Open
#396 0 comments 0 reactions 2 assignees Claimed by @tcclevenger View on GitHub
code cleanup code quality code usability enhancement
Dominant language
C++
Stars
22
Forks
12
PR merge metrics
No merged PRs in 30d

Description

These cause plenty of false positive warnings on GPU, and are a bit annoying. Instead, we should completely rely on stuff in `Kokkos_MathematicalFunctions.hpp`. Namely, I think we should

- [ ] Use `Kokkos::xyz` instead of `std::xyz` inside the pack loop of the fcn overload
- [ ] Inject our pack utilities into the Kokkos namespace, so that downstream templated code can do `Kokkos::sqrt(my_value)` without having to worry whether `my_value` is a builtin type or a pack.
- [ ] Remove `ekat::impl::max` and `ekat::impl::min`, in favor of the ones provided by Kokkos.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.