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 charDeviceTargetSpec
 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 charCompileOptions
 a null-terminated string; target- and compiler-specific options which are suggested to use to "compile" program at runtime More...
 
const charLinkOptions
 a null-terminated string; target- and compiler-specific options which are suggested to use to "link" program at runtime More...
 
const charManifestStart
 Pointer to the manifest data start. More...
 
const charManifestEnd
 Pointer to the manifest data end. More...
 
const unsigned charBinaryStart
 Pointer to the target code start. More...
 
const unsigned charBinaryEnd
 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 766 of file pi.h.

Member Data Documentation

◆ BinaryEnd

const unsigned char* pi_device_binary_struct::BinaryEnd

Pointer to the target code end.

Definition at line 800 of file pi.h.

Referenced by sycl::_V1::detail::ProgramManager::createPIProgram(), and sycl::_V1::detail::DynRTDeviceBinaryImage::DynRTDeviceBinaryImage().

◆ 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 789 of file pi.h.

Referenced by sycl::_V1::detail::DynRTDeviceBinaryImage::DynRTDeviceBinaryImage().

◆ 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 786 of file pi.h.

Referenced by sycl::_V1::detail::DynRTDeviceBinaryImage::DynRTDeviceBinaryImage(), and sycl::_V1::detail::getBinImageState().

◆ EntriesBegin

_pi_offload_entry pi_device_binary_struct::EntriesBegin

◆ EntriesEnd

◆ Format

uint8_t pi_device_binary_struct::Format

format of the binary data - SPIR-V, LLVM IR bitcode,...

Definition at line 774 of file pi.h.

Referenced by sycl::_V1::detail::DynRTDeviceBinaryImage::DynRTDeviceBinaryImage(), and sycl::_V1::detail::RTDeviceBinaryImage::init().

◆ Kind

uint8_t pi_device_binary_struct::Kind

the type of offload model the binary employs; must be 4 for SYCL

Definition at line 772 of file pi.h.

Referenced by sycl::_V1::detail::DynRTDeviceBinaryImage::DynRTDeviceBinaryImage().

◆ 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 792 of file pi.h.

Referenced by sycl::_V1::detail::DynRTDeviceBinaryImage::DynRTDeviceBinaryImage().

◆ ManifestEnd

const char* pi_device_binary_struct::ManifestEnd

Pointer to the manifest data end.

Definition at line 796 of file pi.h.

Referenced by sycl::_V1::detail::DynRTDeviceBinaryImage::DynRTDeviceBinaryImage().

◆ ManifestStart

const char* pi_device_binary_struct::ManifestStart

Pointer to the manifest data start.

Definition at line 794 of file pi.h.

Referenced by sycl::_V1::detail::DynRTDeviceBinaryImage::DynRTDeviceBinaryImage().

◆ PropertySetsBegin

pi_device_binary_property_set pi_device_binary_struct::PropertySetsBegin

Definition at line 806 of file pi.h.

◆ PropertySetsEnd

pi_device_binary_property_set pi_device_binary_struct::PropertySetsEnd

Definition at line 807 of file pi.h.

◆ 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 770 of file pi.h.

Referenced by sycl::_V1::detail::DynRTDeviceBinaryImage::DynRTDeviceBinaryImage().


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