DPC++ Runtime
Runtime libraries for oneAPI DPC++
backend.hpp File Reference
#include <sycl/access/access.hpp>
#include <sycl/accessor.hpp>
#include <sycl/async_handler.hpp>
#include <sycl/backend_types.hpp>
#include <sycl/buffer.hpp>
#include <sycl/context.hpp>
#include <sycl/detail/backend_traits.hpp>
#include <sycl/detail/cl.h>
#include <sycl/detail/defines_elementary.hpp>
#include <sycl/detail/export.hpp>
#include <sycl/detail/impl_utils.hpp>
#include <sycl/detail/pi.h>
#include <sycl/device.hpp>
#include <sycl/event.hpp>
#include <sycl/exception.hpp>
#include <sycl/feature_test.hpp>
#include <sycl/handler.hpp>
#include <sycl/image.hpp>
#include <sycl/kernel.hpp>
#include <sycl/kernel_bundle.hpp>
#include <sycl/kernel_bundle_enums.hpp>
#include <sycl/platform.hpp>
#include <sycl/property_list.hpp>
#include <sycl/queue.hpp>
#include <memory>
#include <stdint.h>
#include <type_traits>
#include <vector>
Include dependency graph for backend.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  sycl::_V1::backend_traits< Backend >
 
struct  sycl::_V1::detail::BufferInterop< Backend, DataT, Dimensions, AllocatorT >
 
struct  sycl::_V1::detail::BufferInterop< backend::opencl, DataT, Dimensions, AllocatorT >
 

Namespaces

 sycl
 
 sycl::_V1
 
 sycl::_V1::detail
 

Typedefs

template<backend Backend, typename SyclType >
using sycl::_V1::backend_input_t = typename backend_traits< Backend >::template input_type< SyclType >
 
template<backend Backend, typename SyclType >
using sycl::_V1::backend_return_t = typename backend_traits< Backend >::template return_type< SyclType >
 

Enumerations

enum class  sycl::_V1::detail::backend_errc : unsigned int
 

Functions

backend sycl::_V1::detail::convertBackend (pi_platform_backend PiBackend)
 
template<backend BackendName, class SyclObjectT >
auto sycl::_V1::get_native (const SyclObjectT &Obj) -> backend_return_t< BackendName, SyclObjectT >
 
template<backend BackendName>
auto sycl::_V1::get_native (const queue &Obj) -> backend_return_t< BackendName, queue >
 
template<backend BackendName, bundle_state State>
auto sycl::_V1::get_native (const kernel_bundle< State > &Obj) -> backend_return_t< BackendName, kernel_bundle< State >>
 
template<backend BackendName, typename DataT , int Dimensions, typename AllocatorT >
auto sycl::_V1::get_native (const buffer< DataT, Dimensions, AllocatorT > &Obj) -> backend_return_t< BackendName, buffer< DataT, Dimensions, AllocatorT >>
 
template<backend BackendName, typename DataT , int Dimensions, access::mode AccessMode, access::target AccessTarget, access::placeholder IsPlaceholder>
auto sycl::_V1::get_native (const accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder > &Obj) -> typename detail::interop< BackendName, accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder >>::type=delete
 
platform sycl::_V1::detail::make_platform (pi_native_handle NativeHandle, backend Backend)
 
device sycl::_V1::detail::make_device (pi_native_handle NativeHandle, backend Backend)
 
context sycl::_V1::detail::make_context (pi_native_handle NativeHandle, const async_handler &Handler, backend Backend)
 
queue sycl::_V1::detail::make_queue (pi_native_handle NativeHandle, int32_t nativeHandleDesc, const context &TargetContext, const device *TargetDevice, bool KeepOwnership, const property_list &PropList, const async_handler &Handler, backend Backend)
 
event sycl::_V1::detail::make_event (pi_native_handle NativeHandle, const context &TargetContext, backend Backend)
 
event sycl::_V1::detail::make_event (pi_native_handle NativeHandle, const context &TargetContext, bool KeepOwnership, backend Backend)
 
kernel sycl::_V1::detail::make_kernel (pi_native_handle NativeHandle, const context &TargetContext, backend Backend)
 
kernel sycl::_V1::detail::make_kernel (const context &TargetContext, const kernel_bundle< bundle_state::executable > &KernelBundle, pi_native_handle NativeKernelHandle, bool KeepOwnership, backend Backend)
 
std::shared_ptr< detail::kernel_bundle_impl > sycl::_V1::detail::make_kernel_bundle (pi_native_handle NativeHandle, const context &TargetContext, bundle_state State, backend Backend)
 
std::shared_ptr< detail::kernel_bundle_impl > sycl::_V1::detail::make_kernel_bundle (pi_native_handle NativeHandle, const context &TargetContext, bool KeepOwnership, bundle_state State, backend Backend)
 
template<backend Backend>
std::enable_if_t< detail::InteropFeatureSupportMap< Backend >::MakePlatform==true, platform > sycl::_V1::make_platform (const typename backend_traits< Backend >::template input_type< platform > &BackendObject)
 
template<backend Backend>
std::enable_if_t< detail::InteropFeatureSupportMap< Backend >::MakeDevice==true, device > sycl::_V1::make_device (const typename backend_traits< Backend >::template input_type< device > &BackendObject)
 
template<backend Backend>
std::enable_if_t< detail::InteropFeatureSupportMap< Backend >::MakeContext==true, context > sycl::_V1::make_context (const typename backend_traits< Backend >::template input_type< context > &BackendObject, const async_handler &Handler={})
 
template<backend Backend>
std::enable_if_t< detail::InteropFeatureSupportMap< Backend >::MakeQueue==true, queue > sycl::_V1::make_queue (const typename backend_traits< Backend >::template input_type< queue > &BackendObject, const context &TargetContext, const async_handler Handler={})
 
template<backend Backend>
std::enable_if_t< detail::InteropFeatureSupportMap< Backend >::MakeEvent==true, event > sycl::_V1::make_event (const typename backend_traits< Backend >::template input_type< event > &BackendObject, const context &TargetContext)
 
template<backend Backend>
std::enable_if_t< detail::InteropFeatureSupportMap< Backend >::MakeEvent==true, event > sycl::_V1::make_event (const typename backend_traits< Backend >::template input_type< event > &BackendObject, const context &TargetContext, bool KeepOwnership)
 
template<backend Backend, typename T , int Dimensions = 1, typename AllocatorT = buffer_allocator<std::remove_const_t<T>>>
std::enable_if_t< detail::InteropFeatureSupportMap< Backend >::MakeBuffer==true &&Backend !=backend::ext_oneapi_level_zero, buffer< T, Dimensions, AllocatorT > > sycl::_V1::make_buffer (const typename backend_traits< Backend >::template input_type< buffer< T, Dimensions, AllocatorT >> &BackendObject, const context &TargetContext, event AvailableEvent={})
 
template<backend Backend, int Dimensions = 1, typename AllocatorT = image_allocator>
std::enable_if_t< detail::InteropFeatureSupportMap< Backend >::MakeImage==true &&Backend !=backend::ext_oneapi_level_zero, image< Dimensions, AllocatorT > > sycl::_V1::make_image (const typename backend_traits< Backend >::template input_type< image< Dimensions, AllocatorT >> &BackendObject, const context &TargetContext, event AvailableEvent={})
 
template<backend Backend>
kernel sycl::_V1::make_kernel (const typename backend_traits< Backend >::template input_type< kernel > &BackendObject, const context &TargetContext)
 
template<backend Backend, bundle_state State>
std::enable_if_t< detail::InteropFeatureSupportMap< Backend >::MakeKernelBundle==true, kernel_bundle< State > > sycl::_V1::make_kernel_bundle (const typename backend_traits< Backend >::template input_type< kernel_bundle< State >> &BackendObject, const context &TargetContext)