fft.cpp
fft5d.cpp
parallel_3dfft.cpp
+ gpu_3dfft.cpp
)
if (GMX_FFT_FFTPACK)
if (GMX_FFT_MKL)
gmx_add_libgromacs_sources(fft_mkl.cpp)
endif()
-
+if(Heffte_FOUND)
+ gmx_add_libgromacs_sources(
+ gpu_3dfft_heffte.cpp
+ )
+endif()
if (GMX_GPU_CUDA)
gmx_add_libgromacs_sources(
# CUDA-specific sources
- gpu_3dfft.cu
+ gpu_3dfft_cufft.cu
+ )
+ _gmx_add_files_to_property(CUDA_SOURCES
+ # Must add these files so they can include cuda_runtime.h
+ gpu_3dfft.cpp
)
elseif (GMX_GPU_OPENCL)
gmx_add_libgromacs_sources(
gpu_3dfft_ocl.cpp
)
elseif (GMX_GPU_SYCL)
- # SYCL-TODO: proper implementation
+ if (NOT GMX_SYCL_HIPSYCL AND GMX_FFT_MKL)
+ gmx_add_libgromacs_sources(
+ gpu_3dfft_sycl_mkl.cpp
+ )
+ _gmx_add_files_to_property(SYCL_SOURCES
+ gpu_3dfft_sycl_mkl.cpp
+ )
+ endif()
+ if (GMX_SYCL_HIPSYCL AND GMX_HIPSYCL_HAVE_HIP_TARGET)
+ gmx_add_libgromacs_sources(
+ gpu_3dfft_sycl_rocfft.cpp
+ )
+ _gmx_add_files_to_property(SYCL_SOURCES
+ gpu_3dfft_sycl_rocfft.cpp
+ )
+ endif()
gmx_add_libgromacs_sources(
- # SYCL-specific sources
gpu_3dfft_sycl.cpp
)
_gmx_add_files_to_property(SYCL_SOURCES
gpu_3dfft_sycl.cpp
+ gpu_3dfft.cpp
)
else()
gmx_add_libgromacs_sources(