boost-multi alignof(std::max_align_t)
- Dominant language
- C++
- Stars
- 403
- Forks
- 154
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 82
Description
**Describe the bug**
From Jakub Kurzak, AMD
There was a bug in boost-multi, which has been fixed:
https://gitlab.com/correaa/boost-multi/-/commit/30d75aad4700552ea6dca50c278e73dd73f173f2
The issue actually has been reported on QMCPACK's GitHub page:
https://github.com/QMCPACK/qmcpack/issues/3696#issuecomment-1010573751
alignof(std::max_align_t) is calculated as the largest scalar type, which is usually long double.
For amdgpu and nvptx, long double is actually just double, which is 8 bytes.
nvcc calculates alignof(std::max_align_t) as 16, which is incorrect.
cuda-clang correctly calcuates alignof(std::max_align_t) as 8.
There was a recent fix in our compiler, which changed alignof(std::max_align_t) from 16 to 8.
QMCPACK needs to be updated to the version of boost-multi with this fix
Contributor guide
Assessment
This issue has not been assessed yet.