KokkosFFT::Plan
-
template<typename ExecutionSpace, typename InViewType, typename OutViewType, std::size_t DIM = 1>
class Plan A class that manages a FFT plan of backend FFT library.
This class is used to manage the FFT plan of backend FFT library. Depending on the input and output Views and axes, appropriate FFT plans are created. If there are inconsistency in input and output views, the compilation would fail.
- Template Parameters:
ExecutionSpace – The type of Kokkos execution space
InViewType – Input View type for the FFT
OutViewType – Output View type for the FFT
DIM – The dimensionality of the FFT
Public Functions
-
inline explicit Plan(const ExecutionSpace &exec_space, const InViewType &in, const OutViewType &out, KokkosFFT::Direction direction, int axis, std::optional<std::size_t> n = std::nullopt)
Constructor for one-dimensional FFT.
- Parameters:
exec_space – [in] Kokkos execution space for this plan
in – [in] Input data
out – [in] Output data
direction – [in] Direction of FFT (forward/backward)
axis – [in] Axis over which FFT is performed
n – [in] Length of the transformed axis of the output (default, nullopt)
-
inline explicit Plan(const ExecutionSpace &exec_space, const InViewType &in, const OutViewType &out, KokkosFFT::Direction direction, axis_type<DIM> axes, shape_type<DIM> s = {})
Constructor for multidimensional FFT.
- Parameters:
exec_space – [in] Kokkos execution space for this plan
in – [in] Input data
out – [in] Output data
direction – [in] Direction of FFT (forward/backward)
axes – [in] Axes over which FFT is performed
s – [in] Shape of the transformed axis of the output (default, {})