25 virtual void start() = 0;
26 virtual int stop() = 0;
33 virtual void launch(
unsigned int gridDimX,
34 unsigned int gridDimY,
35 unsigned int gridDimZ,
36 unsigned int blockDimX,
37 unsigned int blockDimY,
38 unsigned int blockDimZ,
39 unsigned int sharedMemBytes,
41 bool optimize_block_and_grid_sizes) = 0;
47 virtual std::unique_ptr<DeviceClock>
make_clock() = 0;
48 virtual char const*
name()
const = 0;
virtual char const * name() const =0
virtual void initializeRuntimeInterrupter(const int device_id)=0
virtual std::unique_ptr< DeviceClock > make_clock()=0
virtual void launch(unsigned int gridDimX, unsigned int gridDimY, unsigned int gridDimZ, unsigned int blockDimX, unsigned int blockDimY, unsigned int blockDimZ, unsigned int sharedMemBytes, void **kernelParams, bool optimize_block_and_grid_sizes)=0
virtual ~DeviceKernel()=default
virtual ~DeviceClock()=default
virtual void initializeDynamicWatchdog(bool could_interrupt, uint64_t cycle_budget)=0
std::unique_ptr< DeviceKernel > create_device_kernel(const CompilationContext *ctx, int device_id)
virtual void resetRuntimeInterrupter(const int device_id)=0