PLSSVM - Parallel Least Squares Support Vector Machine  2.0.0
A Least Squares Support Vector Machine implementation using different backends.
implementation_type.hpp
Go to the documentation of this file.
1 
12 #ifndef PLSSVM_BACKENDS_SYCL_IMPLEMENTATION_TYPE_HPP_
13 #define PLSSVM_BACKENDS_SYCL_IMPLEMENTATION_TYPE_HPP_
14 #pragma once
15 
16 #include <iosfwd> // forward declare std::ostream and std::istream
17 #include <vector> // std::vector
18 
19 namespace plssvm::sycl {
20 
24 enum class implementation_type {
26  automatic,
28  dpcpp,
30  hipsycl
31 };
32 
38 [[nodiscard]] std::vector<implementation_type> list_available_sycl_implementations();
39 
46 std::ostream &operator<<(std::ostream &out, implementation_type impl);
47 
54 std::istream &operator>>(std::istream &in, implementation_type &impl);
55 
56 } // namespace plssvm::sycl
57 
58 #endif // PLSSVM_BACKENDS_SYCL_IMPLEMENTATION_TYPE_HPP_
Namespace containing the C-SVM using the SYCL backend with the preferred SYCL implementation.
Definition: atomics.hpp:18
implementation_type
Enum class for all possible SYCL implementation types.
Definition: implementation_type.hpp:24
std::istream & operator>>(std::istream &in, implementation_type &impl)
Use the input-stream in to initialize the impl type.
std::vector< implementation_type > list_available_sycl_implementations()
Return a list of all currently available SYCL implementations.
std::ostream & operator<<(std::ostream &out, implementation_type impl)
Output the impl type to the given output-stream out.