DPC++ Runtime
Runtime libraries for oneAPI DPC++
pi_device_binary_struct Struct Reference

This struct is a record of the device binary information. More...

#include <sycl/detail/pi.h>

Collaboration diagram for pi_device_binary_struct:

Public Attributes

uint16_t Version
 version of this structure - for backward compatibility; all modifications which change order/type/offsets of existing fields should increment the version. More...
 
uint8_t Kind
 the type of offload model the binary employs; must be 4 for SYCL More...
 
uint8_t Format
 format of the binary data - SPIR-V, LLVM IR bitcode,... More...
 
const char * DeviceTargetSpec
 null-terminated string representation of the device's target architecture which holds one of: __SYCL_PI_DEVICE_BINARY_TARGET_UNKNOWN - unknown __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV32 - general value for 32-bit OpenCL devices __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64 - general value for 64-bit OpenCL devices __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_X86_64 - 64-bit OpenCL CPU device __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_GEN - GEN GPU device (64-bit OpenCL) __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_FPGA - 64-bit OpenCL FPGA device More...
 
const char * CompileOptions
 a null-terminated string; target- and compiler-specific options which are suggested to use to "compile" program at runtime More...
 
const char * LinkOptions
 a null-terminated string; target- and compiler-specific options which are suggested to use to "link" program at runtime More...
 
const char * ManifestStart
 Pointer to the manifest data start. More...
 
const char * ManifestEnd
 Pointer to the manifest data end. More...
 
const unsigned char * BinaryStart
 Pointer to the target code start. More...
 
const unsigned char * BinaryEnd
 Pointer to the target code end. More...
 
_pi_offload_entry EntriesBegin
 the offload entry table More...
 
_pi_offload_entry EntriesEnd
 
pi_device_binary_property_set PropertySetsBegin
 
pi_device_binary_property_set PropertySetsEnd
 

Detailed Description

This struct is a record of the device binary information.

If the Kind field denotes a portable binary type (SPIR-V or LLVM IR), the DeviceTargetSpec field can still be specific and denote e.g. FPGA target. It must match the __tgt_device_image structure generated by the clang-offload-wrapper tool when their Version field match.

Definition at line 998 of file pi.h.

Member Data Documentation

◆ BinaryEnd

◆ BinaryStart

◆ CompileOptions

const char* pi_device_binary_struct::CompileOptions

a null-terminated string; target- and compiler-specific options which are suggested to use to "compile" program at runtime

Definition at line 1021 of file pi.h.

Referenced by sycl::_V1::detail::DynRTDeviceBinaryImage::DynRTDeviceBinaryImage(), sycl::_V1::detail::RTDeviceBinaryImage::getCompileOptions(), sycl::_V1::detail::DeviceBinaryContainer::getPIDeviceBinary(), and sycl::_V1::detail::RTDeviceBinaryImage::print().

◆ DeviceTargetSpec

const char* pi_device_binary_struct::DeviceTargetSpec

null-terminated string representation of the device's target architecture which holds one of: __SYCL_PI_DEVICE_BINARY_TARGET_UNKNOWN - unknown __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV32 - general value for 32-bit OpenCL devices __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64 - general value for 64-bit OpenCL devices __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_X86_64 - 64-bit OpenCL CPU device __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_GEN - GEN GPU device (64-bit OpenCL) __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_FPGA - 64-bit OpenCL FPGA device

Definition at line 1018 of file pi.h.

Referenced by sycl::_V1::detail::device_image_impl::all_specialization_constant_native(), sycl::_V1::detail::CheckJITCompilationForImage(), sycl::_V1::detail::DynRTDeviceBinaryImage::DynRTDeviceBinaryImage(), sycl::_V1::detail::getBinImageState(), sycl::_V1::detail::DeviceBinaryContainer::getPIDeviceBinary(), and sycl::_V1::detail::RTDeviceBinaryImage::print().

◆ EntriesBegin

◆ EntriesEnd

◆ Format

uint8_t pi_device_binary_struct::Format

◆ Kind

uint8_t pi_device_binary_struct::Kind

◆ LinkOptions

const char* pi_device_binary_struct::LinkOptions

a null-terminated string; target- and compiler-specific options which are suggested to use to "link" program at runtime

Definition at line 1024 of file pi.h.

Referenced by sycl::_V1::detail::DynRTDeviceBinaryImage::DynRTDeviceBinaryImage(), sycl::_V1::detail::RTDeviceBinaryImage::getLinkOptions(), sycl::_V1::detail::DeviceBinaryContainer::getPIDeviceBinary(), and sycl::_V1::detail::RTDeviceBinaryImage::print().

◆ ManifestEnd

const char* pi_device_binary_struct::ManifestEnd

◆ ManifestStart

const char* pi_device_binary_struct::ManifestStart

◆ PropertySetsBegin

pi_device_binary_property_set pi_device_binary_struct::PropertySetsBegin

◆ PropertySetsEnd

◆ Version

uint16_t pi_device_binary_struct::Version

version of this structure - for backward compatibility; all modifications which change order/type/offsets of existing fields should increment the version.

Definition at line 1002 of file pi.h.

Referenced by sycl::_V1::detail::DynRTDeviceBinaryImage::DynRTDeviceBinaryImage(), sycl::_V1::detail::DeviceBinaryContainer::getPIDeviceBinary(), and sycl::_V1::detail::RTDeviceBinaryImage::print().


The documentation for this struct was generated from the following file: