DPC++ Runtime
Runtime libraries for oneAPI DPC++
device_selector.hpp File Reference
#include <sycl/detail/defines_elementary.hpp>
#include <sycl/detail/export.hpp>
#include <functional>
#include <type_traits>
#include <vector>
Include dependency graph for device_selector.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


class  sycl::_V1::accelerator_selector
 The default selector chooses the first available SYCL device. More...




using sycl::_V1::detail::DSelectorInvocableType = std::function< int(const sycl::device &)>
template<typename DeviceSelector >
using sycl::_V1::detail::EnableIfSYCL2020DeviceSelectorInvocable = std::enable_if_t< std::is_invocable_r_v< int, DeviceSelector &, const device & > &&!std::is_base_of_v< ext::oneapi::filter_selector, DeviceSelector > &&!std::is_base_of_v< device_selector, DeviceSelector > >


class sycl::_V1::__SYCL2020_DEPRECATED ("Use SYCL 2020 callable device selectors instead.") device_selector
 The SYCL 1.2.1 device_selector class provides ability to choose the best SYCL device based on heuristics specified by the user. More...
class __SYCL2020_DEPRECATED("Host device is no longer supported.") host_selector int sycl::_V1::default_selector_v (const device &dev)
 Selects SYCL host device. More...
int sycl::_V1::gpu_selector_v (const device &dev)
int sycl::_V1::cpu_selector_v (const device &dev)
int sycl::_V1::accelerator_selector_v (const device &dev)
template<typename LastT >
void sycl::_V1::detail::fill_aspect_vector (std::vector< aspect > &V, LastT L)
template<typename FirstT , typename... OtherTs>
void sycl::_V1::detail::fill_aspect_vector (std::vector< aspect > &V, FirstT F, OtherTs... O)
device sycl::_V1::detail::select_device (const DSelectorInvocableType &DeviceSelectorInvocable)
device sycl::_V1::detail::select_device (const DSelectorInvocableType &DeviceSelectorInvocable, const context &SyclContext)
detail::DSelectorInvocableType sycl::_V1::aspect_selector (const std::vector< aspect > &RequireList, const std::vector< aspect > &DenyList={})
template<typename... AspectListT>
detail::DSelectorInvocableType sycl::_V1::aspect_selector (AspectListT... AspectList)
template<aspect... AspectList>
detail::DSelectorInvocableType sycl::_V1::aspect_selector ()


static constexpr int sycl::_V1::detail::REJECT_DEVICE_SCORE = -1