Highly Efficient FFT for Exascale: HeFFTe v2.3
|
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. | |
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.