You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Summary
Ensure we can use any producing type's `simd_mask`, e.g., `double`, when
setting (in)valid particles, by manipulating our `uint64` in `idcpu`.
This currently requires a conversion/cast in C++. Make this conversion
portable, so far it only worked on GCC/Linux.
This helper needs C++20. Thus, build AMReX conditionally always with
C++20 or newer when SIMD is requested (non-default). Eventually, we will
require C++26 once this becomes standard, and C++29 will have even more
updates.
## Additional background
Portability to macOS/Windows:
- conda-forge/impactx-feedstock#54
- mattkretz/vir-simd#45
## Checklist
The proposed changes:
- [x] fix a bug or incorrect behavior in AMReX
- [ ] add new capabilities to AMReX
- [ ] changes answers in the test suite to more than roundoff level
- [ ] are likely to significantly affect the results of downstream AMReX
users
- [ ] include documentation in the code and/or rst files, if appropriate
0 commit comments