Highly Efficient FFT for Exascale: HeFFTe v2.3
heffte::backend::device_instance< backend_tag > Struct Template Reference

Holds the auxiliary variables needed by each backend. More...

#include <heffte_common.h>

Public Types

using stream_type = void *
 The type for the internal stream, the cpu uses just a void pointer.
 

Public Member Functions

 device_instance (void *=nullptr)
 Empty constructor.
 
virtual ~device_instance ()=default
 Default destructor.
 
void * stream ()
 Returns the nullptr.
 
void * stream () const
 Returns the nullptr (const case).
 
void synchronize_device () const
 Syncs the execution with the queue, no-op in the CPU case.
 

Detailed Description

template<typename backend_tag>
struct heffte::backend::device_instance< backend_tag >

Holds the auxiliary variables needed by each backend.

The idea is similar to CRTP heffte::fft3d and heffte::fft3d_r2c inherit from this class and specializations based on the backend-tag can define a different set of internal variables. Specifically, this is used to store the sycl::queue used by the DPC++ backend.


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