-
Notifications
You must be signed in to change notification settings - Fork 339
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
Add OpenACC module to core_test #1175
Conversation
Also includes changes to LDFLAGS that are in #1174. |
b5d2a99
to
690909e
Compare
10fb55b
to
cdc2ac0
Compare
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.
I think this looks generally good. Just two minor comments to address.
cdc2ac0
to
054078d
Compare
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.
The final state of the PR branch looks good to me. But, some commits (e.g., a2a82b2) don't compile with the GNU 13.2.0 compilers:
mpas_test_openacc.F:343:10:
343 | #ifdef MPAS_OPENACC
| 1
Error: Invalid character in name at (1)
If it's easier, feel free to just squash all of the commits into a single commit. Otherwise, if you'd like to preserve all commits, I think you may need to go back to the first commit on the branch to resolve the pre-processing directive issue.
Right now this just contains a stub routine, but this gets some of the "plumbing work" done.
Guard the call to mpas_test_openacc routine with ifdef MPAS_OPENACC so the routines are only run if the test_core is built with OpenACC enabled.
This test carries out some calculations on the CPU and the GPU based on patterns in the dynamics of core_atmosphere. If the difference between the CPU results and the GPU results is 0, the test succeeds.
054078d
to
b276568
Compare
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 to me. Thanks!
This PR adds a new module to the test core that will be used to test OpenACC functionality and any OpenACC-specific framework routines that are added to MPAS. The only test added in this PR is based on patterns from the MPAS-A dycore. If the test core is compiled without
OPENACC=true
, the OpenACC tests are skipped.