Highly Efficient FFT for Exascale: HeFFTe v2.4
Loading...
Searching...
No Matches
heffte::real2real_executor< backend::fftw, prepost_processor > Struct Template Reference

Public Member Functions

template<typename index>
 real2real_executor (void *, box3d< index > const box, int dimension)
 Construct a plan for batch 1D transforms.
 
template<typename index>
 real2real_executor (void *, box3d< index > const box, int dir1, int dir2)
 Construct a plan for batch 2D transforms, not implemented currently.
 
template<typename index>
 real2real_executor (void *, box3d< index > const box)
 Construct a plan for a single 3D transform, not implemented currently.
 
int box_size () const override
 Returns the size of the box.
 
size_t workspace_size () const override
 Returns the size of the box.
 
virtual void forward (float data[], float *) const override
 Forward r2r, single precision.
 
virtual void forward (double data[], double *) const override
 Forward r2r, double precision.
 
virtual void backward (float data[], float *) const override
 Backward r2r, single precision.
 
virtual void backward (double data[], double *) const override
 Backward r2r, double precision.
 
virtual void forward (std::complex< float >[], std::complex< float > *) const
 Will not be used, suppresses compiler warnings.
 
virtual void forward (std::complex< double >[], std::complex< double > *) const
 Will not be used, suppresses compiler warnings.
 
virtual void forward (float const[], std::complex< float >[], std::complex< float > *) const
 Will not be used, suppresses compiler warnings.
 
virtual void forward (double const[], std::complex< double >[], std::complex< double > *) const
 Will not be used, suppresses compiler warnings.
 
virtual void backward (std::complex< float >[], std::complex< float > *) const
 Will not be used, suppresses compiler warnings.
 
virtual void backward (std::complex< double >[], std::complex< double > *) const
 Will not be used, suppresses compiler warnings.
 
virtual void backward (std::complex< float >[], float[], std::complex< float > *) const
 Will not be used, suppresses compiler warnings.
 
virtual void backward (std::complex< double >[], double[], std::complex< double > *) const
 Will not be used, suppresses compiler warnings.
 
 real2real_executor (typename backend::device_instance< typename backend::buffer_traits< backend::fftw >::location >::stream_type cstream, box3d< index > const box, int dimension)
 Construct a plan for batch 1D transforms.
 
 real2real_executor (typename backend::device_instance< typename backend::buffer_traits< backend::fftw >::location >::stream_type cstream, box3d< index > const, int, int)
 Construct a plan for batch 2D transforms, not implemented currently.
 
 real2real_executor (typename backend::device_instance< typename backend::buffer_traits< backend::fftw >::location >::stream_type cstream, box3d< index > const)
 Construct a plan for a single 3D transform, not implemented currently.
 
void forward (scalar_type data[], scalar_type workspace[]) const
 Forward transform.
 
void forward (precision const [], std::complex< precision >[]) const
 Placeholder for template type consistency, should never be called.
 
virtual void forward (float data[], float *workspace) const override
 Forward r2r, single precision.
 
virtual void forward (double data[], double *workspace) const override
 Forward r2r, double precision.
 
virtual void forward (std::complex< float >[], std::complex< float > *) const
 Will not be used, suppresses compiler warnings.
 
virtual void forward (std::complex< double >[], std::complex< double > *) const
 Will not be used, suppresses compiler warnings.
 
virtual void forward (float const[], std::complex< float >[], std::complex< float > *) const
 Will not be used, suppresses compiler warnings.
 
virtual void forward (double const[], std::complex< double >[], std::complex< double > *) const
 Will not be used, suppresses compiler warnings.
 
void backward (scalar_type data[], scalar_type workspace[]) const
 Inverse transform.
 
void backward (std::complex< precision > indata[], precision outdata[]) const
 Placeholder for template type consistency, should never be called.
 
virtual void backward (float data[], float *workspace) const override
 Backward r2r, single precision.
 
virtual void backward (double data[], double *workspace) const override
 Backward r2r, double precision.
 
virtual void backward (std::complex< float >[], std::complex< float > *) const
 Will not be used, suppresses compiler warnings.
 
virtual void backward (std::complex< double >[], std::complex< double > *) const
 Will not be used, suppresses compiler warnings.
 
virtual void backward (std::complex< float >[], float[], std::complex< float > *) const
 Will not be used, suppresses compiler warnings.
 
virtual void backward (std::complex< double >[], double[], std::complex< double > *) const
 Will not be used, suppresses compiler warnings.
 
int box_size () const override
 Returns the size of the box.
 
size_t workspace_size () const override
 Returns the size of the box.
 
- Public Member Functions inherited from heffte::executor_base
virtual ~executor_base ()=default
 Virtual destructor.
 
virtual int complex_size () const
 Return the size of the complex-box (r2c executors).
 

Member Function Documentation

◆ box_size() [1/2]

template<typename prepost_processor>
int heffte::real2real_executor< backend::fftw, prepost_processor >::box_size ( ) const
inlineoverridevirtual

Returns the size of the box.

Reimplemented from heffte::executor_base.

◆ workspace_size() [1/2]

template<typename prepost_processor>
size_t heffte::real2real_executor< backend::fftw, prepost_processor >::workspace_size ( ) const
inlineoverridevirtual

Returns the size of the box.

Reimplemented from heffte::executor_base.

◆ forward() [1/12]

template<typename prepost_processor>
virtual void heffte::real2real_executor< backend::fftw, prepost_processor >::forward ( float data[],
float *  ) const
inlineoverridevirtual

Forward r2r, single precision.

Reimplemented from heffte::executor_base.

◆ forward() [2/12]

template<typename prepost_processor>
virtual void heffte::real2real_executor< backend::fftw, prepost_processor >::forward ( double data[],
double *  ) const
inlineoverridevirtual

Forward r2r, double precision.

Reimplemented from heffte::executor_base.

◆ backward() [1/12]

template<typename prepost_processor>
virtual void heffte::real2real_executor< backend::fftw, prepost_processor >::backward ( float data[],
float *  ) const
inlineoverridevirtual

Backward r2r, single precision.

Reimplemented from heffte::executor_base.

◆ backward() [2/12]

template<typename prepost_processor>
virtual void heffte::real2real_executor< backend::fftw, prepost_processor >::backward ( double data[],
double *  ) const
inlineoverridevirtual

Backward r2r, double precision.

Reimplemented from heffte::executor_base.

◆ forward() [3/12]

( std::complex< float > [],
std::complex< float > *  ) const
virtual

Will not be used, suppresses compiler warnings.

Reimplemented from heffte::executor_base.

◆ forward() [4/12]

( std::complex< double > [],
std::complex< double > *  ) const
virtual

Will not be used, suppresses compiler warnings.

Reimplemented from heffte::executor_base.

◆ forward() [5/12]

( float const [],
std::complex< float > [],
std::complex< float > *  ) const
virtual

Will not be used, suppresses compiler warnings.

Reimplemented from heffte::executor_base.

◆ forward() [6/12]

( double const [],
std::complex< double > [],
std::complex< double > *  ) const
virtual

Will not be used, suppresses compiler warnings.

Reimplemented from heffte::executor_base.

◆ backward() [3/12]

( std::complex< float > [],
std::complex< float > *  ) const
virtual

Will not be used, suppresses compiler warnings.

Reimplemented from heffte::executor_base.

◆ backward() [4/12]

( std::complex< double > [],
std::complex< double > *  ) const
virtual

Will not be used, suppresses compiler warnings.

Reimplemented from heffte::executor_base.

◆ backward() [5/12]

( std::complex< float > [],
float [],
std::complex< float > *  ) const
virtual

Will not be used, suppresses compiler warnings.

Reimplemented from heffte::executor_base.

◆ backward() [6/12]

( std::complex< double > [],
double [],
std::complex< double > *  ) const
virtual

Will not be used, suppresses compiler warnings.

Reimplemented from heffte::executor_base.

◆ forward() [7/12]

virtual void heffte::real2real_executor< backend::fftw, prepost_processor >::forward ( float data[],
float * workspace ) const
inlineoverridevirtual

Forward r2r, single precision.

Reimplemented from heffte::executor_base.

◆ forward() [8/12]

virtual void heffte::real2real_executor< backend::fftw, prepost_processor >::forward ( double data[],
double * workspace ) const
inlineoverridevirtual

Forward r2r, double precision.

Reimplemented from heffte::executor_base.

◆ forward() [9/12]

virtual void heffte::executor_base::forward ( std::complex< float > [],
std::complex< float > *  ) const
inlinevirtual

Will not be used, suppresses compiler warnings.

Reimplemented from heffte::executor_base.

◆ forward() [10/12]

virtual void heffte::executor_base::forward ( std::complex< double > [],
std::complex< double > *  ) const
inlinevirtual

Will not be used, suppresses compiler warnings.

Reimplemented from heffte::executor_base.

◆ forward() [11/12]

virtual void heffte::executor_base::forward ( float const [],
std::complex< float > [],
std::complex< float > *  ) const
inlinevirtual

Will not be used, suppresses compiler warnings.

Reimplemented from heffte::executor_base.

◆ forward() [12/12]

virtual void heffte::executor_base::forward ( double const [],
std::complex< double > [],
std::complex< double > *  ) const
inlinevirtual

Will not be used, suppresses compiler warnings.

Reimplemented from heffte::executor_base.

◆ backward() [7/12]

virtual void heffte::real2real_executor< backend::fftw, prepost_processor >::backward ( float data[],
float * workspace ) const
inlineoverridevirtual

Backward r2r, single precision.

Reimplemented from heffte::executor_base.

◆ backward() [8/12]

virtual void heffte::real2real_executor< backend::fftw, prepost_processor >::backward ( double data[],
double * workspace ) const
inlineoverridevirtual

Backward r2r, double precision.

Reimplemented from heffte::executor_base.

◆ backward() [9/12]

virtual void heffte::executor_base::backward ( std::complex< float > [],
std::complex< float > *  ) const
inlinevirtual

Will not be used, suppresses compiler warnings.

Reimplemented from heffte::executor_base.

◆ backward() [10/12]

virtual void heffte::executor_base::backward ( std::complex< double > [],
std::complex< double > *  ) const
inlinevirtual

Will not be used, suppresses compiler warnings.

Reimplemented from heffte::executor_base.

◆ backward() [11/12]

virtual void heffte::executor_base::backward ( std::complex< float > [],
float [],
std::complex< float > *  ) const
inlinevirtual

Will not be used, suppresses compiler warnings.

Reimplemented from heffte::executor_base.

◆ backward() [12/12]

virtual void heffte::executor_base::backward ( std::complex< double > [],
double [],
std::complex< double > *  ) const
inlinevirtual

Will not be used, suppresses compiler warnings.

Reimplemented from heffte::executor_base.

◆ box_size() [2/2]

int heffte::real2real_executor< backend::fftw, prepost_processor >::box_size ( ) const
inlineoverridevirtual

Returns the size of the box.

Reimplemented from heffte::executor_base.

◆ workspace_size() [2/2]

size_t heffte::real2real_executor< backend::fftw, prepost_processor >::workspace_size ( ) const
inlineoverridevirtual

Returns the size of the box.

Reimplemented from heffte::executor_base.


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