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 ()
 
 RTDeviceBinaryImage (sycl_device_binary Bin)
 
 RTDeviceBinaryImage (const RTDeviceBinaryImage &)=delete
 
RTDeviceBinaryImageoperator= (const RTDeviceBinaryImage &)=delete
 
 RTDeviceBinaryImage (RTDeviceBinaryImage &&)=default
 
RTDeviceBinaryImageoperator= (RTDeviceBinaryImage &&)=default
 
virtual ~RTDeviceBinaryImage ()
 
bool supportsSpecConstants () const
 
const sycl_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
 
ur::DeviceBinaryType getFormat () const
 Returns the format of the binary image. More...
 
sycl_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 std::vector< ur_program_metadata_t > & getProgramMetadataUR () const
 
const PropertyRangegetExportedSymbols () const
 
const PropertyRangegetImportedSymbols () const
 
const PropertyRangegetDeviceGlobals () const
 
const PropertyRangegetDeviceRequirements () const
 
const PropertyRangegetHostPipes () const
 
const PropertyRangegetVirtualFunctions () const
 
std::uintptr_t getImageID () const
 

Protected Member Functions

void init (sycl_device_binary Bin)
 
sycl_device_binary get () const
 

Protected Attributes

sycl_device_binary Bin
 
ur::DeviceBinaryType Format = SYCL_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 ImportedSymbols
 
RTDeviceBinaryImage::PropertyRange DeviceGlobals
 
RTDeviceBinaryImage::PropertyRange DeviceRequirements
 
RTDeviceBinaryImage::PropertyRange HostPipes
 
RTDeviceBinaryImage::PropertyRange VirtualFunctions
 
std::vector< ur_program_metadata_t > ProgramMetadataUR
 

Detailed Description

Definition at line 87 of file device_binary_image.hpp.

Constructor & Destructor Documentation

◆ RTDeviceBinaryImage() [1/4]

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

Definition at line 140 of file device_binary_image.hpp.

◆ RTDeviceBinaryImage() [2/4]

sycl::_V1::detail::RTDeviceBinaryImage::RTDeviceBinaryImage ( sycl_device_binary  Bin)
inline

Definition at line 141 of file device_binary_image.hpp.

References Bin, and init().

◆ 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 150 of file device_binary_image.hpp.

Member Function Documentation

◆ dump()

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

Definition at line 139 of file device_binary_image.cpp.

References Bin, sycl_device_binary_struct::BinaryStart, and getSize().

◆ get()

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

◆ getAssertUsed()

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

Definition at line 217 of file device_binary_image.hpp.

References AssertUsed.

◆ getCompileOptions()

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

◆ getDeviceGlobals()

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

Definition at line 224 of file device_binary_image.hpp.

References DeviceGlobals.

◆ 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 222 of file device_binary_image.hpp.

References ExportedSymbols.

◆ getFormat()

ur::DeviceBinaryType sycl::_V1::detail::RTDeviceBinaryImage::getFormat ( ) const
inline

◆ getHostPipes()

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

Definition at line 228 of file device_binary_image.hpp.

References HostPipes.

◆ getImageID()

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

◆ getImportedSymbols()

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

Definition at line 223 of file device_binary_image.hpp.

References ImportedSymbols.

◆ getKernelParamOptInfo()

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

Definition at line 214 of file device_binary_image.hpp.

References KernelParamOptInfo.

◆ getLinkOptions()

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

◆ getProgramMetadata()

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

Definition at line 218 of file device_binary_image.hpp.

References ProgramMetadata.

◆ getProgramMetadataUR()

const std::vector<ur_program_metadata_t>& sycl::_V1::detail::RTDeviceBinaryImage::getProgramMetadataUR ( ) 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 209 of file device_binary_image.hpp.

References SpecConstIDMap.

◆ getSpecConstantsDefaultValues()

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

Definition at line 210 of file device_binary_image.hpp.

References SpecConstDefaultValuesMap.

◆ getVirtualFunctions()

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

Definition at line 229 of file device_binary_image.hpp.

References VirtualFunctions.

◆ 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 247 of file device_binary_image.hpp.

Referenced by getAssertUsed(), and init().

◆ Bin

◆ DeviceGlobals

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

Definition at line 251 of file device_binary_image.hpp.

Referenced by getDeviceGlobals(), and init().

◆ DeviceLibReqMask

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

Definition at line 245 of file device_binary_image.hpp.

Referenced by getDeviceLibReqMask(), and init().

◆ DeviceRequirements

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

Definition at line 252 of file device_binary_image.hpp.

Referenced by getDeviceRequirements(), and init().

◆ ExportedSymbols

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

Definition at line 249 of file device_binary_image.hpp.

Referenced by getExportedSymbols(), and init().

◆ Format

ur::DeviceBinaryType sycl::_V1::detail::RTDeviceBinaryImage::Format = SYCL_DEVICE_BINARY_TYPE_NONE
protected

Definition at line 242 of file device_binary_image.hpp.

Referenced by getFormat(), and init().

◆ HostPipes

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

Definition at line 253 of file device_binary_image.hpp.

Referenced by getHostPipes(), and init().

◆ ImportedSymbols

RTDeviceBinaryImage::PropertyRange sycl::_V1::detail::RTDeviceBinaryImage::ImportedSymbols
protected

Definition at line 250 of file device_binary_image.hpp.

Referenced by getImportedSymbols(), and init().

◆ KernelParamOptInfo

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

Definition at line 246 of file device_binary_image.hpp.

Referenced by getKernelParamOptInfo(), and init().

◆ ProgramMetadata

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

Definition at line 248 of file device_binary_image.hpp.

Referenced by getProgramMetadata(), and init().

◆ ProgramMetadataUR

std::vector<ur_program_metadata_t> sycl::_V1::detail::RTDeviceBinaryImage::ProgramMetadataUR
protected

Definition at line 256 of file device_binary_image.hpp.

Referenced by getProgramMetadataUR().

◆ SpecConstDefaultValuesMap

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

Definition at line 244 of file device_binary_image.hpp.

Referenced by getSpecConstantsDefaultValues(), and init().

◆ SpecConstIDMap

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

Definition at line 243 of file device_binary_image.hpp.

Referenced by getSpecConstants(), and init().

◆ VirtualFunctions

RTDeviceBinaryImage::PropertyRange sycl::_V1::detail::RTDeviceBinaryImage::VirtualFunctions
protected

Definition at line 254 of file device_binary_image.hpp.

Referenced by getVirtualFunctions(), and init().


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