DPC++ Runtime
Runtime libraries for oneAPI DPC++
sycl::_V1::detail::RTDeviceBinaryImage Class Reference

#include <detail/device_binary_image.hpp>

Inheritance diagram for sycl::_V1::detail::RTDeviceBinaryImage:
Collaboration diagram for sycl::_V1::detail::RTDeviceBinaryImage:

Classes

class  PropertyRange
 

Public Member Functions

 RTDeviceBinaryImage (OSModuleHandle ModuleHandle)
 
 RTDeviceBinaryImage (pi_device_binary Bin, OSModuleHandle ModuleHandle)
 
 RTDeviceBinaryImage (const RTDeviceBinaryImage &)=delete
 
RTDeviceBinaryImageoperator= (const RTDeviceBinaryImage &)=delete
 
 RTDeviceBinaryImage (RTDeviceBinaryImage &&)=default
 
RTDeviceBinaryImageoperator= (RTDeviceBinaryImage &&)=default
 
OSModuleHandle getOSModuleHandle () const
 
virtual ~RTDeviceBinaryImage ()
 
bool supportsSpecConstants () const
 
const pi_device_binary_structgetRawData () const
 
virtual void print () const
 
virtual void dump (std::ostream &Out) const
 
size_t getSize () const
 
const char * getCompileOptions () const
 
const char * getLinkOptions () const
 
pi::PiDeviceBinaryType getFormat () const
 Returns the format of the binary image. More...
 
pi_device_binary_property getProperty (const char *PropName) const
 Returns a single property from SYCL_MISC_PROP category. More...
 
const PropertyRangegetSpecConstants () const
 Gets the iterator range over specialization constants in this binary image. More...
 
const PropertyRangegetSpecConstantsDefaultValues () const
 
const PropertyRangegetDeviceLibReqMask () const
 
const PropertyRangegetKernelParamOptInfo () const
 
const PropertyRangegetAssertUsed () const
 
const PropertyRangegetProgramMetadata () const
 
const PropertyRangegetExportedSymbols () const
 
const PropertyRangegetDeviceGlobals () const
 
const PropertyRangegetDeviceRequirements () const
 
const PropertyRangegetHostPipes () const
 
std::uintptr_t getImageID () const
 

Protected Member Functions

void init (pi_device_binary Bin)
 
pi_device_binary get () const
 

Protected Attributes

pi_device_binary Bin
 
OSModuleHandle ModuleHandle
 
pi::PiDeviceBinaryType Format = PI_DEVICE_BINARY_TYPE_NONE
 
RTDeviceBinaryImage::PropertyRange SpecConstIDMap
 
RTDeviceBinaryImage::PropertyRange SpecConstDefaultValuesMap
 
RTDeviceBinaryImage::PropertyRange DeviceLibReqMask
 
RTDeviceBinaryImage::PropertyRange KernelParamOptInfo
 
RTDeviceBinaryImage::PropertyRange AssertUsed
 
RTDeviceBinaryImage::PropertyRange ProgramMetadata
 
RTDeviceBinaryImage::PropertyRange ExportedSymbols
 
RTDeviceBinaryImage::PropertyRange DeviceGlobals
 
RTDeviceBinaryImage::PropertyRange DeviceRequirements
 
RTDeviceBinaryImage::PropertyRange HostPipes
 

Detailed Description

Definition at line 82 of file device_binary_image.hpp.

Constructor & Destructor Documentation

◆ RTDeviceBinaryImage() [1/4]

sycl::_V1::detail::RTDeviceBinaryImage::RTDeviceBinaryImage ( OSModuleHandle  ModuleHandle)
inline

Definition at line 135 of file device_binary_image.hpp.

◆ RTDeviceBinaryImage() [2/4]

sycl::_V1::detail::RTDeviceBinaryImage::RTDeviceBinaryImage ( pi_device_binary  Bin,
OSModuleHandle  ModuleHandle 
)
inline

Definition at line 137 of file device_binary_image.hpp.

◆ RTDeviceBinaryImage() [3/4]

sycl::_V1::detail::RTDeviceBinaryImage::RTDeviceBinaryImage ( const RTDeviceBinaryImage )
delete

◆ RTDeviceBinaryImage() [4/4]

sycl::_V1::detail::RTDeviceBinaryImage::RTDeviceBinaryImage ( RTDeviceBinaryImage &&  )
default

◆ ~RTDeviceBinaryImage()

virtual sycl::_V1::detail::RTDeviceBinaryImage::~RTDeviceBinaryImage ( )
inlinevirtual

Definition at line 151 of file device_binary_image.hpp.

Member Function Documentation

◆ dump()

void sycl::_V1::detail::RTDeviceBinaryImage::dump ( std::ostream &  Out) const
virtual

Definition at line 135 of file device_binary_image.cpp.

References pi_device_binary_struct::BinaryStart.

◆ get()

pi_device_binary sycl::_V1::detail::RTDeviceBinaryImage::get ( ) const
inlineprotected

◆ getAssertUsed()

const PropertyRange& sycl::_V1::detail::RTDeviceBinaryImage::getAssertUsed ( ) const
inline

Definition at line 218 of file device_binary_image.hpp.

◆ getCompileOptions()

const char* sycl::_V1::detail::RTDeviceBinaryImage::getCompileOptions ( ) const
inline

◆ getDeviceGlobals()

const PropertyRange& sycl::_V1::detail::RTDeviceBinaryImage::getDeviceGlobals ( ) const
inline

◆ getDeviceLibReqMask()

const PropertyRange& sycl::_V1::detail::RTDeviceBinaryImage::getDeviceLibReqMask ( ) const
inline

◆ getDeviceRequirements()

const PropertyRange& sycl::_V1::detail::RTDeviceBinaryImage::getDeviceRequirements ( ) const
inline

◆ getExportedSymbols()

const PropertyRange& sycl::_V1::detail::RTDeviceBinaryImage::getExportedSymbols ( ) const
inline

Definition at line 220 of file device_binary_image.hpp.

◆ getFormat()

pi::PiDeviceBinaryType sycl::_V1::detail::RTDeviceBinaryImage::getFormat ( ) const
inline

Returns the format of the binary image.

Definition at line 178 of file device_binary_image.hpp.

Referenced by sycl::_V1::detail::ProgramManager::createPIProgram(), and sycl::_V1::detail::ProgramManager::getBuiltPIProgram().

◆ getHostPipes()

const PropertyRange& sycl::_V1::detail::RTDeviceBinaryImage::getHostPipes ( ) const
inline

Definition at line 225 of file device_binary_image.hpp.

◆ getImageID()

std::uintptr_t sycl::_V1::detail::RTDeviceBinaryImage::getImageID ( ) const
inline

◆ getKernelParamOptInfo()

const PropertyRange& sycl::_V1::detail::RTDeviceBinaryImage::getKernelParamOptInfo ( ) const
inline

Definition at line 215 of file device_binary_image.hpp.

◆ getLinkOptions()

const char* sycl::_V1::detail::RTDeviceBinaryImage::getLinkOptions ( ) const
inline

◆ getOSModuleHandle()

OSModuleHandle sycl::_V1::detail::RTDeviceBinaryImage::getOSModuleHandle ( ) const
inline

Definition at line 149 of file device_binary_image.hpp.

◆ getProgramMetadata()

const PropertyRange& sycl::_V1::detail::RTDeviceBinaryImage::getProgramMetadata ( ) const
inline

◆ getProperty()

◆ getRawData()

◆ getSize()

size_t sycl::_V1::detail::RTDeviceBinaryImage::getSize ( ) const
inline

◆ getSpecConstants()

const PropertyRange& sycl::_V1::detail::RTDeviceBinaryImage::getSpecConstants ( ) const
inline

Gets the iterator range over specialization constants in this binary image.

For each property pointed to by an iterator within the range, the name of the property is the specialization constant symbolic ID and the value is a list of 3-element tuples of 32-bit unsigned integers, describing the specialization constant. This is done in order to unify representation of both scalar and composite specialization constants: composite specialization constant is represented by its leaf elements, so for scalars the list contains only a single tuple, while for composite there might be more of them. Each tuple consists of ID of scalar specialization constant, its location within a composite (offset in bytes from the beginning or 0 if it is not an element of a composite specialization constant) and its size. For example, for the following structure: struct A { int a; float b; }; struct POD { A a[2]; int b; }; List of tuples will look like: { ID0, 0, 4 }, // .a[0].a { ID1, 4, 4 }, // .a[0].b { ID2, 8, 4 }, // .a[1].a { ID3, 12, 4 }, // .a[1].b { ID4, 16, 4 }, // .b And for an interger specialization constant, the list of tuples will look like: { ID5, 0, 4 }

Definition at line 210 of file device_binary_image.hpp.

Referenced by sycl::_V1::detail::program_impl::flush_spec_constants().

◆ getSpecConstantsDefaultValues()

const PropertyRange& sycl::_V1::detail::RTDeviceBinaryImage::getSpecConstantsDefaultValues ( ) const
inline

Definition at line 211 of file device_binary_image.hpp.

◆ init()

◆ operator=() [1/2]

RTDeviceBinaryImage& sycl::_V1::detail::RTDeviceBinaryImage::operator= ( const RTDeviceBinaryImage )
delete

◆ operator=() [2/2]

RTDeviceBinaryImage& sycl::_V1::detail::RTDeviceBinaryImage::operator= ( RTDeviceBinaryImage &&  )
default

◆ print()

◆ supportsSpecConstants()

bool sycl::_V1::detail::RTDeviceBinaryImage::supportsSpecConstants ( ) const
inline

Member Data Documentation

◆ AssertUsed

RTDeviceBinaryImage::PropertyRange sycl::_V1::detail::RTDeviceBinaryImage::AssertUsed
protected

Definition at line 244 of file device_binary_image.hpp.

◆ Bin

◆ DeviceGlobals

RTDeviceBinaryImage::PropertyRange sycl::_V1::detail::RTDeviceBinaryImage::DeviceGlobals
protected

Definition at line 247 of file device_binary_image.hpp.

◆ DeviceLibReqMask

RTDeviceBinaryImage::PropertyRange sycl::_V1::detail::RTDeviceBinaryImage::DeviceLibReqMask
protected

Definition at line 242 of file device_binary_image.hpp.

◆ DeviceRequirements

RTDeviceBinaryImage::PropertyRange sycl::_V1::detail::RTDeviceBinaryImage::DeviceRequirements
protected

Definition at line 248 of file device_binary_image.hpp.

◆ ExportedSymbols

RTDeviceBinaryImage::PropertyRange sycl::_V1::detail::RTDeviceBinaryImage::ExportedSymbols
protected

Definition at line 246 of file device_binary_image.hpp.

◆ Format

pi::PiDeviceBinaryType sycl::_V1::detail::RTDeviceBinaryImage::Format = PI_DEVICE_BINARY_TYPE_NONE
protected

Definition at line 239 of file device_binary_image.hpp.

◆ HostPipes

RTDeviceBinaryImage::PropertyRange sycl::_V1::detail::RTDeviceBinaryImage::HostPipes
protected

Definition at line 249 of file device_binary_image.hpp.

◆ KernelParamOptInfo

RTDeviceBinaryImage::PropertyRange sycl::_V1::detail::RTDeviceBinaryImage::KernelParamOptInfo
protected

Definition at line 243 of file device_binary_image.hpp.

◆ ModuleHandle

OSModuleHandle sycl::_V1::detail::RTDeviceBinaryImage::ModuleHandle
protected

Definition at line 237 of file device_binary_image.hpp.

◆ ProgramMetadata

RTDeviceBinaryImage::PropertyRange sycl::_V1::detail::RTDeviceBinaryImage::ProgramMetadata
protected

Definition at line 245 of file device_binary_image.hpp.

◆ SpecConstDefaultValuesMap

RTDeviceBinaryImage::PropertyRange sycl::_V1::detail::RTDeviceBinaryImage::SpecConstDefaultValuesMap
protected

Definition at line 241 of file device_binary_image.hpp.

◆ SpecConstIDMap

RTDeviceBinaryImage::PropertyRange sycl::_V1::detail::RTDeviceBinaryImage::SpecConstIDMap
protected

Definition at line 240 of file device_binary_image.hpp.


The documentation for this class was generated from the following files: