12 #ifndef PLSSVM_BACKENDS_OPENCL_DETAIL_KERNEL_HPP_
13 #define PLSSVM_BACKENDS_OPENCL_DETAIL_KERNEL_HPP_
84 [[nodiscard]]
operator const cl_kernel &()
const noexcept {
return compute_kernel; }
RAII wrapper class around a cl_kernel.
Definition: kernel.hpp:38
kernel & operator=(const kernel &)=delete
Delete copy-assignment-operator to make kernel a move only type.
kernel & operator=(kernel &&other) noexcept
Move-assignment-operator as kernel is a move-only type.
kernel(kernel &&other) noexcept
Move-constructor as kernel is a move-only type.
kernel(const kernel &)=delete
Delete copy-constructor to make kernel a move only type.
cl_kernel compute_kernel
The wrapped OpenCL cl_kernel.
Definition: kernel.hpp:87
kernel()=default
Default construct empty kernel.
~kernel()
Release the cl_kernel resources on destruction.
kernel(cl_kernel compute_kernel) noexcept
Construct a new wrapper around the provided compute_kernel.
Namespace containing OpenCL backend specific implementation details. Should not directly be used by u...
Definition: command_queue.hpp:22
compute_kernel_name
Enum class for all different OpenCL compute kernels.
Definition: kernel.hpp:24
@ svm_kernel
The main C-SVM kernel.
@ w_kernel
The predict kernel for the linear kernel function.
@ q_kernel
The kernels to generate the q vector.
@ predict_kernel
The predict kernels for the polynomial and rbf kernel functions.