QMCPACK / QMCPACK/qmcpack

boost-multi alignof(std::max_align_t)

Open
#4,121 11 comments 0 reactions 1 assignee Claimed by @correaa View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.