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:


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 ( )

Definition at line 135 of file device_binary_image.hpp.

◆ RTDeviceBinaryImage() [2/4]

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

Definition at line 136 of file device_binary_image.hpp.

References Bin, and init().

◆ RTDeviceBinaryImage() [3/4]

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

◆ RTDeviceBinaryImage() [4/4]

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

◆ ~RTDeviceBinaryImage()

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

Definition at line 145 of file device_binary_image.hpp.

Member Function Documentation

◆ dump()

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

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

◆ getAssertUsed()

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

Definition at line 212 of file device_binary_image.hpp.

References AssertUsed.

◆ getCompileOptions()

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

◆ getDeviceGlobals()

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

Definition at line 215 of file device_binary_image.hpp.

References DeviceGlobals.

◆ getDeviceLibReqMask()

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

◆ getDeviceRequirements()

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

◆ getExportedSymbols()

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

Definition at line 214 of file device_binary_image.hpp.

References ExportedSymbols.

◆ getFormat()

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

◆ getHostPipes()

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

Definition at line 219 of file device_binary_image.hpp.

References HostPipes.

◆ getImageID()

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

◆ getKernelParamOptInfo()

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

Definition at line 209 of file device_binary_image.hpp.

References KernelParamOptInfo.

◆ getLinkOptions()

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

◆ getProgramMetadata()

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

◆ getProperty()

◆ getRawData()

◆ getSize()

◆ getSpecConstants()

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

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

Definition at line 205 of file device_binary_image.hpp.

References SpecConstDefaultValuesMap.

◆ init()

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ print()

◆ supportsSpecConstants()

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

Member Data Documentation

◆ AssertUsed

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

Definition at line 237 of file device_binary_image.hpp.

Referenced by getAssertUsed(), and init().

◆ Bin

◆ DeviceGlobals

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

Definition at line 240 of file device_binary_image.hpp.

Referenced by getDeviceGlobals(), and init().

◆ DeviceLibReqMask

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

Definition at line 235 of file device_binary_image.hpp.

Referenced by getDeviceLibReqMask(), and init().

◆ DeviceRequirements

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

Definition at line 241 of file device_binary_image.hpp.

Referenced by getDeviceRequirements(), and init().

◆ ExportedSymbols

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

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

Definition at line 232 of file device_binary_image.hpp.

Referenced by getFormat(), and init().

◆ HostPipes

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

Definition at line 242 of file device_binary_image.hpp.

Referenced by getHostPipes(), and init().

◆ KernelParamOptInfo

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

Definition at line 236 of file device_binary_image.hpp.

Referenced by getKernelParamOptInfo(), and init().

◆ ProgramMetadata

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

Definition at line 238 of file device_binary_image.hpp.

Referenced by getProgramMetadata(), and init().

◆ SpecConstDefaultValuesMap

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

Definition at line 234 of file device_binary_image.hpp.

Referenced by getSpecConstantsDefaultValues(), and init().

◆ SpecConstIDMap

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

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: