DPC++ Runtime
Runtime libraries for oneAPI DPC++
cl::sycl::detail::pi::DeviceBinaryImage Class Reference

#include <CL/sycl/detail/pi.hpp>

Inheritance diagram for cl::sycl::detail::pi::DeviceBinaryImage:
Collaboration diagram for cl::sycl::detail::pi::DeviceBinaryImage:


class  PropertyRange

Public Member Functions

 DeviceBinaryImage (pi_device_binary Bin)
 DeviceBinaryImage ()
virtual void print () const
virtual void dump (std::ostream &Out) const
size_t getSize () const
const chargetCompileOptions () const
const chargetLinkOptions () 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 PropertyRange getSpecConstantsDefaultValues () const
const PropertyRangegetDeviceLibReqMask () const
const PropertyRangegetKernelParamOptInfo () const
const PropertyRange getAssertUsed () const
const PropertyRangegetProgramMetadata () const
const PropertyRange getExportedSymbols () const
const PropertyRange getDeviceGlobals () const
virtual ~DeviceBinaryImage ()

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
DeviceBinaryImage::PropertyRange SpecConstIDMap
DeviceBinaryImage::PropertyRange DeviceLibReqMask
DeviceBinaryImage::PropertyRange KernelParamOptInfo
DeviceBinaryImage::PropertyRange ProgramMetadata

Detailed Description

Definition at line 245 of file pi.hpp.

Constructor & Destructor Documentation

◆ DeviceBinaryImage() [1/2]

cl::sycl::detail::pi::DeviceBinaryImage::DeviceBinaryImage ( pi_device_binary  Bin)

Definition at line 297 of file pi.hpp.

◆ DeviceBinaryImage() [2/2]

cl::sycl::detail::pi::DeviceBinaryImage::DeviceBinaryImage ( )

Definition at line 298 of file pi.hpp.

◆ ~DeviceBinaryImage()

virtual cl::sycl::detail::pi::DeviceBinaryImage::~DeviceBinaryImage ( )

Definition at line 386 of file pi.hpp.

Member Function Documentation

◆ dump()

void cl::sycl::detail::pi::DeviceBinaryImage::dump ( std::ostream &  Out) const

Definition at line 622 of file pi.cpp.

◆ get()

pi_device_binary cl::sycl::detail::pi::DeviceBinaryImage::get ( ) const

◆ getAssertUsed()

const PropertyRange cl::sycl::detail::pi::DeviceBinaryImage::getAssertUsed ( ) const

Definition at line 364 of file pi.hpp.


◆ getCompileOptions()

const char* cl::sycl::detail::pi::DeviceBinaryImage::getCompileOptions ( ) const

Definition at line 308 of file pi.hpp.

Referenced by cl::sycl::detail::appendCompileOptionsFromImage().

◆ getDeviceGlobals()

const PropertyRange cl::sycl::detail::pi::DeviceBinaryImage::getDeviceGlobals ( ) const

◆ getDeviceLibReqMask()

const PropertyRange& cl::sycl::detail::pi::DeviceBinaryImage::getDeviceLibReqMask ( ) const

Definition at line 360 of file pi.hpp.

Referenced by cl::sycl::detail::ProgramManager::getDeviceLibReqMask().

◆ getExportedSymbols()

const PropertyRange cl::sycl::detail::pi::DeviceBinaryImage::getExportedSymbols ( ) const

◆ getFormat()

pi::PiDeviceBinaryType cl::sycl::detail::pi::DeviceBinaryImage::getFormat ( ) const

Returns the format of the binary image.

Definition at line 319 of file pi.hpp.

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

◆ getKernelParamOptInfo()

const PropertyRange& cl::sycl::detail::pi::DeviceBinaryImage::getKernelParamOptInfo ( ) const

Definition at line 361 of file pi.hpp.

Referenced by cl::sycl::detail::ProgramManager::addImages().

◆ getLinkOptions()

const char* cl::sycl::detail::pi::DeviceBinaryImage::getLinkOptions ( ) const

Definition at line 313 of file pi.hpp.

Referenced by cl::sycl::detail::appendLinkOptionsFromImage().

◆ getProgramMetadata()

const PropertyRange& cl::sycl::detail::pi::DeviceBinaryImage::getProgramMetadata ( ) const

◆ getProperty()

◆ getSize()

size_t cl::sycl::detail::pi::DeviceBinaryImage::getSize ( ) const

◆ getSpecConstants()

const PropertyRange& cl::sycl::detail::pi::DeviceBinaryImage::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 351 of file pi.hpp.

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

◆ getSpecConstantsDefaultValues()

const PropertyRange cl::sycl::detail::pi::DeviceBinaryImage::getSpecConstantsDefaultValues ( ) const

Definition at line 352 of file pi.hpp.


◆ init()

◆ print()

void cl::sycl::detail::pi::DeviceBinaryImage::print ( ) const

Member Data Documentation

◆ Bin

pi_device_binary cl::sycl::detail::pi::DeviceBinaryImage::Bin

◆ DeviceLibReqMask

DeviceBinaryImage::PropertyRange cl::sycl::detail::pi::DeviceBinaryImage::DeviceLibReqMask

Definition at line 395 of file pi.hpp.

◆ Format

pi::PiDeviceBinaryType cl::sycl::detail::pi::DeviceBinaryImage::Format = PI_DEVICE_BINARY_TYPE_NONE

Definition at line 393 of file pi.hpp.

◆ KernelParamOptInfo

DeviceBinaryImage::PropertyRange cl::sycl::detail::pi::DeviceBinaryImage::KernelParamOptInfo

Definition at line 396 of file pi.hpp.

◆ ProgramMetadata

DeviceBinaryImage::PropertyRange cl::sycl::detail::pi::DeviceBinaryImage::ProgramMetadata

Definition at line 397 of file pi.hpp.

◆ SpecConstIDMap

DeviceBinaryImage::PropertyRange cl::sycl::detail::pi::DeviceBinaryImage::SpecConstIDMap

Definition at line 394 of file pi.hpp.

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