-
Notifications
You must be signed in to change notification settings - Fork 41
Add ability to call ecTrans with two "call modes" in benchmark #122
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
base: develop
Are you sure you want to change the base?
Conversation
74ea10a
to
b4fa742
Compare
Finally ready for review, when you're ready @marsdeno @wdeconinck. |
7433c65
to
2b57504
Compare
Hello, any update regarding this ? it is still blocking HPCW release. |
Hi @antoine-morvan - I'm afraid we just have to be patient with this. This PR is not considered important on our side, and the colleagues responsible for the review are not connected to the HPCW project. Hence we cannot ask them to prioritise this work. I think there is a way to make the first HPCW release even before this PR is merged -> I'll make a comment on the DKRZ Gitlab issue. |
8f4e8a7
to
24702d0
Compare
24702d0
to
a309b68
Compare
e47a267
to
84ee0a0
Compare
Perhaps a good time to resolve conflicts and merge now? |
8dc2b1c
to
cafb5bd
Compare
INV_TRANS and DIR_TRANS support two ways of passing arrays: 1) PSPVOR, PSPDIV, PSPSCALAR <=> PGP 2) PSPVOR, PSPDIV <=> PGPUV; PSPSC3A <=> PGP3A; PSPSC2 <=> PGP2 Previously we only supported the second one. With this commit you can now also call the first style. In the IFS we use both cases in different places so it's important to have both cases covered. We can now extend the test suite so more of the code has coverage. In this commit I also tidied up a few things: - All spectral and grid point work arrays are separately allocated, rather than relying on big work arrays to store everything and pointers to access slices. - I deleted a couple unused variables.
This needs to be investigated.
cafb5bd
to
91903d8
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 is good to merge pending some minor suggestions and questions.
if( NOT "${benchmark}" MATCHES "-gpu-" ) | ||
ecbuild_add_test( TARGET ${base_title}_nfld0 | ||
COMMAND ${benchmark} | ||
ARGS --truncation ${t} --grid ${grid} --nfld 0 --check 200 ${base_args} --callmode ${callmode} |
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.
Better to keep base_args at the end?
COMMAND ${benchmark} | ||
ARGS --truncation ${t} --grid ${grid} --nfld 0 --check 100 ${base_args} | ||
ARGS --truncation ${t} --grid ${grid} --nfld 10 --check 200 ${base_args} --callmode ${callmode} |
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.
why the change in check argument?
@@ -1143,6 +1125,7 @@ & subroutine on memory usage, thread-binding etc." | |||
& tolerance for correctness checking" | |||
write(nout, "(a)") " --no-pinning Disable memory-pinning (a.k.a. page-locked memory) & | |||
& to allocate fields for GPU version" | |||
write(nout, "(a)") " --callmode The call mode for INV_TRANS and DIR_TRANS (1 or 2)" |
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.
Could we have some more documentation on this mode? Also as part of the help.
INV_TRANS and DIR_TRANS support two ways of passing arrays:
Previously we only supported the second one. With this commit you can now also call the first style. In the IFS we use both cases in different places so it's important to have both cases covered.
We can now extend the test suite so more of the code has coverage.
I am still trying to figure out how scalar fields are packed, hence this branch gives erroneous norms for scalar fields. I will continue working on this.