PLSSVM - Parallel Least Squares Support Vector Machine
2.0.0
A Least Squares Support Vector Machine implementation using different backends.
|
Calculates the C-SVM kernel using the nd_range formulation and the radial basis functions kernel function. More...
#include <svm_kernel_nd_range.hpp>
Public Types | |
using | real_type = T |
The type of the data. | |
Public Member Functions | |
nd_range_device_kernel_rbf (::sycl::handler &cgh, const real_type *q, real_type *ret, const real_type *d, const real_type *data_d, const real_type QA_cost, const real_type cost, const kernel_index_type num_rows, const kernel_index_type num_cols, const real_type add, const real_type gamma) | |
Construct a new device kernel calculating the C-SVM kernel using the radial basis functions C-SVM kernel. More... | |
void | operator() (::sycl::nd_item< 2 > nd_idx) const |
Function call operator overload performing the actual calculation. More... | |
Private Attributes | |
::sycl::local_accessor< real_type, 2 > | data_intern_i_ |
Local memory used for internal memory access optimizations. | |
::sycl::local_accessor< real_type, 2 > | data_intern_j_ |
Local memory used for internal memory access optimizations. | |
Calculates the C-SVM kernel using the nd_range formulation and the radial basis functions kernel function.
Currently only single GPU execution is supported.
T | the type of the data |
|
inline |
Construct a new device kernel calculating the C-SVM kernel using the radial basis functions C-SVM kernel.
[in] | cgh | sycl::handler used to allocate the local memory |
[in] | q | the q vector |
[out] | ret | the result vector |
[in] | d | the right-hand side of the equation |
[in] | data_d | the one-dimension data matrix |
[in] | QA_cost | he bottom right matrix entry multiplied by cost |
[in] | cost | 1 / the cost parameter in the C-SVM |
[in] | num_rows | the number of columns in the data matrix |
[in] | num_cols | the number of rows in the data matrix |
[in] | add | denotes whether the values are added or subtracted from the result vector |
[in] | gamma | the gamma parameter used in the rbf kernel function |
|
inline |
Function call operator overload performing the actual calculation.
[in] | nd_idx | the sycl::nd_item identifying an instance of the functor executing at each point in a sycl::range |