Highly Efficient FFT for Exascale: HeFFTe v2.3
heffte::plan_cufft< scalar_type > Struct Template Reference

Wrapper around cufftHandle plans, set for float or double complex. More...

#include <heffte_backend_cuda.h>

Public Member Functions

 plan_cufft (cudaStream_t stream, int size, int batch, int stride, int dist)
 Constructor, takes inputs identical to cufftMakePlanMany(). More...
 
 plan_cufft (cudaStream_t stream, int size1, int size2, std::array< int, 2 > const &embed, int batch, int stride, int dist)
 Constructor, takes inputs identical to cufftMakePlanMany(). More...
 
 plan_cufft (cudaStream_t stream, int size1, int size2, int size3)
 Constructor, takes inputs identical to cufftPlan3d()
 
 ~plan_cufft ()
 Destructor, deletes the plan.
 
 operator cufftHandle () const
 Custom conversion to the cufftHandle.
 

Detailed Description

template<typename scalar_type>
struct heffte::plan_cufft< scalar_type >

Wrapper around cufftHandle plans, set for float or double complex.

  • Template Parameters
    scalar_typemust be std::compelx<float> or std::complex<double>

Constructor & Destructor Documentation

◆ plan_cufft() [1/2]

template<typename scalar_type >
heffte::plan_cufft< scalar_type >::plan_cufft ( cudaStream_t  stream,
int  size,
int  batch,
int  stride,
int  dist 
)
inline

Constructor, takes inputs identical to cufftMakePlanMany().

Parameters
streamis the CUDA stream to use for the transform
sizeis the number of entries in a 1-D transform
batchis the number of transforms in the batch
strideis the distance between entries of the same transform
distis the distance between the first entries of consecutive sequences

◆ plan_cufft() [2/2]

template<typename scalar_type >
heffte::plan_cufft< scalar_type >::plan_cufft ( cudaStream_t  stream,
int  size1,
int  size2,
std::array< int, 2 > const &  embed,
int  batch,
int  stride,
int  dist 
)
inline

Constructor, takes inputs identical to cufftMakePlanMany().

Parameters
streamis the CUDA stream to use for the transform
size1is the number of entries in a 2-D transform (dimension 1)
size2is the number of entries in a 2-D transform (dimension 2)
embeddefines the embedding of the 2-D transform into a 3-D box
batchis the number of transforms in the batch
strideis the distance between entries of the same transform
distis the distance between the first entries of consecutive sequences

The documentation for this struct was generated from the following file: