| 37 | }; |
| 38 | |
| 39 | class Kernel |
| 40 | : public common::KernelInterface<const cl::Program*, cl::Kernel, Enqueuer, |
| 41 | cl::Buffer*> { |
| 42 | public: |
| 43 | using BaseClass = |
| 44 | common::KernelInterface<ModuleType, KernelType, Enqueuer, DevPtrType>; |
| 45 | |
| 46 | Kernel() : BaseClass("", nullptr, cl::Kernel{nullptr, false}) {} |
| 47 | Kernel(std::string name, ModuleType mod, KernelType ker) |
| 48 | : BaseClass(name, mod, ker) {} |
| 49 | |
| 50 | // clang-format off |
| 51 | [[deprecated("OpenCL backend doesn't need Kernel::getDevPtr method")]] |
| 52 | DevPtrType getDevPtr(const char* name) final; |
| 53 | // clang-format on |
| 54 | |
| 55 | void copyToReadOnly(DevPtrType dst, DevPtrType src, size_t bytes) final; |
| 56 | |
| 57 | void setFlag(DevPtrType dst, int* scalarValPtr, |
| 58 | const bool syncCopy = false) final; |
| 59 | |
| 60 | int getFlag(DevPtrType src) final; |
| 61 | }; |
| 62 | |
| 63 | } // namespace opencl |
| 64 | } // namespace arrayfire |