Skip to content

Struct TempLat::KokkosFFTPlanHolder::Plans

ClassList > TempLat > KokkosFFTPlanHolder > Plans

What's the intention here? Well, KokkosFFT does not support multi-dimensional FFTs directly, but only 1D, 2D and 3D FFTs. So for higher dimensions, we need to chain multiple FFTs together. This struct holds the plans for these FFTs, and provides methods to execute them in sequence. More...

  • #include <kokkosfftplanholder.h>

Public Attributes

Type Name
std::shared_ptr< PlanType_c2r > c2rPlan
device::array< int, NDim > configSizes
device::array< int, NDim > fourierSizes
std::shared_ptr< PlanType_r2c > r2cPlan

Public Functions

Type Name
void execute_c2r (const auto & src, const auto & dest)
void execute_r2c (const auto & src, const auto & dest)

Detailed Description

However.

We currently do not use this, as KokkosFFT does not support in-place transpositions. Therefore, we just fill a 1D, 2D or 3D plan and call that. I'm leaving this here for future reference, in case KokkosFFT adds in-place transposition or I (or someone else) implement it themselves.

Public Attributes Documentation

variable c2rPlan

std::shared_ptr<PlanType_c2r> TempLat::KokkosFFTPlanHolder< T, NDim >::Plans::c2rPlan;

variable configSizes

device::array<int, NDim> TempLat::KokkosFFTPlanHolder< T, NDim >::Plans::configSizes;

variable fourierSizes

device::array<int, NDim> TempLat::KokkosFFTPlanHolder< T, NDim >::Plans::fourierSizes;

variable r2cPlan

std::shared_ptr<PlanType_r2c> TempLat::KokkosFFTPlanHolder< T, NDim >::Plans::r2cPlan;

Public Functions Documentation

function execute_c2r

inline void TempLat::KokkosFFTPlanHolder::Plans::execute_c2r (
    const auto & src,
    const auto & dest
) 

function execute_r2c

inline void TempLat::KokkosFFTPlanHolder::Plans::execute_r2c (
    const auto & src,
    const auto & dest
) 


The documentation for this class was generated from the following file cosmolatticeweb/tmp/code_source/templat/include/TempLat/fft/external/kokkosfft/kokkosfftplanholder.h