DPC++ Runtime
Runtime libraries for oneAPI DPC++
pi.cpp File Reference
#include "context_impl.hpp"
#include <CL/sycl/context.hpp>
#include <CL/sycl/detail/common.hpp>
#include <CL/sycl/detail/device_filter.hpp>
#include <CL/sycl/detail/pi.hpp>
#include <CL/sycl/detail/stl_type_traits.hpp>
#include <CL/sycl/version.hpp>
#include <detail/config.hpp>
#include <detail/global_handler.hpp>
#include <detail/plugin.hpp>
#include <detail/xpti_registry.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

 cl
 We provide new interfaces for matrix muliply in this patch:
 
 cl::sycl
 
 cl::sycl::detail
 
 cl::sycl::detail::pi
 

Macros

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

Functions

template<cl::sycl::backend BE>
void * cl::sycl::detail::getPluginOpaqueData (void *opaquedata_arg)
 
template void * cl::sycl::detail::getPluginOpaqueData< cl::sycl::backend::ext_intel_esimd_emulator > (void *)
 
static void cl::sycl::detail::pi::initializePlugins (std::vector< plugin > &Plugins)
 
uint64_t cl::sycl::detail::pi::emitFunctionBeginTrace (const char *FName)
 Emits an XPTI trace before a PI API call is made. More...
 
void cl::sycl::detail::pi::emitFunctionEndTrace (uint64_t CorrelationID, const char *FName)
 Emits an XPTI trace after the PI API call has been made. More...
 
uint64_t cl::sycl::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 cl::sycl::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 cl::sycl::detail::pi::contextSetExtendedDeleter (const cl::sycl::context &constext, pi_context_extended_deleter func, void *user_data)
 
std::string cl::sycl::detail::pi::platformInfoToString (pi_platform_info info)
 
std::string cl::sycl::detail::pi::memFlagToString (pi_mem_flags Flag)
 
std::string cl::sycl::detail::pi::memFlagsToString (pi_mem_flags Flags)
 
std::vector< std::pair< std::string, backend > > cl::sycl::detail::pi::findPlugins ()
 
void * cl::sycl::detail::pi::loadPlugin (const std::string &PluginPath)
 
int cl::sycl::detail::pi::unloadPlugin (void *Library)
 
bool cl::sycl::detail::pi::bindPlugin (void *Library, const std::shared_ptr< PiPlugin > &PluginInformation)
 
bool cl::sycl::detail::pi::trace (TraceLevel level)
 
std::vector< plugin > & cl::sycl::detail::pi::initialize ()
 
template<backend BE>
const plugin & cl::sycl::detail::pi::getPlugin ()
 
const template plugin & cl::sycl::detail::pi::getPlugin< backend::opencl > ()
 
const template plugin & cl::sycl::detail::pi::getPlugin< backend::ext_oneapi_level_zero > ()
 
const template plugin & cl::sycl::detail::pi::getPlugin< backend::ext_intel_esimd_emulator > ()
 
const template plugin & cl::sycl::detail::pi::getPlugin< backend::ext_oneapi_cuda > ()
 
void cl::sycl::detail::pi::die (const char *Message)
 
void cl::sycl::detail::pi::assertion (bool Condition, const char *Message=nullptr)
 
std::ostream & cl::sycl::detail::pi::operator<< (std::ostream &Out, const DeviceBinaryProperty &P)
 
static pi_uint32 cl::sycl::detail::pi::asUint32 (const void *Addr)
 
static uint16_t cl::sycl::detail::pi::getELFHeaderType (const unsigned char *ImgData, size_t ImgSize)
 
PiDeviceBinaryType cl::sycl::detail::pi::getBinaryImageFormat (const unsigned char *ImgData, size_t ImgSize)
 Tries to determine the device binary image foramat. More...
 

Variables

bool cl::sycl::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.