| Highly Efficient FFT for Exascale: HeFFTe v2.3
    | 
Wrapper to rocFFT API for real-to-complex transform with shortening of the data. More...
#include <heffte_backend_rocm.h>
| Public Member Functions | |
| template<typename index > | |
| rocfft_executor_r2c (hipStream_t active_stream, box3d< index > const box, int dimension) | |
| Constructor defines the box and the dimension of reduction.  More... | |
| template<typename precision_type > | |
| void | forward (precision_type const indata[], std::complex< precision_type > outdata[], std::complex< precision_type > *workspace) const | 
| Forward transform, single precision. | |
| template<typename precision_type > | |
| void | backward (std::complex< precision_type > indata[], precision_type outdata[], std::complex< precision_type > *workspace) const | 
| Backward transform, single precision. | |
| void | forward (float const indata[], std::complex< float > outdata[], std::complex< float > *workspace) const override | 
| Forward transform, single precision. | |
| void | backward (std::complex< float > indata[], float outdata[], std::complex< float > *workspace) const override | 
| Backward transform, single precision. | |
| void | forward (double const indata[], std::complex< double > outdata[], std::complex< double > *workspace) const override | 
| Forward transform, double precision. | |
| void | backward (std::complex< double > indata[], double outdata[], std::complex< double > *workspace) const override | 
| Backward transform, double precision. | |
| int | box_size () const override | 
| Returns the size of the box with real data. | |
| int | complex_size () const override | 
| Returns the size of the box with complex coefficients. | |
| size_t | workspace_size () const override | 
| Return the size of the needed workspace. | |
| size_t | compute_workspace_size () const | 
| Computes the size of the needed workspace. | |
| virtual void | forward (float[], float *) const | 
| Bring forth method that have not been overloaded. | |
| virtual void | forward (double[], double *) const | 
| Bring forth method that have not been overloaded. | |
| virtual void | forward (std::complex< float >[], std::complex< float > *) const | 
| Bring forth method that have not been overloaded. | |
| virtual void | forward (std::complex< double >[], std::complex< double > *) const | 
| Bring forth method that have not been overloaded. | |
| virtual void | forward (float const [], std::complex< float >[], std::complex< float > *) const | 
| Bring forth method that have not been overloaded. | |
| virtual void | forward (double const [], std::complex< double >[], std::complex< double > *) const | 
| Bring forth method that have not been overloaded. | |
| virtual void | backward (float[], float *) const | 
| Bring forth method that have not been overloaded. | |
| virtual void | backward (double[], double *) const | 
| Bring forth method that have not been overloaded. | |
| virtual void | backward (std::complex< float >[], std::complex< float > *) const | 
| Bring forth method that have not been overloaded. | |
| virtual void | backward (std::complex< double >[], std::complex< double > *) const | 
| Bring forth method that have not been overloaded. | |
| virtual void | backward (std::complex< float >[], float[], std::complex< float > *) const | 
| Bring forth method that have not been overloaded. | |
| virtual void | backward (std::complex< double >[], double[], std::complex< double > *) const | 
| Bring forth method that have not been overloaded. | |
|  Public Member Functions inherited from heffte::executor_base | |
| virtual | ~executor_base ()=default | 
| Virtual destructor. | |
| virtual void | forward (float[], float *) const | 
| Forward r2r, single precision. | |
| virtual void | forward (double[], double *) const | 
| Forward r2r, double precision. | |
| virtual void | backward (float[], float *) const | 
| Backward r2r, single precision. | |
| virtual void | backward (double[], double *) const | 
| Backward r2r, double precision. | |
| virtual void | forward (std::complex< float >[], std::complex< float > *) const | 
| Forward FFT, single precision. | |
| virtual void | forward (std::complex< double >[], std::complex< double > *) const | 
| Forward FFT, double precision. | |
| virtual void | backward (std::complex< float >[], std::complex< float > *) const | 
| Backward FFT, single precision. | |
| virtual void | backward (std::complex< double >[], std::complex< double > *) const | 
| Backward FFT, double precision. | |
Wrapper to rocFFT API for real-to-complex transform with shortening of the data.
Serves the same purpose of heffte::rocfft_executor but only real input is accepted and only the unique (non-conjugate) coefficients are computed. All real arrays must have size of real_size() and all complex arrays must have size complex_size().
| 
 | inline | 
Constructor defines the box and the dimension of reduction.
Note that the result sits in the box returned by box.r2c(dimension).