Skip to content

Conversation

@johnbowen42
Copy link
Contributor

This PR simplifies forall implementations by using if constexpr. Specifically, SFINAE overloads for empty/nonempty forall param packs are removed from CUDA and HIP, because we can use if constexpr to conditionally init/combine/resolve/ param packs. For OpenMP, a few other SFINAE overloads are simplified as well

@johnbowen42 johnbowen42 requested a review from a team August 18, 2025 22:23
@johnbowen42
Copy link
Contributor Author

solves #1877

Copy link
Member

@trws trws left a comment

Choose a reason for hiding this comment

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

I love this kind of PR, good stuff.

I notice some of the OpenMP stuff is still duplicated, if the compilers support it those could be collapsed out with metadirective too but this is great. 👍

@johnbowen42 johnbowen42 force-pushed the feature/bowen/simplify-forall-param-pack-constexpr-if branch from 9ecde55 to 1b4593e Compare August 19, 2025 19:06
@johnbowen42 johnbowen42 merged commit a7657bf into develop Sep 12, 2025
27 checks passed
@johnbowen42 johnbowen42 deleted the feature/bowen/simplify-forall-param-pack-constexpr-if branch September 12, 2025 23:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants