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 (pi_device_binary Bin)
 
 RTDeviceBinaryImage (const RTDeviceBinaryImage &)=delete
 
RTDeviceBinaryImageoperator= (const RTDeviceBinaryImage &)=delete
 
 RTDeviceBinaryImage (RTDeviceBinaryImage &&)=default
 
RTDeviceBinaryImageoperator= (RTDeviceBinaryImage &&)=default
 
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
 
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 ( )
inline

Definition at line 135 of file device_binary_image.hpp.

◆ RTDeviceBinaryImage() [2/4]

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

Definition at line 136 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 145 of file device_binary_image.hpp.

Member Function Documentation

◆ dump()

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

Definition at line 134 of file device_binary_image.cpp.

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

◆ get()

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

◆ getAssertUsed()

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

Definition at line 212 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 215 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 214 of file device_binary_image.hpp.

References ExportedSymbols.

◆ getFormat()

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

◆ getHostPipes()

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

Definition at line 219 of file device_binary_image.hpp.

References HostPipes.

◆ getImageID()

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

◆ getKernelParamOptInfo()

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

Definition at line 209 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

◆ getProperty()

◆ getRawData()

◆ getSize()

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

References SpecConstIDMap.

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

◆ getSpecConstantsDefaultValues()

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

Definition at line 205 of file device_binary_image.hpp.

References SpecConstDefaultValuesMap.

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

Referenced by getAssertUsed(), and init().

◆ Bin

◆ DeviceGlobals

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

Definition at line 240 of file device_binary_image.hpp.

Referenced by getDeviceGlobals(), and init().

◆ DeviceLibReqMask

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

Definition at line 235 of file device_binary_image.hpp.

Referenced by getDeviceLibReqMask(), and init().

◆ DeviceRequirements

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

Definition at line 241 of file device_binary_image.hpp.

Referenced by getDeviceRequirements(), and init().

◆ ExportedSymbols

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

Definition at line 239 of file device_binary_image.hpp.

Referenced by getExportedSymbols(), and init().

◆ Format

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

Definition at line 232 of file device_binary_image.hpp.

Referenced by getFormat(), and init().

◆ HostPipes

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

Definition at line 242 of file device_binary_image.hpp.

Referenced by getHostPipes(), and init().

◆ KernelParamOptInfo

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

Definition at line 236 of file device_binary_image.hpp.

Referenced by getKernelParamOptInfo(), and init().

◆ ProgramMetadata

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

Definition at line 238 of file device_binary_image.hpp.

Referenced by getProgramMetadata(), and init().

◆ SpecConstDefaultValuesMap

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

Definition at line 234 of file device_binary_image.hpp.

Referenced by getSpecConstantsDefaultValues(), and init().

◆ SpecConstIDMap

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

Definition at line 233 of file device_binary_image.hpp.

Referenced by getSpecConstants(), and init().


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