DPC++ Runtime
Runtime libraries for oneAPI DPC++
ur.hpp File Reference

C++ utilities for Unified Runtime integration. More...

#include <sycl/backend_types.hpp>
#include <sycl/detail/export.hpp>
#include <sycl/detail/os_util.hpp>
#include <ur_api.h>
#include <memory>
#include <type_traits>
#include <vector>
#include <ur_api_funcs.def>
Include dependency graph for ur.hpp:

Go to the source code of this file.

Classes

struct  sycl::_V1::detail::UrFuncPtrMapT
 
struct  sycl::_V1::detail::UrFuncInfo< UrApiOffset >
 
struct  sycl::_V1::detail::ur::IsStdVector< T >
 
struct  sycl::_V1::detail::ur::IsStdVector< std::vector< T > >
 

Namespaces

 sycl
 
 sycl::_V1
 
 sycl::_V1::detail
 
 sycl::_V1::detail::pi
 
 sycl::_V1::detail::ur
 

Macros

#define UR_DEVICE_INFO_EXTENSION_DEVICELIB_ASSERT   "cl_intel_devicelib_assert"
 Extension to denote native support of assert feature by an arbitrary device urDeviceGetInfo call should return this extension when the device supports native asserts if supported extensions' names are requested. More...
 
#define _UR_API(api)   api,
 
#define _UR_API(api)   decltype(&::api) pfn_##api = nullptr;
 
#define _UR_API(api)
 

Typedefs

typedef void(* pi_context_extended_deleter) (void *user_data)
 
using sycl_device_binary_property = _sycl_device_binary_property_struct *
 
using sycl::_V1::detail::PluginPtr = std::shared_ptr< plugin >
 

Enumerations

enum class  sycl::_V1::detail::UrApiKind { sycl::_V1::detail::_UR_API }
 
enum  sycl::_V1::detail::ur::TraceLevel { sycl::_V1::detail::ur::TRACE_BASIC = 0x1 , sycl::_V1::detail::ur::TRACE_CALLS = 0x2 , sycl::_V1::detail::ur::TRACE_ALL = -1 }
 

Functions

void sycl::_V1::detail::pi::contextSetExtendedDeleter (const sycl::context &constext, pi_context_extended_deleter func, void *user_data)
 
template<sycl::backend BE>
void * sycl::_V1::detail::getPluginOpaqueData (void *opaquedata_arg)
 
void * sycl::_V1::detail::ur::loadOsLibrary (const std::string &Library)
 
int sycl::_V1::detail::ur::unloadOsLibrary (void *Library)
 
void * sycl::_V1::detail::ur::getOsLibraryFuncAddress (void *Library, const std::string &FunctionName)
 
void * sycl::_V1::detail::ur::getURLoaderLibrary ()
 
std::vector< PluginPtr > & sycl::_V1::detail::ur::initializeUr (ur_loader_config_handle_t LoaderConfig=nullptr)
 
template<backend BE>
const PluginPtr & sycl::_V1::detail::ur::getPlugin ()
 
bool sycl::_V1::detail::ur::trace (TraceLevel level)
 
template<class To , class From >
To sycl::_V1::detail::ur::cast (From value)
 
template<class To , class FromE >
To sycl::_V1::detail::ur::cast (std::vector< FromE > Values)
 
ur_program_metadata_t sycl::_V1::detail::ur::mapDeviceBinaryPropertyToProgramMetadata (const sycl_device_binary_property &DeviceBinaryProperty)
 

Detailed Description

C++ utilities for Unified Runtime integration.

Definition in file ur.hpp.

Macro Definition Documentation

◆ _UR_API [1/3]

#define _UR_API (   api)    api,

Definition at line 87 of file ur.hpp.

◆ _UR_API [2/3]

#define _UR_API (   api)    decltype(&::api) pfn_##api = nullptr;

Definition at line 87 of file ur.hpp.

◆ _UR_API [3/3]

#define _UR_API (   api)
Value:
template <> struct UrFuncInfo<UrApiKind::api> { \
using FuncPtrT = decltype(&::api); \
inline const char *getFuncName() { return #api; } \
constexpr inline FuncPtrT getFuncPtr(const void *) { return &api; } \
constexpr inline FuncPtrT getFuncPtrFromModule(void *) { return &api; } \
};

Definition at line 87 of file ur.hpp.

◆ UR_DEVICE_INFO_EXTENSION_DEVICELIB_ASSERT

#define UR_DEVICE_INFO_EXTENSION_DEVICELIB_ASSERT   "cl_intel_devicelib_assert"

Extension to denote native support of assert feature by an arbitrary device urDeviceGetInfo call should return this extension when the device supports native asserts if supported extensions' names are requested.

Definition at line 29 of file ur.hpp.

Typedef Documentation

◆ pi_context_extended_deleter

typedef void(* pi_context_extended_deleter) (void *user_data)

Definition at line 31 of file ur.hpp.

◆ sycl_device_binary_property