# include "gpu_3dfft_ocl.h"
#elif GMX_GPU_SYCL
# include "gpu_3dfft_sycl.h"
+# if GMX_SYCL_DPCPP && GMX_FFT_MKL
+# include "gpu_3dfft_sycl_mkl.h"
+# endif
# if GMX_SYCL_HIPSYCL
# include "gpu_3dfft_sycl_rocfft.h"
# endif
# elif GMX_GPU_SYCL
switch (backend)
{
+# if GMX_SYCL_DPCPP && GMX_FFT_MKL
+ case FftBackend::SyclMkl:
+ impl_ = std::make_unique<Gpu3dFft::ImplSyclMkl>(allocateGrids,
+ comm,
+ gridSizesInXForEachRank,
+ gridSizesInYForEachRank,
+ nz,
+ performOutOfPlaceFFT,
+ context,
+ pmeStream,
+ realGridSize,
+ realGridSizePadded,
+ complexGridSizePadded,
+ realGrid,
+ complexGrid);
+ break;
+# endif
# if GMX_SYCL_HIPSYCL
case FftBackend::SyclRocfft:
impl_ = std::make_unique<Gpu3dFft::ImplSyclRocfft>(allocateGrids,