-
Notifications
You must be signed in to change notification settings - Fork 37
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
Move default loop policy to meshblock. Closes #68 #252
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.
Overall, this looks good. There's a few places the abstraction leaks, which I'd like to close up.
src/reconstruct/dc_inline.hpp
Outdated
@@ -39,7 +39,8 @@ void DonorCellX1(parthenon::team_mbr_t const &member, const int k, const int j, | |||
// compute L/R states for each variable | |||
for (int n = 0; n <= nu; ++n) { | |||
parthenon::par_for_inner( | |||
member, il, iu, [&](const int i) { ql(n, i + 1) = qr(n, i) = q(n, k, j, i); }); | |||
DEFAULT_INNER_LOOP_PATTERN, member, il, iu, |
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.
Here too
Codecov Report
@@ Coverage Diff @@
## develop #252 +/- ##
===========================================
- Coverage 56.63% 56.60% -0.03%
===========================================
Files 97 97
Lines 10504 10493 -11
===========================================
- Hits 5949 5940 -9
+ Misses 4555 4553 -2
Continue to review full report at Codecov.
|
@Yurlungur I tried to address all your comments. This should be ready for re-review now. |
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.
Thanks for addressing all my nitpicks. Looks good now.
PR Summary
This PR cleans up the default wrapper choices effectively removing one level in the nested hierarchy as the default pattern is now set at the
MeshBlock
level.Moreover, the default pattern is now set by CMake rather than
ifdefs
in the header.That the intermediate (now removed) wrappers were not actively used can also be seen by effectively only unit tests being affected by this change.
Already previously, the usage of
pmb->par_for
was encouraged as this is ensures that we use the correct execution space.PR Checklist