|
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.