UraniumCompute 0.1.0
A GPU accelerated parallel task scheduler
KernelBase.h
1#pragma once
2#include <UnCompute/Backend/DeviceObjectBase.h>
3#include <UnCompute/Backend/IKernel.h>
4
5namespace UN
6{
7 class KernelBase : public DeviceObjectBase<IKernel>
8 {
9 protected:
10 virtual ResultCode InitInternal(const DescriptorType& desc) = 0;
11
12 inline explicit KernelBase(IComputeDevice* pDevice)
13 : DeviceObjectBase(pDevice)
14 {
15 }
16
17 public:
18 ResultCode Init(const DescriptorType& desc) override;
19 };
20} // namespace UN
Base class for all compute backend objects.
Definition: DeviceObjectBase.h:18
Interface for all backend-specific compute devices.
Definition: IComputeDevice.h:38
Definition: KernelBase.h:8
ResultCode Init(const DescriptorType &desc) override
Creates and initializes a kernel object.
Definition: KernelBase.cpp:5
Kernel descriptor.
Definition: IKernel.h:12