RAII wrapper encapsulating cuFFT plan for forward FFT execution. More...
#include <FFTPlan.h>
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 |
RAII wrapper encapsulating cuFFT plan for forward FFT execution.
|
inline |
Construct an invalid plan.
The plan is allocated but not initialized. It should not be executed.
isce3::cuda::fft::FwdFFTPlan< T >::FwdFFTPlan | ( | thrust::complex< T > * | out, |
T * | in, | ||
int | n, | ||
int | batch = 1 |
||
) |
1-D real-to-complex forward transform
[out] | out | Output buffer |
[in] | in | Input data |
[in] | n | Transform size |
[in] | batch | Batch size |
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.
Rank | Transform dimensionality (1, 2, or 3) |
[out] | out | Output buffer |
[in] | in | Input data |
[in] | n | Size of each transform dimension |
[in] | batch | Batch size |
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
[out] | out | Output buffer |
[in] | in | Input data |
[in] | n | Transform size |
[in] | nembed | Size of the array(s) containing in & out |
[in] | stride | Stride between adjacent elements in the input/output |
[in] | dist | Stride between adjacent batches in the input/output |
[in] | batch | Batch size |
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.
Rank | Transform dimensionality (1, 2, or 3) |
[out] | out | Output buffer |
[in] | in | Input data |
[in] | n | Size of each transform dimension |
[in] | nembed | Shape of the array(s) containing in & out |
[in] | stride | Stride between adjacent elements in the input/output |
[in] | dist | Stride between adjacent batches in the input/output |
[in] | batch | Batch size |
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
[out] | out | Output buffer |
[in] | in | Input data |
[in] | n | Transform size |
[in] | inembed | Size of the array containing in |
[in] | istride | Stride between adjacent elements in the input |
[in] | idist | Stride between adjacent batches in the input |
[in] | onembed | Size of the array containing out |
[in] | ostride | Stride between adjacent elements in the output |
[in] | odist | Stride between adjacent batches in the output |
[in] | batch | Batch size |
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.
Rank | Transform dimensionality (1, 2, or 3) |
[out] | out | Output buffer |
[in] | in | Input data |
[in] | n | Size of each transform dimension |
[in] | inembed | Shape of the array containing in |
[in] | istride | Stride between adjacent elements in the input |
[in] | idist | Stride between adjacent batches in the input |
[in] | onembed | Shape of the array containing out |
[in] | ostride | Stride between adjacent elements in the output |
[in] | odist | Stride between adjacent batches in the output |
[in] | batch | Batch size |