Highly Efficient FFT for Exascale: HeFFTe v2.4
Loading...
Searching...
No Matches
heffte::executor_base Class Reference

Base class for all backend executors. More...

#include <heffte_common.h>

Public Member Functions

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.
 
virtual void forward (float const[], std::complex< float >[], std::complex< float > *) const
 Forward FFT real-to-complex, single precision.
 
virtual void forward (double const[], std::complex< double >[], std::complex< double > *) const
 Forward FFT real-to-complex, double precision.
 
virtual void backward (std::complex< float >[], float[], std::complex< float > *) const
 Backward FFT real-to-complex, single precision.
 
virtual void backward (std::complex< double >[], double[], std::complex< double > *) const
 Backward FFT real-to-complex, double precision.
 
virtual int box_size () const
 Return the size of the box.
 
virtual size_t workspace_size () const
 Return the workspace of the size.
 
virtual int complex_size () const
 Return the size of the complex-box (r2c executors).
 

Detailed Description

Base class for all backend executors.

Member Function Documentation

◆ forward() [1/6]

virtual void heffte::executor_base::forward ( float [],
float *  ) const
inlinevirtual

Forward r2r, single precision.

Reimplemented in heffte::cufft_executor, heffte::cufft_executor_r2c, heffte::fftw_executor, heffte::fftw_executor_r2c, heffte::mkl_executor, heffte::mkl_executor_r2c, heffte::onemkl_executor, heffte::onemkl_executor_r2c, heffte::real2real_executor< fft_backend_tag, prepost_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::rocfft_executor, heffte::rocfft_executor_r2c, heffte::stock_fft_executor, and heffte::stock_fft_executor_r2c.

◆ forward() [2/6]

virtual void heffte::executor_base::forward ( double [],
double *  ) const
inlinevirtual

Forward r2r, double precision.

Reimplemented in heffte::cufft_executor, heffte::cufft_executor_r2c, heffte::fftw_executor, heffte::fftw_executor_r2c, heffte::mkl_executor, heffte::mkl_executor_r2c, heffte::onemkl_executor, heffte::onemkl_executor_r2c, heffte::real2real_executor< fft_backend_tag, prepost_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::rocfft_executor, heffte::rocfft_executor_r2c, heffte::stock_fft_executor, and heffte::stock_fft_executor_r2c.

◆ backward() [1/6]

virtual void heffte::executor_base::backward ( float [],
float *  ) const
inlinevirtual

Backward r2r, single precision.

Reimplemented in heffte::cufft_executor, heffte::cufft_executor_r2c, heffte::fftw_executor, heffte::fftw_executor_r2c, heffte::mkl_executor, heffte::mkl_executor_r2c, heffte::onemkl_executor, heffte::onemkl_executor_r2c, heffte::real2real_executor< fft_backend_tag, prepost_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::rocfft_executor, heffte::rocfft_executor_r2c, heffte::stock_fft_executor, and heffte::stock_fft_executor_r2c.

◆ backward() [2/6]

virtual void heffte::executor_base::backward ( double [],
double *  ) const
inlinevirtual

Backward r2r, double precision.

Reimplemented in heffte::cufft_executor, heffte::cufft_executor_r2c, heffte::fftw_executor, heffte::fftw_executor_r2c, heffte::mkl_executor, heffte::mkl_executor_r2c, heffte::onemkl_executor, heffte::onemkl_executor_r2c, heffte::real2real_executor< fft_backend_tag, prepost_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::rocfft_executor, heffte::rocfft_executor_r2c, heffte::stock_fft_executor, and heffte::stock_fft_executor_r2c.

◆ forward() [3/6]

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

Forward FFT, single precision.

Reimplemented in heffte::cufft_executor, heffte::cufft_executor_r2c, heffte::fftw_executor, heffte::fftw_executor_r2c, heffte::mkl_executor, heffte::mkl_executor_r2c, heffte::onemkl_executor, heffte::onemkl_executor_r2c, heffte::real2real_executor< fft_backend_tag, prepost_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::rocfft_executor, heffte::rocfft_executor_r2c, heffte::stock_fft_executor, and heffte::stock_fft_executor_r2c.

◆ forward() [4/6]

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

Forward FFT, double precision.

Reimplemented in heffte::cufft_executor, heffte::cufft_executor_r2c, heffte::fftw_executor, heffte::fftw_executor_r2c, heffte::mkl_executor, heffte::mkl_executor_r2c, heffte::onemkl_executor, heffte::onemkl_executor_r2c, heffte::real2real_executor< fft_backend_tag, prepost_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::rocfft_executor, heffte::rocfft_executor_r2c, heffte::stock_fft_executor, and heffte::stock_fft_executor_r2c.

◆ backward() [3/6]

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

Backward FFT, single precision.

Reimplemented in heffte::cufft_executor, heffte::cufft_executor_r2c, heffte::fftw_executor, heffte::fftw_executor_r2c, heffte::mkl_executor, heffte::mkl_executor_r2c, heffte::onemkl_executor, heffte::onemkl_executor_r2c, heffte::real2real_executor< fft_backend_tag, prepost_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::rocfft_executor, heffte::rocfft_executor_r2c, heffte::stock_fft_executor, and heffte::stock_fft_executor_r2c.

◆ backward() [4/6]

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

Backward FFT, double precision.

Reimplemented in heffte::cufft_executor, heffte::cufft_executor_r2c, heffte::fftw_executor, heffte::fftw_executor_r2c, heffte::mkl_executor, heffte::mkl_executor_r2c, heffte::onemkl_executor, heffte::onemkl_executor_r2c, heffte::real2real_executor< fft_backend_tag, prepost_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::rocfft_executor, heffte::rocfft_executor_r2c, heffte::stock_fft_executor, and heffte::stock_fft_executor_r2c.

◆ forward() [5/6]

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

Forward FFT real-to-complex, single precision.

Reimplemented in heffte::cufft_executor, heffte::cufft_executor_r2c, heffte::fftw_executor, heffte::fftw_executor_r2c, heffte::mkl_executor, heffte::mkl_executor_r2c, heffte::onemkl_executor, heffte::onemkl_executor_r2c, heffte::real2real_executor< fft_backend_tag, prepost_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::rocfft_executor, heffte::rocfft_executor_r2c, heffte::stock_fft_executor, and heffte::stock_fft_executor_r2c.

◆ forward() [6/6]

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

Forward FFT real-to-complex, double precision.

Reimplemented in heffte::cufft_executor, heffte::cufft_executor_r2c, heffte::fftw_executor, heffte::fftw_executor_r2c, heffte::mkl_executor, heffte::mkl_executor_r2c, heffte::onemkl_executor, heffte::onemkl_executor_r2c, heffte::real2real_executor< fft_backend_tag, prepost_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::rocfft_executor, heffte::rocfft_executor_r2c, heffte::stock_fft_executor, and heffte::stock_fft_executor_r2c.

◆ backward() [5/6]

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

Backward FFT real-to-complex, single precision.

Reimplemented in heffte::cufft_executor, heffte::cufft_executor_r2c, heffte::fftw_executor, heffte::fftw_executor_r2c, heffte::mkl_executor, heffte::mkl_executor_r2c, heffte::onemkl_executor, heffte::onemkl_executor_r2c, heffte::real2real_executor< fft_backend_tag, prepost_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::rocfft_executor, heffte::rocfft_executor_r2c, heffte::stock_fft_executor, and heffte::stock_fft_executor_r2c.

◆ backward() [6/6]

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

Backward FFT real-to-complex, double precision.

Reimplemented in heffte::cufft_executor, heffte::cufft_executor_r2c, heffte::fftw_executor, heffte::fftw_executor_r2c, heffte::mkl_executor, heffte::mkl_executor_r2c, heffte::onemkl_executor, heffte::onemkl_executor_r2c, heffte::real2real_executor< fft_backend_tag, prepost_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::rocfft_executor, heffte::rocfft_executor_r2c, heffte::stock_fft_executor, and heffte::stock_fft_executor_r2c.

◆ box_size()

virtual int heffte::executor_base::box_size ( ) const
inlinevirtual

Return the size of the box.

Reimplemented in heffte::cufft_executor, heffte::cufft_executor_r2c, heffte::fftw_executor, heffte::fftw_executor_r2c, heffte::mkl_executor, heffte::mkl_executor_r2c, heffte::onemkl_executor, heffte::onemkl_executor_r2c, heffte::real2real_executor< fft_backend_tag, prepost_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::rocfft_executor, heffte::rocfft_executor_r2c, heffte::stock_fft_executor, and heffte::stock_fft_executor_r2c.

◆ workspace_size()

virtual size_t heffte::executor_base::workspace_size ( ) const
inlinevirtual

Return the workspace of the size.

Reimplemented in heffte::cufft_executor, heffte::cufft_executor_r2c, heffte::fftw_executor, heffte::fftw_executor_r2c, heffte::mkl_executor, heffte::mkl_executor_r2c, heffte::onemkl_executor, heffte::onemkl_executor_r2c, heffte::real2real_executor< fft_backend_tag, prepost_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos1_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::cos_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::cufft, cuda::sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin1_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::fftw, prepost_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::mkl, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::cos_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::onemkl, oapi::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos1_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::cos_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::rocfft, rocm::sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos1_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_cos_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::real2real_executor< backend::stock, cpu_sin_pre_pos_processor >, heffte::rocfft_executor, heffte::rocfft_executor_r2c, heffte::stock_fft_executor, and heffte::stock_fft_executor_r2c.

◆ complex_size()


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