![]() |
PLSSVM - Parallel Least Squares Support Vector Machine
2.0.0
A Least Squares Support Vector Machine implementation using different backends.
|
▼ include | |
▼ plssvm | Directory containing the implementation of the PLSSVM library |
▼ backends | Directory containing the implementation of all four available backends: OpenMP, CUDA, OpenCL, and SYCL |
▼ CUDA | Directory containing the implementation for the CUDA backend |
► detail | Directory containing implementation details for the CUDA backend |
csvm.hpp | Defines a C-SVM using the CUDA backend |
exceptions.hpp | Implements custom exception classes specific to the CUDA backend |
predict_kernel.cuh | Defines the functions used for prediction for the C-SVM using the CUDA backend |
q_kernel.cuh | Defines CUDA functions for generating the q vector |
svm_kernel.cuh | Defines the kernel functions for the C-SVM using the CUDA backend |
▼ HIP | Directory containing the implementation for the HIP backend |
► detail | Directory containing implementation details for the HIP backend |
csvm.hpp | Defines a C-SVM using the HIP backend |
exceptions.hpp | Implements custom exception classes specific to the HIP backend |
predict_kernel.hip.hpp | Defines the functions used for prediction for the C-SVM using the HIP backend |
q_kernel.hip.hpp | Defines HIP functions for generating the q vector |
svm_kernel.hip.hpp | Defines the kernel functions for the C-SVM using the HIP backend |
▼ OpenCL | Directory containing the implementation for the OpenCL backend |
► detail | Directory containing implementation details for the OpenCL backend |
csvm.hpp | Defines a C-SVM using the OpenCL backend |
exceptions.hpp | Implements custom exception classes specific to the OpenCL backend |
predict_kernel.cl | Defines the functions used for prediction for the C-SVM using the OpenCL backend |
q_kernel.cl | Defines CUDA functions for generating the q vector |
svm_kernel.cl | Defines the kernel functions for the C-SVM using the CUDA backend |
▼ OpenMP | Directory containing the implementation for the OpenMP backend |
csvm.hpp | Defines a C-SVM using the OpenMP backend |
exceptions.hpp | Implements custom exception classes specific to the OpenMP backend |
q_kernel.hpp | Defines OpenMP functions for generating the q vector |
svm_kernel.hpp | Defines the kernel functions for the C-SVM using the OpenMP backend |
▼ SYCL | Directory containing the implementation for the SYCL backend |
► detail | Directory containing implementation details for the SYCL backend |
► DPCPP | Directory containing the implementation for the SYCL backend using DPC++ as SYCL implementation |
► hipSYCL | Directory containing the implementation for the SYCL backend using hipSYCL as SYCL implementation |
exceptions.hpp | Implements custom exception classes specific to the SYCL backend |
implementation_type.hpp | Defines an enumeration holding all possible SYCL implementations |
kernel_invocation_type.hpp | Defines an enumeration holding all possible SYCL kernel invocation types |
predict_kernel.hpp | Defines the functions used for prediction for the C-SVM using the SYCL backend |
q_kernel.hpp | Defines SYCL functions for generating the q vector |
svm_kernel_hierarchical.hpp | Defines the kernel functions for the C-SVM using the SYCL backend |
svm_kernel_nd_range.hpp | Defines the kernel functions for the C-SVM in the nd_range formulation using the SYCL backend |
gpu_csvm.hpp | Defines the base class for all C-SVM backends using a GPU. Used for code duplication reduction |
gpu_device_ptr.hpp | Defines the base class for all C-SVM backends using a GPU. Used for code duplication reduction |
▼ detail | Directory containing implementation details which should not be used by users |
▼ cmd | Directory containing implementation details regarding the command line interface which should not be used by users |
data_set_variants.hpp | Implements utility functions to create a data set based on runtime parameters |
parser_predict.hpp | Implements a class encapsulating all necessary parameters for predicting using the C-SVM possibly provided through command line arguments |
parser_scale.hpp | Implements a class encapsulating all necessary parameters for scaling a data set possibly provided through command line arguments |
parser_train.hpp | Implements a class encapsulating all necessary parameters for training the C-SVM possibly provided through command line arguments |
▼ io | Directory containing implementation details regarding the IO functionality which should not be used by users |
arff_parsing.hpp | Implements parsing functions for the ARFF file format |
file_reader.hpp | Implements a file reader class responsible for reading the input file and parsing it into lines |
libsvm_model_parsing.hpp | Implements parsing functions for the LIBSVM model file |
libsvm_parsing.hpp | Implements parsing functions for the LIBSVM file format |
scaling_factors_parsing.hpp | Implements parsing functions for the scaling factor file parsing |
arithmetic_type_name.hpp | Implements conversion functions from arithmetic types to their name as string representation |
assert.hpp | Implements a custom assert macro PLSSVM_ASSERT |
execution_range.hpp | Implement a backend independent class used to specify the execution range for all kernel invocations |
layout.hpp | Defines functions to convert 2D vectors to 1D SoA or AoS vectors |
logger.hpp | Defines a simple logging function |
operators.hpp | Defines (arithmetic) functions on std::vector and scalars |
performance_tracker.hpp | Defines a performance tracker which can dump performance information in a YAML file |
sha256.hpp | Implementation of the SHA2-256 hashing algorithm |
string_conversion.hpp | Implements a conversion function from a string to an arithmetic type |
string_utility.hpp | Implements utility functions for string manipulation and querying |
type_list.hpp | All possible real_type and label_type combinations for a plssvm::model and plssvm::data_set |
type_traits.hpp | Defines some generic type traits used in the PLSSVM library |
utility.hpp | Defines universal utility functions |
▼ exceptions | Directory containing custom exception types used to be able to better distinguish errors |
exceptions.hpp | Implements custom exception classes derived from std::runtime_error including source location information |
source_location.hpp | Implements a custom std::source_location implementation for C++17 |
▼ version | Directory containing compile-time constant version information |
▼ git_metadata | Directory containing compile-time constant meta data for git specific information |
git_metadata.hpp | Implements compile-time constants to query git information |
version.hpp | Implements compile-time constants to query the current library version |
backend_types.hpp | Defines an enumeration holding all possible backends. Can also include backends not available on the current target platform |
constants.hpp | Global type definitions and compile-time constants |
core.hpp | Core header including all other necessary headers |
csvm.hpp | Defines the base class for all C-SVM backends and implements the functionality shared by all of them |
csvm_factory.hpp | Factory function for constructing a new C-SVM based on the provided plssvm::backend_type and potential additional parameter |
data_set.hpp | Implements a data set class encapsulating all data points, features, and potential labels |
default_value.hpp | Implements a class used to be able to distinguish between the default value of a variable and an assigned value |
file_format_types.hpp | Defines an enumeration holding all supported file formats |
kernel_function_types.hpp | Defines an enumeration holding all possible kernel function types |
model.hpp | Implements a model class encapsulating the results of a SVM fit call |
parameter.hpp | Implements the parameter class encapsulating all important C-SVM parameters |
target_platforms.hpp | Defines an enumeration holding all possible target platforms. Can also include targets not available on the current target platform |