PLSSVM - Parallel Least Squares Support Vector Machine  2.0.0
A Least Squares Support Vector Machine implementation using different backends.
Namespaces | Classes | Enumerations | Functions
plssvm::sycl Namespace Reference

Namespace containing the C-SVM using the SYCL backend with the preferred SYCL implementation. More...

Namespaces

 detail
 Namespace containing the C-SVM using the SYCL backend with the preferred SYCL implementation. Should not directly be used by users.
 

Classes

class  backend_exception
 Exception type thrown if a problem with the SYCL backend occurs. More...
 

Enumerations

enum class  implementation_type { automatic , dpcpp , hipsycl }
 Enum class for all possible SYCL implementation types. More...
 
enum class  kernel_invocation_type { automatic , nd_range , hierarchical }
 Enum class for all possible SYCL kernel invocation types. More...
 

Functions

std::vector< implementation_typelist_available_sycl_implementations ()
 Return a list of all currently available SYCL implementations. More...
 
std::ostream & operator<< (std::ostream &out, implementation_type impl)
 Output the impl type to the given output-stream out. More...
 
std::istream & operator>> (std::istream &in, implementation_type &impl)
 Use the input-stream in to initialize the impl type. More...
 
std::ostream & operator<< (std::ostream &out, kernel_invocation_type invocation)
 Output the invocation type to the given output-stream out. More...
 
std::istream & operator>> (std::istream &in, kernel_invocation_type &invocation)
 Use the input-stream in to initialize the invocation type. More...
 

Detailed Description

Namespace containing the C-SVM using the SYCL backend with the preferred SYCL implementation.

Enumeration Type Documentation

◆ implementation_type

Enum class for all possible SYCL implementation types.

Enumerator
automatic 

Use the available SYCL implementation. If more than one implementation is available, the macro PLSSVM_SYCL_BACKEND_PREFERRED_IMPLEMENTATION must be defined.

dpcpp 

Use DPC++ as SYCL implementation.

hipsycl 

Use hipSYCL as SYCL implementation.

◆ kernel_invocation_type

Enum class for all possible SYCL kernel invocation types.

Enumerator
automatic 

Use the best kernel invocation type for the current SYCL implementation and target hardware platform.

nd_range 

Use the nd_range invocation type.

hierarchical 

Use the SYCL specific hierarchical invocation type.

Function Documentation

◆ list_available_sycl_implementations()

std::vector<implementation_type> plssvm::sycl::list_available_sycl_implementations ( )

Return a list of all currently available SYCL implementations.

Only SYCL implementations that where found during the CMake configuration are available.

Returns
the available SYCL implementations ([[nodiscard]])

◆ operator<<() [1/2]

std::ostream& plssvm::sycl::operator<< ( std::ostream &  out,
implementation_type  impl 
)

Output the impl type to the given output-stream out.

Parameters
[in,out]outthe output-stream to write the backend type to
[in]implthe SYCL implementation type
Returns
the output-stream

◆ operator>>() [1/2]

std::istream& plssvm::sycl::operator>> ( std::istream &  in,
implementation_type impl 
)

Use the input-stream in to initialize the impl type.

Parameters
[in,out]ininput-stream to extract the backend type from
[in]implthe SYCL implementation type
Returns
the input-stream

◆ operator<<() [2/2]

std::ostream& plssvm::sycl::operator<< ( std::ostream &  out,
kernel_invocation_type  invocation 
)

Output the invocation type to the given output-stream out.

Parameters
[in,out]outthe output-stream to write the backend type to
[in]invocationthe SYCL kernel invocation type
Returns
the output-stream

◆ operator>>() [2/2]

std::istream& plssvm::sycl::operator>> ( std::istream &  in,
kernel_invocation_type invocation 
)

Use the input-stream in to initialize the invocation type.

Parameters
[in,out]ininput-stream to extract the backend type from
[in]invocationthe SYCL kernel invocation type
Returns
the input-stream