PLSSVM - Parallel Least Squares Support Vector Machine
2.0.0
A Least Squares Support Vector Machine implementation using different backends.
|
RAII wrapper class around a cl_command_queue. More...
#include <command_queue.hpp>
Public Member Functions | |
command_queue ()=default | |
Empty default construct a command queue. | |
command_queue (cl_context context, cl_device_id device) | |
Construct a command queue with the provided information. More... | |
command_queue (const command_queue &)=delete | |
Delete copy-constructor to make command_queue a move only type. | |
command_queue (command_queue &&other) noexcept | |
Move-constructor as command_queue is a move-only type. More... | |
command_queue & | operator= (const command_queue &)=delete |
Delete copy-assignment-operator to make command_queue a move only type. | |
command_queue & | operator= (command_queue &&other) noexcept |
Move-assignment-operator as command_queue is a move-only type. More... | |
~command_queue () | |
Release the cl_command_queue resources on destruction. | |
operator cl_command_queue & () noexcept | |
Implicitly convert a command_queue wrapper to an OpenCL cl_command_queue. More... | |
operator const cl_command_queue & () const noexcept | |
Implicitly convert a command_queue wrapper to an OpenCL cl_command_queue. More... | |
template<typename real_type > | |
void | add_kernel (compute_kernel_name name, kernel &&compute_kernel) |
Add a new OpenCL compute_kernel used for name to this command queue. More... | |
template<typename real_type > | |
const kernel & | get_kernel (compute_kernel_name name) const |
Get the OpenCL kernel used for name . More... | |
Public Attributes | |
cl_command_queue | queue {} |
The wrapped cl_command_queue. | |
std::map< compute_kernel_name, kernel > | float_kernels {} |
All OpenCL device kernel associated with the device corresponding to this command queue using float as real_type . | |
std::map< compute_kernel_name, kernel > | double_kernels {} |
All OpenCL device kernel associated with the device corresponding to this command queue using double as real_type . | |
RAII wrapper class around a cl_command_queue.
Also contains the compiled kernels associated with the command queue.
plssvm::opencl::detail::command_queue::command_queue | ( | cl_context | context, |
cl_device_id | device | ||
) |
Construct a command queue with the provided information.
[in] | context | the associated OpenCL cl_context |
[in] | device | the associated OpenCL cl_device_id |
|
noexcept |
Move-constructor as command_queue is a move-only type.
[in,out] | other | the command_queue to move the resources from |
|
noexcept |
Move-assignment-operator as command_queue is a move-only type.
[in,out] | other | the command_queue to move the resources from |
*this
|
inlinenoexcept |
Implicitly convert a command_queue wrapper to an OpenCL cl_command_queue.
[[nodiscard]]
)
|
inlinenoexcept |
Implicitly convert a command_queue wrapper to an OpenCL cl_command_queue.
[[nodiscard]]
) void plssvm::opencl::detail::command_queue::add_kernel | ( | compute_kernel_name | name, |
kernel && | compute_kernel | ||
) |
Add a new OpenCL compute_kernel
used for name
to this command queue.
real_type | the floating point type used as type in the kernel (either float or double ) |
[in] | name | the name of the kernel that is to be added |
[in] | compute_kernel | the kernel to add |
const kernel& plssvm::opencl::detail::command_queue::get_kernel | ( | compute_kernel_name | name | ) | const |
Get the OpenCL kernel used for name
.
real_type | the floating point type used as type in the kernel (either float or double ) |
[in] | name | the name of the kernel |
std::out_of_range | if a kernel with name is requested that has not been compiled for this command queue |
[[nodiscard]]
)