-
Notifications
You must be signed in to change notification settings - Fork 8
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
Add check to ensure complex alignment #228
Conversation
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.
Seems good to me. Could you check that the detection works if the option is missing ?
For CUDA, I got the following errors if we compile with kokkos-fft/fft/src/KokkosFFT_default_types.hpp(11): error: static assertion failed with "KokkosFFT requires option -DKokkos_ENABLE_COMPLEX_ALIGN=ON to build Kokkos"
kokkos-fft/fft/src/KokkosFFT_Cuda_types.hpp(20): error: static assertion failed
kokkos-fft/fft/src/KokkosFFT_Cuda_types.hpp(23): error: static assertion failed I think we need to improve the error messages under |
Seems good, what about the cmake detection ? |
If we rely on installed Kokkos with -- Could NOT find Kokkos_OPTIONS (missing: COMPLEX_ALIGN)
CMake Error at lib/kokkos4.5_unalign/lib64/cmake/Kokkos/KokkosConfigCommon.cmake:112 (message):
Kokkos does NOT provide all backends and/or architectures requested
Call Stack (most recent call first):
CMakeLists.txt:42 (kokkos_check) Should be OK |
Ok for me! |
@tpadioleau |
Resolves #226
In kokkos-fft, we strongly assume the 32 bit alignment of
Kokkos::complex
type.This PR checks whether
KOKKOS_ENABLE_COMPLEX_ALIGN
is enabled inCMake
andcpp
code.