-
Notifications
You must be signed in to change notification settings - Fork 53
Distinguish all char types in ADIOS2 backend #1275
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
Conversation
3d953e8 to
ac39140
Compare
ac39140 to
705a8ac
Compare
|
Note: We should think about introducing a copied Datatype enum in the JSON backend as well. In the JSON backend, the string representations of the datatypes are part of the written dataset on disk, so having that JSON-specific will help not accidentally introducing a breaking change. |
f0e357c to
b3243dd
Compare
|
I now removed the ADIOS2Datatype thing again in the ADIOS2 backend since the benefits of keeping both enums separate were less than I'd thought in the beginning. I kept some of the refactoring, putting some code in private headers away from public includes. |
102b3ae to
fbfc490
Compare
fbfc490 to
f738344
Compare
| } | ||
| #if defined(__INTEL_COMPILER) | ||
| /* | ||
| * ICPC has trouble with if constexpr, thinking that return statements are |
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 NVCC 11.0 has a similar issue, potentially check and add a similar suppression?
Around 11.5+, the false warning is solved.
| } | ||
| #if defined(__INTEL_COMPILER) | ||
| /* | ||
| * ICPC has trouble with if constexpr, thinking that return statements are |
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.
Pls see above note on NVCC
ax3l
left a comment
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.
🚀 ✨
ADIOS2 now distinguishes between
char,signed charandunsigned char. Especially BP5 is unforgiving about this.Until now, the ADIOS2 backend uses the public
openPMD::Datatypeenum, which has already caused some issues in the past. This PR introduces a new internal enumADIOS2Datatypewhich is used to fully support ADIOS2 datatypes, especially char types. It is purely internal so we can change it as we please without breaking the API.Close #1273
Tests will mainly come in #1218 where BP5 will be a default backend for tests