DPC++ Runtime
Runtime libraries for oneAPI DPC++
pi.cpp File Reference

Implementation of C++ wrappers for PI interface. More...

#include "context_impl.hpp"
#include <detail/config.hpp>
#include <detail/global_handler.hpp>
#include <detail/plugin.hpp>
#include <detail/xpti_registry.hpp>
#include <sycl/context.hpp>
#include <sycl/detail/common.hpp>
#include <sycl/detail/device_filter.hpp>
#include <sycl/detail/pi.hpp>
#include <sycl/detail/stl_type_traits.hpp>
#include <sycl/version.hpp>
#include <bitset>
#include <cstdarg>
#include <cstring>
#include <iostream>
#include <map>
#include <sstream>
#include <stddef.h>
#include <string>
Include dependency graph for pi.cpp:

Go to the source code of this file.

Namespaces

 sycl
 ---— Error handling, matching OpenCL plugin semantics.
 
 sycl::_V1
 
 sycl::_V1::detail
 
 sycl::_V1::detail::pi
 

Macros

#define STR(x)   #x
 
#define SYCL_VERSION_STR    "sycl " STR(__LIBSYCL_MAJOR_VERSION) "." STR(__LIBSYCL_MINOR_VERSION)
 

Functions

template<sycl::backend BE>
void * sycl::_V1::detail::getPluginOpaqueData (void *opaquedata_arg)
 
template void * sycl::_V1::detail::getPluginOpaqueData< sycl::backend::ext_intel_esimd_emulator > (void *)
 
static void sycl::_V1::detail::pi::initializePlugins (std::vector< plugin > &Plugins)
 
uint64_t sycl::_V1::detail::pi::emitFunctionBeginTrace (const char *FName)
 Emits an XPTI trace before a PI API call is made. More...
 
void sycl::_V1::detail::pi::emitFunctionEndTrace (uint64_t CorrelationID, const char *FName)
 Emits an XPTI trace after the PI API call has been made. More...
 
uint64_t sycl::_V1::detail::pi::emitFunctionWithArgsBeginTrace (uint32_t FuncID, const char *FName, unsigned char *ArgsData, pi_plugin Plugin)
 Notifies XPTI subscribers about PI function calls and packs call arguments. More...
 
void sycl::_V1::detail::pi::emitFunctionWithArgsEndTrace (uint64_t CorrelationID, uint32_t FuncID, const char *FName, unsigned char *ArgsData, pi_result Result, pi_plugin Plugin)
 Notifies XPTI subscribers about PI function call result. More...
 
void sycl::_V1::detail::pi::contextSetExtendedDeleter (const sycl::context &constext, pi_context_extended_deleter func, void *user_data)
 
std::string sycl::_V1::detail::pi::platformInfoToString (pi_platform_info info)
 
std::string sycl::_V1::detail::pi::memFlagToString (pi_mem_flags Flag)
 
std::string sycl::_V1::detail::pi::memFlagsToString (pi_mem_flags Flags)
 
std::vector< std::pair< std::string, backend > > sycl::_V1::detail::pi::findPlugins ()
 
void * sycl::_V1::detail::pi::loadPlugin (const std::string &PluginPath)
 
int sycl::_V1::detail::pi::unloadPlugin (void *Library)
 
bool sycl::_V1::detail::pi::bindPlugin (void *Library, const std::shared_ptr< PiPlugin > &PluginInformation)
 
bool sycl::_V1::detail::pi::trace (TraceLevel level)
 
std::vector< plugin > & sycl::_V1::detail::pi::initialize ()
 
template<backend BE>
const plugin & sycl::_V1::detail::pi::getPlugin ()
 
template const plugin & sycl::_V1::detail::pi::getPlugin< backend::opencl > ()
 
template const plugin & sycl::_V1::detail::pi::getPlugin< backend::ext_oneapi_level_zero > ()
 
template const plugin & sycl::_V1::detail::pi::getPlugin< backend::ext_intel_esimd_emulator > ()
 
template const plugin & sycl::_V1::detail::pi::getPlugin< backend::ext_oneapi_cuda > ()
 
void sycl::_V1::detail::pi::die (const char *Message)
 
void sycl::_V1::detail::pi::assertion (bool Condition, const char *Message=nullptr)
 
template<typename ResT >
static ResT sycl::_V1::detail::pi::readELFValue (const unsigned char *Data, size_t NumBytes, bool IsBigEndian)
 
static bool sycl::_V1::detail::pi::checkELFSectionPresent (const std::string &ExpectedSectionName, const unsigned char *ImgData, size_t ImgSize)
 
static uint16_t sycl::_V1::detail::pi::getELFHeaderType (const unsigned char *ImgData, size_t ImgSize)
 
PiDeviceBinaryType sycl::_V1::detail::pi::getBinaryImageFormat (const unsigned char *ImgData, size_t ImgSize)
 Tries to determine the device binary image foramat. More...
 

Variables

bool sycl::_V1::detail::pi::XPTIInitDone = false
 

Detailed Description

Implementation of C++ wrappers for PI interface.

Definition in file pi.cpp.

Macro Definition Documentation

◆ STR

#define STR (   x)    #x

Definition at line 41 of file pi.cpp.

◆ SYCL_VERSION_STR

#define SYCL_VERSION_STR    "sycl " STR(__LIBSYCL_MAJOR_VERSION) "." STR(__LIBSYCL_MINOR_VERSION)

Definition at line 42 of file pi.cpp.