DPC++ Runtime
Runtime libraries for oneAPI Data Parallel C++
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:

Classes

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

Definition at line 297 of file pi.hpp.

◆ DeviceBinaryImage() [2/2]

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

Definition at line 298 of file pi.hpp.

◆ ~DeviceBinaryImage()

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

Definition at line 379 of file pi.hpp.

Member Function Documentation

◆ dump()

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

Definition at line 622 of file pi.cpp.

◆ get()

◆ getAssertUsed()

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

Definition at line 364 of file pi.hpp.

References __SYCL_PI_PROPERTY_SET_SYCL_ASSERT_USED.

◆ getCompileOptions()

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

Definition at line 308 of file pi.hpp.

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

◆ getDeviceLibReqMask()

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

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
inline

◆ getFormat()

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

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
inline

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
inline

Definition at line 313 of file pi.hpp.

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

◆ getProgramMetadata()

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

◆ getProperty()

pi_device_binary_property cl::sycl::detail::pi::DeviceBinaryImage::getProperty ( const char PropName) const

◆ getSize()

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

◆ getSpecConstants()

const PropertyRange& cl::sycl::detail::pi::DeviceBinaryImage::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 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
inline

Definition at line 352 of file pi.hpp.

References __SYCL_PI_PROPERTY_SET_SPEC_CONST_DEFAULT_VALUES_MAP.

◆ init()

◆ print()

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

Reimplemented in cl::sycl::detail::DynRTDeviceBinaryImage, and cl::sycl::detail::RTDeviceBinaryImage.

Definition at line 588 of file pi.cpp.

References P.

Member Data Documentation

◆ Bin

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

◆ DeviceLibReqMask

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

Definition at line 388 of file pi.hpp.

◆ Format

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

Definition at line 386 of file pi.hpp.

◆ KernelParamOptInfo

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

Definition at line 389 of file pi.hpp.

◆ ProgramMetadata

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

Definition at line 390 of file pi.hpp.

◆ SpecConstIDMap

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

Definition at line 387 of file pi.hpp.


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