Highly Efficient FFT for Exascale: HeFFTe v2.3
heffte::reshape3d_base< index > Class Template Referenceabstract

Base reshape interface. More...

#include <heffte_reshape3d.h>

Public Member Functions

 reshape3d_base (index cinput_size, index coutput_size)
 Constructor that sets the input and output sizes.
 
virtual ~reshape3d_base ()=default
 Default virtual destructor.
 
virtual void apply (int batch_size, float const source[], float destination[], float workspace[]) const =0
 Apply the reshape, single precision.
 
virtual void apply (int batch_size, double const source[], double destination[], double workspace[]) const =0
 Apply the reshape, double precision.
 
virtual void apply (int batch_size, std::complex< float > const source[], std::complex< float > destination[], std::complex< float > workspace[]) const =0
 Apply the reshape, single precision complex.
 
virtual void apply (int batch_size, std::complex< double > const source[], std::complex< double > destination[], std::complex< double > workspace[]) const =0
 Apply the reshape, double precision complex.
 
index size_intput () const
 Returns the input size.
 
index size_output () const
 Returns the output size.
 
virtual size_t size_workspace () const
 Returns the workspace size.
 

Protected Member Functions

template<typename scalar_type >
scalar_type * cpu_send_buffer (size_t num_entries) const
 Allocates and returns a CPU buffer when GPU-Aware communication has been disabled.
 
template<typename scalar_type >
scalar_type * cpu_recv_buffer (size_t num_entries) const
 Allocates and returns a CPU buffer when GPU-Aware communication has been disabled.
 

Protected Attributes

index const input_size
 Stores the size of the input.
 
index const output_size
 Stores the size of the output.
 
std::vector< float > send_unaware
 Temp buffers for the gpu-unaware algorithms.
 
std::vector< float > recv_unaware
 Temp buffers for the gpu-unaware algorithms.
 

Detailed Description

template<typename index>
class heffte::reshape3d_base< index >

Base reshape interface.


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