COMPASS  5.4.4
End-to-end AO simulation tool using GPU acceleration
CarmaFFT< T_in, T_out > Class Template Reference

this class provides the fft features to CarmaObj More...

#include <carma_fft.h>

Collaboration diagram for CarmaFFT< T_in, T_out >:

Public Member Functions

 CarmaFFT (long *dims_data, int inplace)
 
 ~CarmaFFT ()
 
int host2device (T_in *data)
 
int device2host (T_out *data)
 
int compute (int dir)
 
int compute (T_in *input, T_out *output, int dir)
 

Protected Attributes

CarmaObj< T_in > * d_input
 Input data. More...
 
CarmaObj< T_out > * d_output
 Output data. More...
 
cufftHandle plan
 FFT plan. More...
 
cufftType type_plan
 FFT plan type. More...
 
int inplace
 flag to select inplace transform or not (1 or 0) More...
 

Detailed Description

template<class T_in, class T_out>
class CarmaFFT< T_in, T_out >

this class provides the fft features to CarmaObj

Author
COMPASS Team https://github.com/ANR-COMPASS
Version
5.4.4
Date
2022/01/24

Definition at line 25 of file carma_fft.h.

Constructor & Destructor Documentation

◆ CarmaFFT()

template<class T_in , class T_out >
CarmaFFT< T_in, T_out >::CarmaFFT ( long *  dims_data,
int  inplace 
)

◆ ~CarmaFFT()

template<class T_in , class T_out >
CarmaFFT< T_in, T_out >::~CarmaFFT ( )

Member Function Documentation

◆ compute() [1/2]

template<class T_in , class T_out >
int CarmaFFT< T_in, T_out >::compute ( int  dir)

Compute on the class members

◆ compute() [2/2]

template<class T_in , class T_out >
int CarmaFFT< T_in, T_out >::compute ( T_in *  input,
T_out *  output,
int  dir 
)

Compute on any array

◆ device2host()

template<class T_in , class T_out >
int CarmaFFT< T_in, T_out >::device2host ( T_out *  data)

Memory transfers both ways

◆ host2device()

template<class T_in , class T_out >
int CarmaFFT< T_in, T_out >::host2device ( T_in *  data)

Member Data Documentation

◆ d_input

template<class T_in , class T_out >
CarmaObj<T_in>* CarmaFFT< T_in, T_out >::d_input
protected

Input data.

Definition at line 27 of file carma_fft.h.

◆ d_output

template<class T_in , class T_out >
CarmaObj<T_out>* CarmaFFT< T_in, T_out >::d_output
protected

Output data.

Definition at line 28 of file carma_fft.h.

◆ inplace

template<class T_in , class T_out >
int CarmaFFT< T_in, T_out >::inplace
protected

flag to select inplace transform or not (1 or 0)

Definition at line 31 of file carma_fft.h.

◆ plan

template<class T_in , class T_out >
cufftHandle CarmaFFT< T_in, T_out >::plan
protected

FFT plan.

Definition at line 29 of file carma_fft.h.

◆ type_plan

template<class T_in , class T_out >
cufftType CarmaFFT< T_in, T_out >::type_plan
protected

FFT plan type.

Definition at line 30 of file carma_fft.h.


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