18 #include <AMReX_Config.H>
22 #elif defined(AMREX_USE_HIP)
23 # if __has_include(<rocfft/rocfft.h>)
24 # include <rocfft/rocfft.h>
48 # ifdef AMREX_USE_FLOAT
51 using Complex = cuDoubleComplex;
53 #elif defined(AMREX_USE_HIP)
54 # ifdef AMREX_USE_FLOAT
60 # ifdef AMREX_USE_FLOAT
72 #elif defined(AMREX_USE_HIP)
75 # ifdef AMREX_USE_FLOAT
Wrapper around multiple FFT libraries.
Definition: AnyFFT.H:43
void Execute(FFTplan &fft_plan)
Perform FFT with backend library.
Definition: WrapCuFFT.cpp:68
fftw_plan VendorFFTPlan
Definition: AnyFFT.H:78
direction
Definition: AnyFFT.H:85
FFTplan CreatePlan(const amrex::IntVect &real_size, amrex::Real *const real_array, Complex *const complex_array, const direction dir)
create FFT plan for the backend FFT library.
Definition: WrapCuFFT.cpp:29
fftw_complex Complex
Definition: AnyFFT.H:63
void DestroyPlan(FFTplan &fft_plan)
Destroy library FFT plan.
Definition: WrapCuFFT.cpp:63
This struct contains the vendor FFT plan and additional metadata.
Definition: AnyFFT.H:90
Complex * m_complex_array
Definition: AnyFFT.H:92
amrex::Real * m_real_array
Definition: AnyFFT.H:91
direction m_dir
Definition: AnyFFT.H:94
VendorFFTPlan m_plan
Definition: AnyFFT.H:93