13 #ifndef PLSSVM_BACKEND_TYPES_HPP_
14 #define PLSSVM_BACKEND_TYPES_HPP_
81 namespace cuda {
class csvm; }
82 namespace hip {
class csvm; }
83 namespace opencl {
class csvm; }
84 namespace hipsycl {
class csvm; }
85 namespace dpcpp {
class csvm; }
94 struct csvm_to_backend_type {};
100 struct csvm_to_backend_type<
openmp::csvm> {
108 struct csvm_to_backend_type<
cuda::csvm> {
116 struct csvm_to_backend_type<
hip::csvm> {
124 struct csvm_to_backend_type<
opencl::csvm> {
133 struct csvm_to_backend_type<
hipsycl::csvm> {
144 struct csvm_to_backend_type<
dpcpp::csvm> {
160 template <
typename T>
166 template <
typename T>
Base class for all C-SVM backends.
Definition: csvm.hpp:50
Defines an enumeration holding all possible SYCL implementations.
implementation_type
Enum class for all possible SYCL implementation types.
Definition: implementation_type.hpp:24
The main namespace containing all public API functions.
Definition: backend_types.hpp:24
std::istream & operator>>(std::istream &in, backend_type &backend)
Use the input-stream in to initialize the backend type.
std::vector< backend_type > list_available_backends()
Return a list of all currently available backends.
constexpr backend_type csvm_to_backend_type_v
Get the plssvm::backend_type of the C-SVM class of type T. Ignores all top-level const,...
Definition: backend_types.hpp:167
std::ostream & operator<<(std::ostream &out, backend_type backend)
Output the backend to the given output-stream out.
std::vector< target_platform > list_available_target_platforms()
Return a list of all currently available target platforms.
backend_type
Enum class for all possible backend types.
Definition: backend_types.hpp:30
backend_type determine_default_backend(const std::vector< backend_type > &available_backends=list_available_backends(), const std::vector< target_platform > &available_target_platforms=list_available_target_platforms())
Returns the default backend (if plssvm::backend_type::automatic is used) given the backend and target...
Get the plssvm::backend_type of the C-SVM class of type T. Ignores all top-level const,...
Definition: backend_types.hpp:161
Defines some generic type traits used in the PLSSVM library.