LBANN  0.103.0
LivermoreBigArtificialNeuralNetworkToolkit
fftw_wrapper.hpp File Reference
#include <lbann/base.hpp>
#include <lbann/utils/dim_helpers.hpp>
#include <lbann/utils/exception.hpp>
#include <lbann/utils/fft_common.hpp>
#include <fftw3.h>
Include dependency graph for fftw_wrapper.hpp:

Go to the source code of this file.

Classes

struct  lbann::fftw::FFTWTypeT< T >
 
struct  lbann::fftw::FFTWTypeT< float >
 
struct  lbann::fftw::FFTWTypeT< double >
 
struct  lbann::fftw::FFTWTypeT< El::Complex< float > >
 
struct  lbann::fftw::FFTWTypeT< El::Complex< double > >
 
struct  lbann::fftw::FFTWTraits< InputT, OutputT >
 
class  lbann::fftw::FFTWWrapper< InputTypeT >
 Wrapper around FFTW. More...
 
struct  lbann::fftw::FFTWWrapper< InputTypeT >::InternalPlanType
 

Namespaces

 lbann
 
 lbann::fftw
 

Macros

#define BUILD_FFTW_R2C_TRAITS(INTYPE, FFTW_PREFIX)
 
#define BUILD_FFTW_C2C_TRAITS(INTYPE, FFTW_PREFIX)
 

Typedefs

template<typename T >
using lbann::fftw::FFTWType = typename FFTWTypeT< T >::type
 

Functions

template<typename T >
auto lbann::fftw::AsFFTWType (T *buffer)
 
 lbann::fftw::BUILD_FFTW_R2C_TRAITS (float, fftwf)
 
 lbann::fftw::BUILD_FFTW_R2C_TRAITS (double, fftw)
 
 lbann::fftw::BUILD_FFTW_C2C_TRAITS (float, fftwf)
 
 lbann::fftw::BUILD_FFTW_C2C_TRAITS (double, fftw)
 

Macro Definition Documentation

◆ BUILD_FFTW_C2C_TRAITS

#define BUILD_FFTW_C2C_TRAITS (   INTYPE,
  FFTW_PREFIX 
)

Definition at line 92 of file fftw_wrapper.hpp.

◆ BUILD_FFTW_R2C_TRAITS

#define BUILD_FFTW_R2C_TRAITS (   INTYPE,
  FFTW_PREFIX 
)
Value:
template <> \
struct FFTWTraits<INTYPE, El::Complex<INTYPE>> \
{ \
using plan_type = FFTW_PREFIX##_plan; \
using iodim_type = FFTW_PREFIX##_iodim; \
static constexpr auto plan_many_fwd = &FFTW_PREFIX##_plan_many_dft_r2c; \
static constexpr auto plan_many_bwd = &FFTW_PREFIX##_plan_many_dft_c2r; \
static constexpr auto plan_guru_fwd = &FFTW_PREFIX##_plan_guru_dft_r2c; \
static constexpr auto plan_guru_bwd = &FFTW_PREFIX##_plan_guru_dft_c2r; \
static constexpr auto execute_plan_fwd = &FFTW_PREFIX##_execute_dft_r2c; \
static constexpr auto execute_plan_bwd = &FFTW_PREFIX##_execute_dft_c2r; \
static constexpr auto destroy_plan = &FFTW_PREFIX##_destroy_plan; \
static constexpr auto plain_execute = &FFTW_PREFIX##_execute; \
}

Definition at line 76 of file fftw_wrapper.hpp.