DPC++ Runtime
Runtime libraries for oneAPI Data Parallel C++
pi_device_binary_struct Struct Reference

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

#include <CL/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 743 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 777 of file pi.h.

Referenced by cl::sycl::detail::ProgramManager::createPIProgram(), and cl::sycl::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 766 of file pi.h.

Referenced by cl::sycl::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 763 of file pi.h.

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

◆ EntriesBegin

◆ EntriesEnd

◆ Format

uint8_t pi_device_binary_struct::Format

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

Definition at line 751 of file pi.h.

Referenced by cl::sycl::detail::DynRTDeviceBinaryImage::DynRTDeviceBinaryImage(), and cl::sycl::detail::pi::DeviceBinaryImage::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 749 of file pi.h.

Referenced by cl::sycl::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 769 of file pi.h.

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

◆ ManifestEnd

const char* pi_device_binary_struct::ManifestEnd

Pointer to the manifest data end.

Definition at line 773 of file pi.h.

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

◆ ManifestStart

const char* pi_device_binary_struct::ManifestStart

Pointer to the manifest data start.

Definition at line 771 of file pi.h.

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

◆ PropertySetsBegin

pi_device_binary_property_set pi_device_binary_struct::PropertySetsBegin

Definition at line 783 of file pi.h.

◆ PropertySetsEnd

pi_device_binary_property_set pi_device_binary_struct::PropertySetsEnd

Definition at line 784 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 747 of file pi.h.

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


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