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