isce3  0.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Public Types | Public Member Functions | List of all members
isce3::cuda::fft::FwdFFTPlan< T > Class Template Referencefinal

RAII wrapper encapsulating cuFFT plan for forward FFT execution. More...

#include <FFTPlan.h>

Inheritance diagram for isce3::cuda::fft::FwdFFTPlan< T >:
isce3::cuda::fft::detail::FFTPlanBase< CUFFT_FORWARD, T >

Public Types

using super_t = detail::FFTPlanBase< CUFFT_FORWARD, T >
 

Public Member Functions

 FwdFFTPlan ()
 Construct an invalid plan. More...
 
 FwdFFTPlan (thrust::complex< T > *out, T *in, int n, int batch=1)
 1-D real-to-complex forward transform More...
 
template<int Rank>
 FwdFFTPlan (thrust::complex< T > *out, T *in, const int(&n)[Rank], int batch=1)
 N-D real-to-complex forward transform. More...
 
 FwdFFTPlan (thrust::complex< T > *out, T *in, int n, int nembed, int stride, int dist, int batch=1)
 1-D real-to-complex forward transform More...
 
template<int Rank>
 FwdFFTPlan (thrust::complex< T > *out, T *in, const int(&n)[Rank], const int(&nembed)[Rank], int stride, int dist, int batch=1)
 N-D real-to-complex forward transform. More...
 
 FwdFFTPlan (thrust::complex< T > *out, T *in, int n, int inembed, int istride, int idist, int onembed, int ostride, int odist, int batch=1)
 1-D real-to-complex forward transform More...
 
template<int Rank>
 FwdFFTPlan (thrust::complex< T > *out, T *in, const int(&n)[Rank], const int(&inembed)[Rank], int istride, int idist, const int(&onembed)[Rank], int ostride, int odist, int batch=1)
 N-D real-to-complex forward transform. More...
 
- Public Member Functions inherited from isce3::cuda::fft::detail::FFTPlanBase< CUFFT_FORWARD, T >
 FFTPlanBase (thrust::complex< T > *out, thrust::complex< T > *in, int n, int batch=1)
 
 FFTPlanBase (thrust::complex< T > *out, thrust::complex< T > *in, const int(&n)[Rank], int batch=1)
 
 FFTPlanBase (thrust::complex< T > *out, thrust::complex< T > *in, int n, int nembed, int stride, int dist, int batch=1)
 
 FFTPlanBase (thrust::complex< T > *out, thrust::complex< T > *in, const int(&n)[Rank], const int(&nembed)[Rank], int stride, int dist, int batch=1)
 
 FFTPlanBase (thrust::complex< T > *out, thrust::complex< T > *in, int n, int inembed, int istride, int idist, int onembed, int ostride, int odist, int batch=1)
 
 FFTPlanBase (thrust::complex< T > *out, thrust::complex< T > *in, const int(&n)[Rank], const int(&inembed)[Rank], int istride, int idist, const int(&onembed)[Rank], int ostride, int odist, int batch=1)
 
 operator bool () const
 
void execute () const
 

Additional Inherited Members

- Protected Member Functions inherited from isce3::cuda::fft::detail::FFTPlanBase< CUFFT_FORWARD, T >
 FFTPlanBase (U *out, V *in, const int *n, const int *inembed, int istride, int idist, const int *onembed, int ostride, int odist, int batch, int rank, cufftType type)
 
- Protected Attributes inherited from isce3::cuda::fft::detail::FFTPlanBase< CUFFT_FORWARD, T >
void * _out
 
void * _in
 
cufftType _type
 
std::shared_ptr< cufftHandle > _plan
 

Detailed Description

template<typename T>
class isce3::cuda::fft::FwdFFTPlan< T >

RAII wrapper encapsulating cuFFT plan for forward FFT execution.

Constructor & Destructor Documentation

template<typename T >
isce3::cuda::fft::FwdFFTPlan< T >::FwdFFTPlan ( )
inline

Construct an invalid plan.

The plan is allocated but not initialized. It should not be executed.

template<typename T >
isce3::cuda::fft::FwdFFTPlan< T >::FwdFFTPlan ( thrust::complex< T > *  out,
T *  in,
int  n,
int  batch = 1 
)

1-D real-to-complex forward transform

Parameters
[out]outOutput buffer
[in]inInput data
[in]nTransform size
[in]batchBatch size
template<typename T >
template<int Rank>
isce3::cuda::fft::FwdFFTPlan< T >::FwdFFTPlan ( thrust::complex< T > *  out,
T *  in,
const int(&)  n[Rank],
int  batch = 1 
)

N-D real-to-complex forward transform.

Template Parameters
RankTransform dimensionality (1, 2, or 3)
Parameters
[out]outOutput buffer
[in]inInput data
[in]nSize of each transform dimension
[in]batchBatch size
template<typename T >
isce3::cuda::fft::FwdFFTPlan< T >::FwdFFTPlan ( thrust::complex< T > *  out,
T *  in,
int  n,
int  nembed,
int  stride,
int  dist,
int  batch = 1 
)

1-D real-to-complex forward transform

Parameters
[out]outOutput buffer
[in]inInput data
[in]nTransform size
[in]nembedSize of the array(s) containing in & out
[in]strideStride between adjacent elements in the input/output
[in]distStride between adjacent batches in the input/output
[in]batchBatch size
template<typename T >
template<int Rank>
isce3::cuda::fft::FwdFFTPlan< T >::FwdFFTPlan ( thrust::complex< T > *  out,
T *  in,
const int(&)  n[Rank],
const int(&)  nembed[Rank],
int  stride,
int  dist,
int  batch = 1 
)

N-D real-to-complex forward transform.

Template Parameters
RankTransform dimensionality (1, 2, or 3)
Parameters
[out]outOutput buffer
[in]inInput data
[in]nSize of each transform dimension
[in]nembedShape of the array(s) containing in & out
[in]strideStride between adjacent elements in the input/output
[in]distStride between adjacent batches in the input/output
[in]batchBatch size
template<typename T >
isce3::cuda::fft::FwdFFTPlan< T >::FwdFFTPlan ( thrust::complex< T > *  out,
T *  in,
int  n,
int  inembed,
int  istride,
int  idist,
int  onembed,
int  ostride,
int  odist,
int  batch = 1 
)

1-D real-to-complex forward transform

Parameters
[out]outOutput buffer
[in]inInput data
[in]nTransform size
[in]inembedSize of the array containing in
[in]istrideStride between adjacent elements in the input
[in]idistStride between adjacent batches in the input
[in]onembedSize of the array containing out
[in]ostrideStride between adjacent elements in the output
[in]odistStride between adjacent batches in the output
[in]batchBatch size
template<typename T >
template<int Rank>
isce3::cuda::fft::FwdFFTPlan< T >::FwdFFTPlan ( thrust::complex< T > *  out,
T *  in,
const int(&)  n[Rank],
const int(&)  inembed[Rank],
int  istride,
int  idist,
const int(&)  onembed[Rank],
int  ostride,
int  odist,
int  batch = 1 
)

N-D real-to-complex forward transform.

Template Parameters
RankTransform dimensionality (1, 2, or 3)
Parameters
[out]outOutput buffer
[in]inInput data
[in]nSize of each transform dimension
[in]inembedShape of the array containing in
[in]istrideStride between adjacent elements in the input
[in]idistStride between adjacent batches in the input
[in]onembedShape of the array containing out
[in]ostrideStride between adjacent elements in the output
[in]odistStride between adjacent batches in the output
[in]batchBatch size

The documentation for this class was generated from the following files:

Generated for ISCE3.0 by doxygen 1.8.5.