![]() |
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]])