PLSSVM - Parallel Least Squares Support Vector Machine  2.0.0
A Least Squares Support Vector Machine implementation using different backends.
core.hpp
Go to the documentation of this file.
1 
12 #ifndef PLSSVM_CORE_HPP_
13 #define PLSSVM_CORE_HPP_
14 #pragma once
15 
16 #include "plssvm/csvm.hpp" // the base C-SVM every backend is inheriting from
17 #include "plssvm/csvm_factory.hpp" // a factory function to instantiate a C-SVM using a runtime backend; includes the available backend C-SVMs
18 
19 #include "plssvm/constants.hpp" // verbosity flag und compile-time constants
20 #include "plssvm/parameter.hpp" // the C-SVM parameter
21 
22 #include "plssvm/data_set.hpp" // a data set used for training a C-SVM
23 #include "plssvm/model.hpp" // the model as a result of training a C-SVM
24 
25 #include "plssvm/backend_types.hpp" // all supported backend types
26 #include "plssvm/kernel_function_types.hpp" // all supported kernel function types
27 #include "plssvm/target_platforms.hpp" // all supported target platforms
28 
29 #include "plssvm/backends/SYCL/implementation_type.hpp" // the SYCL implementation type
30 #include "plssvm/backends/SYCL/kernel_invocation_type.hpp" // the SYCL specific kernel invocation typ
31 
32 #include "plssvm/exceptions/exceptions.hpp" // exception hierarchy
33 #include "plssvm/version/version.hpp" // version information
34 
36 namespace plssvm {}
37 
39 namespace plssvm::version {}
40 
42 namespace plssvm::detail {}
44 namespace plssvm::detail::io {}
46 namespace plssvm::detail::cmd {}
47 
49 namespace plssvm::operators {}
50 
52 namespace plssvm::openmp {}
53 
55 namespace plssvm::cuda {}
57 namespace plssvm::cuda::detail {}
58 
60 namespace plssvm::hip {}
62 namespace plssvm::hip::detail {}
63 
65 namespace plssvm::opencl {}
67 namespace plssvm::opencl::detail {}
68 
70 namespace plssvm::dpcpp {
71 using namespace plssvm::sycl;
72 }
74 namespace plssvm::dpcpp::detail {}
75 
77 namespace plssvm::hipsycl {
78 using namespace plssvm::sycl;
79 }
81 namespace plssvm::hipsycl::detail {}
82 
84 namespace plssvm::sycl {
85 #if defined(PLSSVM_HAS_SYCL_BACKEND)
86 using namespace plssvm::PLSSVM_SYCL_BACKEND_PREFERRED_IMPLEMENTATION;
87 #endif
88 } // namespace plssvm::sycl
90 namespace plssvm::sycl::detail {}
91 
92 #endif // PLSSVM_CORE_HPP_
Defines an enumeration holding all possible backends. Can also include backends not available on the ...
Global type definitions and compile-time constants.
Defines the base class for all C-SVM backends and implements the functionality shared by all of them.
Factory function for constructing a new C-SVM based on the provided plssvm::backend_type and potentia...
Implements a data set class encapsulating all data points, features, and potential labels.
Implements custom exception classes derived from std::runtime_error including source location informa...
Defines an enumeration holding all possible SYCL implementations.
Defines an enumeration holding all possible kernel function types.
Defines an enumeration holding all possible SYCL kernel invocation types.
Implements a model class encapsulating the results of a SVM fit call.
Namespace containing CUDA backend specific implementation details. Should not directly be used by use...
Definition: device_ptr.cuh:18
Namespace containing the C-SVM using the CUDA backend.
Definition: csvm.hpp:34
Namespace containing implementation details for the command line interface functionality....
Definition: core.hpp:46
Namespace containing implementation details for the IO related functions. Should not directly be used...
Definition: core.hpp:44
Namespace containing implementation details. Should not directly be used by users.
Definition: csvm.hpp:27
Namespace containing the C-SVM using the SYCL backend with DPC++ as SYCL implementation....
Definition: device_ptr.hpp:19
Namespace containing the C-SVM using the SYCL backend with DPC++ as SYCL implementation.
Definition: csvm.hpp:40
Namespace containing HIP backend specific implementation details. Should not directly be used by user...
Definition: device_ptr.hip.hpp:18
Namespace containing the C-SVM using the HIP backend.
Definition: csvm.hpp:34
Namespace containing the C-SVM using the SYCL backend with hipSYCL as SYCL implementation....
Definition: device_ptr.hpp:19
Namespace containing the C-SVM using the SYCL backend with hipSYCL as SYCL implementation.
Definition: exceptions.hpp:47
Namespace containing OpenCL backend specific implementation details. Should not directly be used by u...
Definition: command_queue.hpp:22
Namespace containing the C-SVM using the OpenCL backend.
Definition: csvm.hpp:37
Namespace containing the C-SVM using the OpenMP backend.
Definition: csvm.hpp:27
Namespace containing operator overloads for std::vector and other mathematical functions on vectors.
Definition: core.hpp:49
Namespace containing the C-SVM using the SYCL backend with the preferred SYCL implementation....
Definition: atomics.hpp:18
Namespace containing the C-SVM using the SYCL backend with the preferred SYCL implementation.
Definition: atomics.hpp:18
Namespace containing versioning information.
Definition: core.hpp:39
The main namespace containing all public API functions.
Definition: backend_types.hpp:24
Implements the parameter class encapsulating all important C-SVM parameters.
Defines an enumeration holding all possible target platforms. Can also include targets not available ...
Implements compile-time constants to query the current library version.