DPC++ Runtime
Runtime libraries for oneAPI Data Parallel C++
pi.h File Reference
#include "CL/cl.h"
#include <CL/cl_ext.h>
#include <CL/sycl/detail/cl.h>
#include <CL/sycl/detail/export.hpp>
#include <cstdint>
#include <CL/sycl/detail/pi.def>
Include dependency graph for pi.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _pi_offload_entry_struct
 
struct  _pi_device_binary_property_struct
 
struct  _pi_device_binary_property_set_struct
 
struct  pi_device_binary_struct
 This struct is a record of the device binary information. More...
 
struct  pi_buffer_region_struct
 
struct  pi_buff_rect_offset_struct
 
struct  pi_buff_rect_region_struct
 
struct  pi_image_offset_struct
 
struct  pi_image_region_struct
 
struct  pi_device_binaries_struct
 This struct is a record of all the device code that may be offloaded. More...
 
struct  _pi_image_format
 
struct  _pi_image_desc
 
struct  _pi_plugin
 
struct  _pi_plugin::FunctionPointers
 

Macros

#define _PI_H_VERSION_MAJOR   5
 
#define _PI_H_VERSION_MINOR   7
 
#define _PI_STRING_HELPER(a)   #a
 
#define _PI_CONCAT(a, b)   _PI_STRING_HELPER(a.b)
 
#define _PI_H_VERSION_STRING   _PI_CONCAT(_PI_H_VERSION_MAJOR, _PI_H_VERSION_MINOR)
 
#define __SYCL_PI_DEVICE_BINARY_TARGET_UNKNOWN   "<unknown>"
 Target identification strings for pi_device_binary_struct.DeviceTargetSpec. More...
 
#define __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV32   "spir"
 SPIR-V 32-bit image <-> "spir", 32-bit OpenCL device. More...
 
#define __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64   "spir64"
 SPIR-V 64-bit image <-> "spir64", 64-bit OpenCL device. More...
 
#define __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_X86_64   "spir64_x86_64"
 Device-specific binary images produced from SPIR-V 64-bit <-> various "spir64_*" triples for specific 64-bit OpenCL devices. More...
 
#define __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_GEN   "spir64_gen"
 
#define __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_FPGA   "spir64_fpga"
 
#define __SYCL_PI_DEVICE_BINARY_TARGET_NVPTX64   "nvptx64"
 PTX 64-bit image <-> "nvptx64", 64-bit NVIDIA PTX device. More...
 
#define __SYCL_PI_DEVICE_BINARY_TARGET_AMDGCN   "amdgcn"
 
#define PI_DEVICE_INFO_EXTENSION_DEVICELIB_ASSERT   "pi_ext_intel_devicelib_assert"
 Extension to denote native support of assert feature by an arbitrary device piDeviceGetInfo call should return this extension when the device supports native asserts if supported extensions' names are requested. More...
 
#define __SYCL_PI_PROPERTY_SET_SPEC_CONST_MAP   "SYCL/specialization constants"
 Device binary image property set names recognized by the SYCL runtime. More...
 
#define __SYCL_PI_PROPERTY_SET_SPEC_CONST_DEFAULT_VALUES_MAP   "SYCL/specialization constants default values"
 PropertySetRegistry::SYCL_SPEC_CONSTANTS_DEFAULT_VALUES defined in PropertySetIO.h. More...
 
#define __SYCL_PI_PROPERTY_SET_DEVICELIB_REQ_MASK   "SYCL/devicelib req mask"
 PropertySetRegistry::SYCL_DEVICELIB_REQ_MASK defined in PropertySetIO.h. More...
 
#define __SYCL_PI_PROPERTY_SET_KERNEL_PARAM_OPT_INFO   "SYCL/kernel param opt"
 PropertySetRegistry::SYCL_KERNEL_PARAM_OPT_INFO defined in PropertySetIO.h. More...
 
#define __SYCL_PI_PROPERTY_SET_PROGRAM_METADATA   "SYCL/program metadata"
 PropertySetRegistry::SYCL_KERNEL_PROGRAM_METADATA defined in PropertySetIO.h. More...
 
#define __SYCL_PI_PROPERTY_SET_SYCL_MISC_PROP   "SYCL/misc properties"
 PropertySetRegistry::SYCL_MISC_PROP defined in PropertySetIO.h. More...
 
#define __SYCL_PI_PROPERTY_SET_SYCL_ASSERT_USED   "SYCL/assert used"
 PropertySetRegistry::SYCL_ASSERT_USED defined in PropertySetIO.h. More...
 
#define __SYCL_PI_PROPERTY_SET_SYCL_EXPORTED_SYMBOLS   "SYCL/exported symbols"
 PropertySetRegistry::SYCL_EXPORTED_SYMBOLS defined in PropertySetIO.h. More...
 
#define __SYCL_PI_PROGRAM_METADATA_TAG_REQD_WORK_GROUP_SIZE   "@reqd_work_group_size"
 Program metadata tags recognized by the PI backends. More...
 
#define _PI_API(api)   decltype(::api) *api;
 

Typedefs

using pi_int32 = int32_t
 
using pi_uint32 = uint32_t
 
using pi_uint64 = uint64_t
 
using pi_bool = pi_uint32
 
using pi_bitfield = pi_uint64
 
using pi_native_handle = uintptr_t
 
using pi_context_properties = intptr_t
 
using pi_device_exec_capabilities = pi_bitfield
 
using pi_sampler_properties = pi_bitfield
 
using pi_memory_order_capabilities = pi_bitfield
 
using pi_mem_flags = pi_bitfield
 
using pi_map_flags = pi_bitfield
 
using pi_mem_properties = pi_bitfield
 
using pi_queue_properties = pi_bitfield
 
using pi_result = _pi_result
 
using pi_platform_info = _pi_platform_info
 
using pi_device_type = _pi_device_type
 
using pi_device_mem_cache_type = _pi_device_mem_cache_type
 
using pi_device_local_mem_type = _pi_device_local_mem_type
 
using pi_device_info = _pi_device_info
 
using pi_program_info = _pi_program_info
 
using pi_context_info = _pi_context_info
 
using pi_queue_info = _pi_queue_info
 
using pi_image_info = _pi_image_info
 
using pi_kernel_info = _pi_kernel_info
 
using pi_kernel_group_info = _pi_kernel_group_info
 
using pi_kernel_sub_group_info = _pi_kernel_sub_group_info
 
using pi_fp_capabilities = _pi_fp_capabilities
 
using pi_event_info = _pi_event_info
 
using pi_command_type = _pi_command_type
 
using pi_mem_type = _pi_mem_type
 
using pi_mem_advice = _pi_mem_advice
 
using pi_image_channel_order = _pi_image_channel_order
 
using pi_image_channel_type = _pi_image_channel_type
 
using pi_buffer_create_type = _pi_buffer_create_type
 
using pi_sampler_addressing_mode = _pi_sampler_addressing_mode
 
using pi_sampler_filter_mode = _pi_sampler_filter_mode
 
using pi_sampler_info = _pi_sampler_info
 
using pi_event_status = _pi_event_status
 
using pi_program_build_info = _pi_program_build_info
 
using pi_program_build_status = _pi_program_build_status
 
using pi_profiling_info = _pi_profiling_info
 
using pi_device_partition_property = intptr_t
 
using pi_device_affinity_domain = pi_bitfield
 
using _pi_offload_entry = _pi_offload_entry_struct *
 
typedef _pi_device_binary_property_structpi_device_binary_property
 
typedef _pi_device_binary_property_set_structpi_device_binary_property_set
 
using pi_device_binary_type = uint8_t
 Types of device binary. More...
 
using pi_device_binary = pi_device_binary_struct *
 
using pi_buffer_region = pi_buffer_region_struct *
 
using pi_buff_rect_offset = pi_buff_rect_offset_struct *
 
using pi_buff_rect_region = pi_buff_rect_region_struct *
 
using pi_image_offset = pi_image_offset_struct *
 
using pi_image_region = pi_image_region_struct *
 
using pi_device_binaries = pi_device_binaries_struct *
 
using pi_platform = _pi_platform *
 
using pi_device = _pi_device *
 
using pi_context = _pi_context *
 
using pi_queue = _pi_queue *
 
using pi_mem = _pi_mem *
 
using pi_program = _pi_program *
 
using pi_kernel = _pi_kernel *
 
using pi_event = _pi_event *
 
using pi_sampler = _pi_sampler *
 
using pi_image_format = _pi_image_format
 
using pi_image_desc = _pi_image_desc
 
using pi_plugin = _pi_plugin
 
typedef void(* pi_context_extended_deleter) (void *user_data)
 
using pi_kernel_exec_info = _pi_kernel_exec_info
 
using pi_usm_capability_query = _pi_usm_capability_query
 
using pi_usm_capabilities = _pi_usm_capabilities
 
using pi_mem_info = _pi_mem_info
 
using pi_usm_type = _pi_usm_type
 
using pi_usm_mem_properties = _pi_usm_mem_properties
 
using pi_usm_migration_flags = _pi_usm_migration_flags
 

Enumerations

enum  _pi_result {
  PI_SUCCESS = CL_SUCCESS, PI_INVALID_KERNEL_NAME = CL_INVALID_KERNEL_NAME, PI_INVALID_OPERATION = CL_INVALID_OPERATION, PI_INVALID_KERNEL = CL_INVALID_KERNEL,
  PI_INVALID_QUEUE_PROPERTIES = CL_INVALID_QUEUE_PROPERTIES, PI_INVALID_VALUE = CL_INVALID_VALUE, PI_INVALID_CONTEXT = CL_INVALID_CONTEXT, PI_INVALID_PLATFORM = CL_INVALID_PLATFORM,
  PI_INVALID_DEVICE = CL_INVALID_DEVICE, PI_INVALID_BINARY = CL_INVALID_BINARY, PI_INVALID_QUEUE = CL_INVALID_COMMAND_QUEUE, PI_OUT_OF_HOST_MEMORY = CL_OUT_OF_HOST_MEMORY,
  PI_INVALID_PROGRAM = CL_INVALID_PROGRAM, PI_INVALID_PROGRAM_EXECUTABLE = CL_INVALID_PROGRAM_EXECUTABLE, PI_INVALID_SAMPLER = CL_INVALID_SAMPLER, PI_INVALID_BUFFER_SIZE = CL_INVALID_BUFFER_SIZE,
  PI_INVALID_MEM_OBJECT = CL_INVALID_MEM_OBJECT, PI_OUT_OF_RESOURCES = CL_OUT_OF_RESOURCES, PI_INVALID_EVENT = CL_INVALID_EVENT, PI_INVALID_EVENT_WAIT_LIST = CL_INVALID_EVENT_WAIT_LIST,
  PI_MISALIGNED_SUB_BUFFER_OFFSET = CL_MISALIGNED_SUB_BUFFER_OFFSET, PI_BUILD_PROGRAM_FAILURE = CL_BUILD_PROGRAM_FAILURE, PI_INVALID_WORK_GROUP_SIZE = CL_INVALID_WORK_GROUP_SIZE, PI_COMPILER_NOT_AVAILABLE = CL_COMPILER_NOT_AVAILABLE,
  PI_PROFILING_INFO_NOT_AVAILABLE = CL_PROFILING_INFO_NOT_AVAILABLE, PI_DEVICE_NOT_FOUND = CL_DEVICE_NOT_FOUND, PI_INVALID_WORK_ITEM_SIZE = CL_INVALID_WORK_ITEM_SIZE, PI_INVALID_WORK_DIMENSION = CL_INVALID_WORK_DIMENSION,
  PI_INVALID_KERNEL_ARGS = CL_INVALID_KERNEL_ARGS, PI_INVALID_IMAGE_SIZE = CL_INVALID_IMAGE_SIZE, PI_INVALID_IMAGE_FORMAT_DESCRIPTOR = CL_INVALID_IMAGE_FORMAT_DESCRIPTOR, PI_IMAGE_FORMAT_NOT_SUPPORTED = CL_IMAGE_FORMAT_NOT_SUPPORTED,
  PI_MEM_OBJECT_ALLOCATION_FAILURE = CL_MEM_OBJECT_ALLOCATION_FAILURE, PI_FUNCTION_ADDRESS_IS_NOT_AVAILABLE, PI_ERROR_UNKNOWN = -999
}
 
enum  _pi_event_status { PI_EVENT_COMPLETE = CL_COMPLETE, PI_EVENT_RUNNING = CL_RUNNING, PI_EVENT_SUBMITTED = CL_SUBMITTED, PI_EVENT_QUEUED = CL_QUEUED }
 
enum  _pi_platform_info {
  PI_PLATFORM_INFO_EXTENSIONS = CL_PLATFORM_EXTENSIONS, PI_PLATFORM_INFO_NAME = CL_PLATFORM_NAME, PI_PLATFORM_INFO_PROFILE = CL_PLATFORM_PROFILE, PI_PLATFORM_INFO_VENDOR = CL_PLATFORM_VENDOR,
  PI_PLATFORM_INFO_VERSION = CL_PLATFORM_VERSION
}
 
enum  _pi_program_build_info { PI_PROGRAM_BUILD_INFO_STATUS = CL_PROGRAM_BUILD_STATUS, PI_PROGRAM_BUILD_INFO_OPTIONS = CL_PROGRAM_BUILD_OPTIONS, PI_PROGRAM_BUILD_INFO_LOG = CL_PROGRAM_BUILD_LOG, PI_PROGRAM_BUILD_INFO_BINARY_TYPE = CL_PROGRAM_BINARY_TYPE }
 
enum  _pi_program_build_status { PI_PROGRAM_BUILD_STATUS_NONE = CL_BUILD_NONE, PI_PROGRAM_BUILD_STATUS_ERROR = CL_BUILD_ERROR, PI_PROGRAM_BUILD_STATUS_SUCCESS = CL_BUILD_SUCCESS, PI_PROGRAM_BUILD_STATUS_IN_PROGRESS = CL_BUILD_IN_PROGRESS }
 
enum  _pi_program_binary_type { PI_PROGRAM_BINARY_TYPE_NONE = CL_PROGRAM_BINARY_TYPE_NONE, PI_PROGRAM_BINARY_TYPE_COMPILED_OBJECT, PI_PROGRAM_BINARY_TYPE_LIBRARY = CL_PROGRAM_BINARY_TYPE_LIBRARY, PI_PROGRAM_BINARY_TYPE_EXECUTABLE = CL_PROGRAM_BINARY_TYPE_EXECUTABLE }
 
enum  _pi_device_type : pi_uint64 {
  PI_DEVICE_TYPE_DEFAULT, PI_DEVICE_TYPE_ALL, PI_DEVICE_TYPE_CPU, PI_DEVICE_TYPE_GPU = CL_DEVICE_TYPE_GPU,
  PI_DEVICE_TYPE_ACC = CL_DEVICE_TYPE_ACCELERATOR
}
 
enum  _pi_device_mem_cache_type { PI_DEVICE_MEM_CACHE_TYPE_NONE = CL_NONE, PI_DEVICE_MEM_CACHE_TYPE_READ_ONLY_CACHE = CL_READ_ONLY_CACHE, PI_DEVICE_MEM_CACHE_TYPE_READ_WRITE_CACHE = CL_READ_WRITE_CACHE }
 
enum  _pi_device_local_mem_type { PI_DEVICE_LOCAL_MEM_TYPE_LOCAL = CL_LOCAL, PI_DEVICE_LOCAL_MEM_TYPE_GLOBAL = CL_GLOBAL }
 
enum  _pi_device_info {
  PI_DEVICE_INFO_TYPE = CL_DEVICE_TYPE, PI_DEVICE_INFO_VENDOR_ID = CL_DEVICE_VENDOR_ID, PI_DEVICE_INFO_MAX_COMPUTE_UNITS = CL_DEVICE_MAX_COMPUTE_UNITS, PI_DEVICE_INFO_MAX_WORK_ITEM_DIMENSIONS = CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS,
  PI_DEVICE_INFO_MAX_WORK_ITEM_SIZES = CL_DEVICE_MAX_WORK_ITEM_SIZES, PI_DEVICE_INFO_MAX_WORK_GROUP_SIZE = CL_DEVICE_MAX_WORK_GROUP_SIZE, PI_DEVICE_INFO_SINGLE_FP_CONFIG = CL_DEVICE_SINGLE_FP_CONFIG, PI_DEVICE_INFO_HALF_FP_CONFIG = CL_DEVICE_HALF_FP_CONFIG,
  PI_DEVICE_INFO_DOUBLE_FP_CONFIG = CL_DEVICE_DOUBLE_FP_CONFIG, PI_DEVICE_INFO_QUEUE_PROPERTIES = CL_DEVICE_QUEUE_PROPERTIES, PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_CHAR, PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_SHORT,
  PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_INT, PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_LONG, PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_FLOAT, PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_DOUBLE,
  PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_HALF, PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_CHAR = CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR, PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_SHORT, PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_INT = CL_DEVICE_NATIVE_VECTOR_WIDTH_INT,
  PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_LONG = CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG, PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_FLOAT, PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_DOUBLE, PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_HALF = CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF,
  PI_DEVICE_INFO_MAX_CLOCK_FREQUENCY = CL_DEVICE_MAX_CLOCK_FREQUENCY, PI_DEVICE_INFO_ADDRESS_BITS = CL_DEVICE_ADDRESS_BITS, PI_DEVICE_INFO_MAX_MEM_ALLOC_SIZE = CL_DEVICE_MAX_MEM_ALLOC_SIZE, PI_DEVICE_INFO_IMAGE_SUPPORT = CL_DEVICE_IMAGE_SUPPORT,
  PI_DEVICE_INFO_MAX_READ_IMAGE_ARGS = CL_DEVICE_MAX_READ_IMAGE_ARGS, PI_DEVICE_INFO_MAX_WRITE_IMAGE_ARGS = CL_DEVICE_MAX_WRITE_IMAGE_ARGS, PI_DEVICE_INFO_IMAGE2D_MAX_WIDTH = CL_DEVICE_IMAGE2D_MAX_WIDTH, PI_DEVICE_INFO_IMAGE2D_MAX_HEIGHT = CL_DEVICE_IMAGE2D_MAX_HEIGHT,
  PI_DEVICE_INFO_IMAGE3D_MAX_WIDTH = CL_DEVICE_IMAGE3D_MAX_WIDTH, PI_DEVICE_INFO_IMAGE3D_MAX_HEIGHT = CL_DEVICE_IMAGE3D_MAX_HEIGHT, PI_DEVICE_INFO_IMAGE3D_MAX_DEPTH = CL_DEVICE_IMAGE3D_MAX_DEPTH, PI_DEVICE_INFO_IMAGE_MAX_BUFFER_SIZE = CL_DEVICE_IMAGE_MAX_BUFFER_SIZE,
  PI_DEVICE_INFO_IMAGE_MAX_ARRAY_SIZE = CL_DEVICE_IMAGE_MAX_ARRAY_SIZE, PI_DEVICE_INFO_MAX_SAMPLERS = CL_DEVICE_MAX_SAMPLERS, PI_DEVICE_INFO_MAX_PARAMETER_SIZE = CL_DEVICE_MAX_PARAMETER_SIZE, PI_DEVICE_INFO_MEM_BASE_ADDR_ALIGN = CL_DEVICE_MEM_BASE_ADDR_ALIGN,
  PI_DEVICE_INFO_GLOBAL_MEM_CACHE_TYPE = CL_DEVICE_GLOBAL_MEM_CACHE_TYPE, PI_DEVICE_INFO_GLOBAL_MEM_CACHELINE_SIZE, PI_DEVICE_INFO_GLOBAL_MEM_CACHE_SIZE = CL_DEVICE_GLOBAL_MEM_CACHE_SIZE, PI_DEVICE_INFO_GLOBAL_MEM_SIZE = CL_DEVICE_GLOBAL_MEM_SIZE,
  PI_DEVICE_INFO_MAX_CONSTANT_BUFFER_SIZE = CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE, PI_DEVICE_INFO_MAX_CONSTANT_ARGS = CL_DEVICE_MAX_CONSTANT_ARGS, PI_DEVICE_INFO_LOCAL_MEM_TYPE = CL_DEVICE_LOCAL_MEM_TYPE, PI_DEVICE_INFO_LOCAL_MEM_SIZE = CL_DEVICE_LOCAL_MEM_SIZE,
  PI_DEVICE_INFO_ERROR_CORRECTION_SUPPORT = CL_DEVICE_ERROR_CORRECTION_SUPPORT, PI_DEVICE_INFO_HOST_UNIFIED_MEMORY = CL_DEVICE_HOST_UNIFIED_MEMORY, PI_DEVICE_INFO_PROFILING_TIMER_RESOLUTION, PI_DEVICE_INFO_ENDIAN_LITTLE = CL_DEVICE_ENDIAN_LITTLE,
  PI_DEVICE_INFO_AVAILABLE = CL_DEVICE_AVAILABLE, PI_DEVICE_INFO_COMPILER_AVAILABLE = CL_DEVICE_COMPILER_AVAILABLE, PI_DEVICE_INFO_LINKER_AVAILABLE = CL_DEVICE_LINKER_AVAILABLE, PI_DEVICE_INFO_EXECUTION_CAPABILITIES = CL_DEVICE_EXECUTION_CAPABILITIES,
  PI_DEVICE_INFO_QUEUE_ON_DEVICE_PROPERTIES, PI_DEVICE_INFO_QUEUE_ON_HOST_PROPERTIES = CL_DEVICE_QUEUE_ON_HOST_PROPERTIES, PI_DEVICE_INFO_BUILT_IN_KERNELS = CL_DEVICE_BUILT_IN_KERNELS, PI_DEVICE_INFO_PLATFORM = CL_DEVICE_PLATFORM,
  PI_DEVICE_INFO_REFERENCE_COUNT = CL_DEVICE_REFERENCE_COUNT, PI_DEVICE_INFO_IL_VERSION = CL_DEVICE_IL_VERSION_KHR, PI_DEVICE_INFO_NAME = CL_DEVICE_NAME, PI_DEVICE_INFO_VENDOR = CL_DEVICE_VENDOR,
  PI_DEVICE_INFO_DRIVER_VERSION = CL_DRIVER_VERSION, PI_DEVICE_INFO_PROFILE = CL_DEVICE_PROFILE, PI_DEVICE_INFO_VERSION = CL_DEVICE_VERSION, PI_DEVICE_INFO_OPENCL_C_VERSION = CL_DEVICE_OPENCL_C_VERSION,
  PI_DEVICE_INFO_EXTENSIONS = CL_DEVICE_EXTENSIONS, PI_DEVICE_INFO_PRINTF_BUFFER_SIZE = CL_DEVICE_PRINTF_BUFFER_SIZE, PI_DEVICE_INFO_PREFERRED_INTEROP_USER_SYNC, PI_DEVICE_INFO_PARENT_DEVICE = CL_DEVICE_PARENT_DEVICE,
  PI_DEVICE_INFO_PARTITION_PROPERTIES = CL_DEVICE_PARTITION_PROPERTIES, PI_DEVICE_INFO_PARTITION_MAX_SUB_DEVICES, PI_DEVICE_INFO_PARTITION_AFFINITY_DOMAIN, PI_DEVICE_INFO_PARTITION_TYPE = CL_DEVICE_PARTITION_TYPE,
  PI_DEVICE_INFO_MAX_NUM_SUB_GROUPS = CL_DEVICE_MAX_NUM_SUB_GROUPS, PI_DEVICE_INFO_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS, PI_DEVICE_INFO_SUB_GROUP_SIZES_INTEL = CL_DEVICE_SUB_GROUP_SIZES_INTEL, PI_DEVICE_INFO_USM_HOST_SUPPORT = CL_DEVICE_HOST_MEM_CAPABILITIES_INTEL,
  PI_DEVICE_INFO_USM_DEVICE_SUPPORT = CL_DEVICE_DEVICE_MEM_CAPABILITIES_INTEL, PI_DEVICE_INFO_USM_SINGLE_SHARED_SUPPORT, PI_DEVICE_INFO_USM_CROSS_SHARED_SUPPORT, PI_DEVICE_INFO_USM_SYSTEM_SHARED_SUPPORT,
  PI_DEVICE_INFO_UUID = CL_DEVICE_UUID_KHR, PI_DEVICE_INFO_PCI_ADDRESS = 0x10020, PI_DEVICE_INFO_GPU_EU_COUNT = 0x10021, PI_DEVICE_INFO_GPU_EU_SIMD_WIDTH = 0x10022,
  PI_DEVICE_INFO_GPU_SLICES = 0x10023, PI_DEVICE_INFO_GPU_SUBSLICES_PER_SLICE = 0x10024, PI_DEVICE_INFO_GPU_EU_COUNT_PER_SUBSLICE = 0x10025, PI_DEVICE_INFO_MAX_MEM_BANDWIDTH = 0x10026,
  PI_DEVICE_INFO_IMAGE_SRGB = 0x10027, PI_DEVICE_INFO_ATOMIC_64 = 0x10110, PI_DEVICE_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES = 0x10111, PI_EXT_ONEAPI_DEVICE_INFO_MAX_GLOBAL_WORK_GROUPS = 0x20000,
  PI_EXT_ONEAPI_DEVICE_INFO_MAX_WORK_GROUPS_1D = 0x20001, PI_EXT_ONEAPI_DEVICE_INFO_MAX_WORK_GROUPS_2D = 0x20002, PI_EXT_ONEAPI_DEVICE_INFO_MAX_WORK_GROUPS_3D = 0x20003
}
 
enum  _pi_program_info {
  PI_PROGRAM_INFO_REFERENCE_COUNT = CL_PROGRAM_REFERENCE_COUNT, PI_PROGRAM_INFO_CONTEXT = CL_PROGRAM_CONTEXT, PI_PROGRAM_INFO_NUM_DEVICES = CL_PROGRAM_NUM_DEVICES, PI_PROGRAM_INFO_DEVICES = CL_PROGRAM_DEVICES,
  PI_PROGRAM_INFO_SOURCE = CL_PROGRAM_SOURCE, PI_PROGRAM_INFO_BINARY_SIZES = CL_PROGRAM_BINARY_SIZES, PI_PROGRAM_INFO_BINARIES = CL_PROGRAM_BINARIES, PI_PROGRAM_INFO_NUM_KERNELS = CL_PROGRAM_NUM_KERNELS,
  PI_PROGRAM_INFO_KERNEL_NAMES = CL_PROGRAM_KERNEL_NAMES
}
 
enum  _pi_context_info {
  PI_CONTEXT_INFO_DEVICES = CL_CONTEXT_DEVICES, PI_CONTEXT_INFO_NUM_DEVICES = CL_CONTEXT_NUM_DEVICES, PI_CONTEXT_INFO_PROPERTIES = CL_CONTEXT_PROPERTIES, PI_CONTEXT_INFO_REFERENCE_COUNT = CL_CONTEXT_REFERENCE_COUNT,
  PI_CONTEXT_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES = 0x10010
}
 
enum  _pi_queue_info {
  PI_QUEUE_INFO_CONTEXT = CL_QUEUE_CONTEXT, PI_QUEUE_INFO_DEVICE = CL_QUEUE_DEVICE, PI_QUEUE_INFO_DEVICE_DEFAULT = CL_QUEUE_DEVICE_DEFAULT, PI_QUEUE_INFO_PROPERTIES = CL_QUEUE_PROPERTIES,
  PI_QUEUE_INFO_REFERENCE_COUNT = CL_QUEUE_REFERENCE_COUNT, PI_QUEUE_INFO_SIZE = CL_QUEUE_SIZE
}
 
enum  _pi_kernel_info {
  PI_KERNEL_INFO_FUNCTION_NAME = CL_KERNEL_FUNCTION_NAME, PI_KERNEL_INFO_NUM_ARGS = CL_KERNEL_NUM_ARGS, PI_KERNEL_INFO_REFERENCE_COUNT = CL_KERNEL_REFERENCE_COUNT, PI_KERNEL_INFO_CONTEXT = CL_KERNEL_CONTEXT,
  PI_KERNEL_INFO_PROGRAM = CL_KERNEL_PROGRAM, PI_KERNEL_INFO_ATTRIBUTES = CL_KERNEL_ATTRIBUTES
}
 
enum  _pi_kernel_group_info {
  PI_KERNEL_GROUP_INFO_GLOBAL_WORK_SIZE = CL_KERNEL_GLOBAL_WORK_SIZE, PI_KERNEL_GROUP_INFO_WORK_GROUP_SIZE = CL_KERNEL_WORK_GROUP_SIZE, PI_KERNEL_GROUP_INFO_COMPILE_WORK_GROUP_SIZE, PI_KERNEL_GROUP_INFO_LOCAL_MEM_SIZE = CL_KERNEL_LOCAL_MEM_SIZE,
  PI_KERNEL_GROUP_INFO_PREFERRED_WORK_GROUP_SIZE_MULTIPLE, PI_KERNEL_GROUP_INFO_PRIVATE_MEM_SIZE = CL_KERNEL_PRIVATE_MEM_SIZE, PI_KERNEL_GROUP_INFO_NUM_REGS = 0x10112
}
 
enum  _pi_fp_capabilities {
  PI_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT = CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT, PI_FP_ROUND_TO_NEAREST = CL_FP_ROUND_TO_NEAREST, PI_FP_ROUND_TO_ZERO = CL_FP_ROUND_TO_ZERO, PI_FP_ROUND_TO_INF = CL_FP_ROUND_TO_INF,
  PI_FP_INF_NAN = CL_FP_INF_NAN, PI_FP_DENORM = CL_FP_DENORM, PI_FP_FMA = CL_FP_FMA
}
 
enum  _pi_image_info {
  PI_IMAGE_INFO_FORMAT = CL_IMAGE_FORMAT, PI_IMAGE_INFO_ELEMENT_SIZE = CL_IMAGE_ELEMENT_SIZE, PI_IMAGE_INFO_ROW_PITCH = CL_IMAGE_ROW_PITCH, PI_IMAGE_INFO_SLICE_PITCH = CL_IMAGE_SLICE_PITCH,
  PI_IMAGE_INFO_WIDTH = CL_IMAGE_WIDTH, PI_IMAGE_INFO_HEIGHT = CL_IMAGE_HEIGHT, PI_IMAGE_INFO_DEPTH = CL_IMAGE_DEPTH
}
 
enum  _pi_kernel_sub_group_info { PI_KERNEL_MAX_SUB_GROUP_SIZE = CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE, PI_KERNEL_MAX_NUM_SUB_GROUPS = CL_KERNEL_MAX_NUM_SUB_GROUPS, PI_KERNEL_COMPILE_NUM_SUB_GROUPS = CL_KERNEL_COMPILE_NUM_SUB_GROUPS, PI_KERNEL_COMPILE_SUB_GROUP_SIZE_INTEL }
 
enum  _pi_event_info {
  PI_EVENT_INFO_COMMAND_QUEUE = CL_EVENT_COMMAND_QUEUE, PI_EVENT_INFO_CONTEXT = CL_EVENT_CONTEXT, PI_EVENT_INFO_COMMAND_TYPE = CL_EVENT_COMMAND_TYPE, PI_EVENT_INFO_COMMAND_EXECUTION_STATUS = CL_EVENT_COMMAND_EXECUTION_STATUS,
  PI_EVENT_INFO_REFERENCE_COUNT = CL_EVENT_REFERENCE_COUNT
}
 
enum  _pi_command_type {
  PI_COMMAND_TYPE_NDRANGE_KERNEL = CL_COMMAND_NDRANGE_KERNEL, PI_COMMAND_TYPE_MEM_BUFFER_READ = CL_COMMAND_READ_BUFFER, PI_COMMAND_TYPE_MEM_BUFFER_WRITE = CL_COMMAND_WRITE_BUFFER, PI_COMMAND_TYPE_MEM_BUFFER_COPY = CL_COMMAND_COPY_BUFFER,
  PI_COMMAND_TYPE_MEM_BUFFER_MAP = CL_COMMAND_MAP_BUFFER, PI_COMMAND_TYPE_MEM_BUFFER_UNMAP = CL_COMMAND_UNMAP_MEM_OBJECT, PI_COMMAND_TYPE_MEM_BUFFER_READ_RECT = CL_COMMAND_READ_BUFFER_RECT, PI_COMMAND_TYPE_MEM_BUFFER_WRITE_RECT = CL_COMMAND_WRITE_BUFFER_RECT,
  PI_COMMAND_TYPE_MEM_BUFFER_COPY_RECT = CL_COMMAND_COPY_BUFFER_RECT, PI_COMMAND_TYPE_USER = CL_COMMAND_USER, PI_COMMAND_TYPE_MEM_BUFFER_FILL = CL_COMMAND_FILL_BUFFER, PI_COMMAND_TYPE_IMAGE_READ = CL_COMMAND_READ_IMAGE,
  PI_COMMAND_TYPE_IMAGE_WRITE = CL_COMMAND_WRITE_IMAGE, PI_COMMAND_TYPE_IMAGE_COPY = CL_COMMAND_COPY_IMAGE, PI_COMMAND_TYPE_NATIVE_KERNEL = CL_COMMAND_NATIVE_KERNEL, PI_COMMAND_TYPE_COPY_BUFFER_TO_IMAGE = CL_COMMAND_COPY_BUFFER_TO_IMAGE,
  PI_COMMAND_TYPE_COPY_IMAGE_TO_BUFFER = CL_COMMAND_COPY_IMAGE_TO_BUFFER, PI_COMMAND_TYPE_MAP_IMAGE = CL_COMMAND_MAP_IMAGE, PI_COMMAND_TYPE_MARKER = CL_COMMAND_MARKER, PI_COMMAND_TYPE_ACQUIRE_GL_OBJECTS = CL_COMMAND_ACQUIRE_GL_OBJECTS,
  PI_COMMAND_TYPE_RELEASE_GL_OBJECTS = CL_COMMAND_RELEASE_GL_OBJECTS, PI_COMMAND_TYPE_BARRIER = CL_COMMAND_BARRIER, PI_COMMAND_TYPE_MIGRATE_MEM_OBJECTS = CL_COMMAND_MIGRATE_MEM_OBJECTS, PI_COMMAND_TYPE_FILL_IMAGE = CL_COMMAND_FILL_IMAGE,
  PI_COMMAND_TYPE_SVM_FREE = CL_COMMAND_SVM_FREE, PI_COMMAND_TYPE_SVM_MEMCPY = CL_COMMAND_SVM_MEMCPY, PI_COMMAND_TYPE_SVM_MEMFILL = CL_COMMAND_SVM_MEMFILL, PI_COMMAND_TYPE_SVM_MAP = CL_COMMAND_SVM_MAP,
  PI_COMMAND_TYPE_SVM_UNMAP = CL_COMMAND_SVM_UNMAP
}
 
enum  _pi_mem_type {
  PI_MEM_TYPE_BUFFER = CL_MEM_OBJECT_BUFFER, PI_MEM_TYPE_IMAGE2D = CL_MEM_OBJECT_IMAGE2D, PI_MEM_TYPE_IMAGE3D = CL_MEM_OBJECT_IMAGE3D, PI_MEM_TYPE_IMAGE2D_ARRAY = CL_MEM_OBJECT_IMAGE2D_ARRAY,
  PI_MEM_TYPE_IMAGE1D = CL_MEM_OBJECT_IMAGE1D, PI_MEM_TYPE_IMAGE1D_ARRAY = CL_MEM_OBJECT_IMAGE1D_ARRAY, PI_MEM_TYPE_IMAGE1D_BUFFER = CL_MEM_OBJECT_IMAGE1D_BUFFER
}
 
enum  _pi_mem_advice { PI_MEM_ADVISE_UNKNOWN }
 
enum  _pi_image_channel_order {
  PI_IMAGE_CHANNEL_ORDER_A = CL_A, PI_IMAGE_CHANNEL_ORDER_R = CL_R, PI_IMAGE_CHANNEL_ORDER_RG = CL_RG, PI_IMAGE_CHANNEL_ORDER_RA = CL_RA,
  PI_IMAGE_CHANNEL_ORDER_RGB = CL_RGB, PI_IMAGE_CHANNEL_ORDER_RGBA = CL_RGBA, PI_IMAGE_CHANNEL_ORDER_BGRA = CL_BGRA, PI_IMAGE_CHANNEL_ORDER_ARGB = CL_ARGB,
  PI_IMAGE_CHANNEL_ORDER_ABGR = CL_ABGR, PI_IMAGE_CHANNEL_ORDER_INTENSITY = CL_INTENSITY, PI_IMAGE_CHANNEL_ORDER_LUMINANCE = CL_LUMINANCE, PI_IMAGE_CHANNEL_ORDER_Rx = CL_Rx,
  PI_IMAGE_CHANNEL_ORDER_RGx = CL_RGx, PI_IMAGE_CHANNEL_ORDER_RGBx = CL_RGBx, PI_IMAGE_CHANNEL_ORDER_sRGBA = CL_sRGBA
}
 
enum  _pi_image_channel_type {
  PI_IMAGE_CHANNEL_TYPE_SNORM_INT8 = CL_SNORM_INT8, PI_IMAGE_CHANNEL_TYPE_SNORM_INT16 = CL_SNORM_INT16, PI_IMAGE_CHANNEL_TYPE_UNORM_INT8 = CL_UNORM_INT8, PI_IMAGE_CHANNEL_TYPE_UNORM_INT16 = CL_UNORM_INT16,
  PI_IMAGE_CHANNEL_TYPE_UNORM_SHORT_565 = CL_UNORM_SHORT_565, PI_IMAGE_CHANNEL_TYPE_UNORM_SHORT_555 = CL_UNORM_SHORT_555, PI_IMAGE_CHANNEL_TYPE_UNORM_INT_101010 = CL_UNORM_INT_101010, PI_IMAGE_CHANNEL_TYPE_SIGNED_INT8 = CL_SIGNED_INT8,
  PI_IMAGE_CHANNEL_TYPE_SIGNED_INT16 = CL_SIGNED_INT16, PI_IMAGE_CHANNEL_TYPE_SIGNED_INT32 = CL_SIGNED_INT32, PI_IMAGE_CHANNEL_TYPE_UNSIGNED_INT8 = CL_UNSIGNED_INT8, PI_IMAGE_CHANNEL_TYPE_UNSIGNED_INT16 = CL_UNSIGNED_INT16,
  PI_IMAGE_CHANNEL_TYPE_UNSIGNED_INT32 = CL_UNSIGNED_INT32, PI_IMAGE_CHANNEL_TYPE_HALF_FLOAT = CL_HALF_FLOAT, PI_IMAGE_CHANNEL_TYPE_FLOAT = CL_FLOAT
}
 
enum  _pi_buffer_create_type { PI_BUFFER_CREATE_TYPE_REGION = CL_BUFFER_CREATE_TYPE_REGION }
 
enum  _pi_sampler_info {
  PI_SAMPLER_INFO_REFERENCE_COUNT = CL_SAMPLER_REFERENCE_COUNT, PI_SAMPLER_INFO_CONTEXT = CL_SAMPLER_CONTEXT, PI_SAMPLER_INFO_NORMALIZED_COORDS = CL_SAMPLER_NORMALIZED_COORDS, PI_SAMPLER_INFO_ADDRESSING_MODE = CL_SAMPLER_ADDRESSING_MODE,
  PI_SAMPLER_INFO_FILTER_MODE = CL_SAMPLER_FILTER_MODE, PI_SAMPLER_INFO_MIP_FILTER_MODE = CL_SAMPLER_MIP_FILTER_MODE, PI_SAMPLER_INFO_LOD_MIN = CL_SAMPLER_LOD_MIN, PI_SAMPLER_INFO_LOD_MAX = CL_SAMPLER_LOD_MAX
}
 
enum  _pi_sampler_addressing_mode {
  PI_SAMPLER_ADDRESSING_MODE_MIRRORED_REPEAT = CL_ADDRESS_MIRRORED_REPEAT, PI_SAMPLER_ADDRESSING_MODE_REPEAT = CL_ADDRESS_REPEAT, PI_SAMPLER_ADDRESSING_MODE_CLAMP_TO_EDGE = CL_ADDRESS_CLAMP_TO_EDGE, PI_SAMPLER_ADDRESSING_MODE_CLAMP = CL_ADDRESS_CLAMP,
  PI_SAMPLER_ADDRESSING_MODE_NONE = CL_ADDRESS_NONE
}
 
enum  _pi_sampler_filter_mode { PI_SAMPLER_FILTER_MODE_NEAREST = CL_FILTER_NEAREST, PI_SAMPLER_FILTER_MODE_LINEAR = CL_FILTER_LINEAR }
 
enum  _pi_profiling_info { PI_PROFILING_INFO_COMMAND_QUEUED = CL_PROFILING_COMMAND_QUEUED, PI_PROFILING_INFO_COMMAND_SUBMIT = CL_PROFILING_COMMAND_SUBMIT, PI_PROFILING_INFO_COMMAND_START = CL_PROFILING_COMMAND_START, PI_PROFILING_INFO_COMMAND_END = CL_PROFILING_COMMAND_END }
 
enum  pi_property_type { PI_PROPERTY_TYPE_UNKNOWN, PI_PROPERTY_TYPE_UINT32, PI_PROPERTY_TYPE_BYTE_ARRAY, PI_PROPERTY_TYPE_STRING }
 
enum  _pi_kernel_exec_info { PI_USM_INDIRECT_ACCESS, PI_USM_PTRS = CL_KERNEL_EXEC_INFO_USM_PTRS_INTEL }
 
enum  _pi_usm_capability_query {
  PI_USM_HOST_SUPPORT = CL_DEVICE_HOST_MEM_CAPABILITIES_INTEL, PI_USM_DEVICE_SUPPORT = CL_DEVICE_DEVICE_MEM_CAPABILITIES_INTEL, PI_USM_SINGLE_SHARED_SUPPORT, PI_USM_CROSS_SHARED_SUPPORT,
  PI_USM_SYSTEM_SHARED_SUPPORT = CL_DEVICE_SHARED_SYSTEM_MEM_CAPABILITIES_INTEL
}
 
enum  _pi_usm_capabilities : pi_bitfield { PI_USM_ACCESS = CL_UNIFIED_SHARED_MEMORY_ACCESS_INTEL, PI_USM_ATOMIC_ACCESS = CL_UNIFIED_SHARED_MEMORY_ATOMIC_ACCESS_INTEL, PI_USM_CONCURRENT_ACCESS = CL_UNIFIED_SHARED_MEMORY_CONCURRENT_ACCESS_INTEL, PI_USM_CONCURRENT_ATOMIC_ACCESS }
 
enum  _pi_mem_info { PI_MEM_ALLOC_TYPE = CL_MEM_ALLOC_TYPE_INTEL, PI_MEM_ALLOC_BASE_PTR = CL_MEM_ALLOC_BASE_PTR_INTEL, PI_MEM_ALLOC_SIZE = CL_MEM_ALLOC_SIZE_INTEL, PI_MEM_ALLOC_DEVICE = CL_MEM_ALLOC_DEVICE_INTEL }
 
enum  _pi_usm_type { PI_MEM_TYPE_UNKNOWN = CL_MEM_TYPE_UNKNOWN_INTEL, PI_MEM_TYPE_HOST = CL_MEM_TYPE_HOST_INTEL, PI_MEM_TYPE_DEVICE = CL_MEM_TYPE_DEVICE_INTEL, PI_MEM_TYPE_SHARED = CL_MEM_TYPE_SHARED_INTEL }
 
enum  _pi_usm_mem_properties : pi_bitfield { PI_MEM_ALLOC_FLAGS = CL_MEM_ALLOC_FLAGS_INTEL }
 
enum  _pi_usm_migration_flags : pi_bitfield { PI_USM_MIGRATION_TBD0 = (1 << 0) }
 

Functions

pi_result piPluginInit (pi_plugin *plugin_info)
 
pi_result piPlatformsGet (pi_uint32 num_entries, pi_platform *platforms, pi_uint32 *num_platforms)
 
pi_result piPlatformGetInfo (pi_platform platform, pi_platform_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
 
pi_result piextPlatformGetNativeHandle (pi_platform platform, pi_native_handle *nativeHandle)
 Gets the native handle of a PI platform object. More...
 
pi_result piextPlatformCreateWithNativeHandle (pi_native_handle nativeHandle, pi_platform *platform)
 Creates PI platform object from a native handle. More...
 
pi_result piDevicesGet (pi_platform platform, pi_device_type device_type, pi_uint32 num_entries, pi_device *devices, pi_uint32 *num_devices)
 
pi_result piDeviceGetInfo (pi_device device, pi_device_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
 Returns requested info for provided native device Return PI_DEVICE_INFO_EXTENSION_DEVICELIB_ASSERT for PI_DEVICE_INFO_EXTENSIONS query when the device supports native asserts. More...
 
pi_result piDeviceRetain (pi_device device)
 
pi_result piDeviceRelease (pi_device device)
 
pi_result piDevicePartition (pi_device device, const pi_device_partition_property *properties, pi_uint32 num_devices, pi_device *out_devices, pi_uint32 *out_num_devices)
 
pi_result piextDeviceGetNativeHandle (pi_device device, pi_native_handle *nativeHandle)
 Gets the native handle of a PI device object. More...
 
pi_result piextDeviceCreateWithNativeHandle (pi_native_handle nativeHandle, pi_platform platform, pi_device *device)
 Creates PI device object from a native handle. More...
 
pi_result piextDeviceSelectBinary (pi_device device, pi_device_binary *binaries, pi_uint32 num_binaries, pi_uint32 *selected_binary_ind)
 Selects the most appropriate device binary based on runtime information and the IR characteristics. More...
 
pi_result piextGetDeviceFunctionPointer (pi_device device, pi_program program, const char *function_name, pi_uint64 *function_pointer_ret)
 Retrieves a device function pointer to a user-defined function. More...
 
pi_result piContextCreate (const pi_context_properties *properties, pi_uint32 num_devices, const pi_device *devices, void(*pfn_notify)(const char *errinfo, const void *private_info, size_t cb, void *user_data), void *user_data, pi_context *ret_context)
 
pi_result piContextGetInfo (pi_context context, pi_context_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
 
pi_result piContextRetain (pi_context context)
 
pi_result piContextRelease (pi_context context)
 
pi_result piextContextSetExtendedDeleter (pi_context context, pi_context_extended_deleter func, void *user_data)
 
pi_result piextContextGetNativeHandle (pi_context context, pi_native_handle *nativeHandle)
 Gets the native handle of a PI context object. More...
 
pi_result piextContextCreateWithNativeHandle (pi_native_handle nativeHandle, pi_uint32 numDevices, const pi_device *devices, bool pluginOwnsNativeHandle, pi_context *context)
 Creates PI context object from a native handle. More...
 
pi_result piQueueCreate (pi_context context, pi_device device, pi_queue_properties properties, pi_queue *queue)
 
pi_result piQueueGetInfo (pi_queue command_queue, pi_queue_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
 
pi_result piQueueRetain (pi_queue command_queue)
 
pi_result piQueueRelease (pi_queue command_queue)
 
pi_result piQueueFinish (pi_queue command_queue)
 
pi_result piextQueueGetNativeHandle (pi_queue queue, pi_native_handle *nativeHandle)
 Gets the native handle of a PI queue object. More...
 
pi_result piextQueueCreateWithNativeHandle (pi_native_handle nativeHandle, pi_context context, pi_queue *queue, bool pluginOwnsNativeHandle)
 Creates PI queue object from a native handle. More...
 
pi_result piMemBufferCreate (pi_context context, pi_mem_flags flags, size_t size, void *host_ptr, pi_mem *ret_mem, const pi_mem_properties *properties=nullptr)
 
pi_result piMemImageCreate (pi_context context, pi_mem_flags flags, const pi_image_format *image_format, const pi_image_desc *image_desc, void *host_ptr, pi_mem *ret_mem)
 
pi_result piMemGetInfo (pi_mem mem, cl_mem_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
 
pi_result piMemImageGetInfo (pi_mem image, pi_image_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
 
pi_result piMemRetain (pi_mem mem)
 
pi_result piMemRelease (pi_mem mem)
 
pi_result piMemBufferPartition (pi_mem buffer, pi_mem_flags flags, pi_buffer_create_type buffer_create_type, void *buffer_create_info, pi_mem *ret_mem)
 
pi_result piextMemGetNativeHandle (pi_mem mem, pi_native_handle *nativeHandle)
 Gets the native handle of a PI mem object. More...
 
pi_result piextMemCreateWithNativeHandle (pi_native_handle nativeHandle, pi_mem *mem)
 Creates PI mem object from a native handle. More...
 
pi_result piProgramCreate (pi_context context, const void *il, size_t length, pi_program *res_program)
 
pi_result piclProgramCreateWithSource (pi_context context, pi_uint32 count, const char **strings, const size_t *lengths, pi_program *ret_program)
 
pi_result piProgramCreateWithBinary (pi_context context, pi_uint32 num_devices, const pi_device *device_list, const size_t *lengths, const unsigned char **binaries, size_t num_metadata_entries, const pi_device_binary_property *metadata, pi_int32 *binary_status, pi_program *ret_program)
 Creates a PI program for a context and loads the given binary into it. More...
 
pi_result piProgramGetInfo (pi_program program, pi_program_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
 
pi_result piProgramLink (pi_context context, pi_uint32 num_devices, const pi_device *device_list, const char *options, pi_uint32 num_input_programs, const pi_program *input_programs, void(*pfn_notify)(pi_program program, void *user_data), void *user_data, pi_program *ret_program)
 
pi_result piProgramCompile (pi_program program, pi_uint32 num_devices, const pi_device *device_list, const char *options, pi_uint32 num_input_headers, const pi_program *input_headers, const char **header_include_names, void(*pfn_notify)(pi_program program, void *user_data), void *user_data)
 
pi_result piProgramBuild (pi_program program, pi_uint32 num_devices, const pi_device *device_list, const char *options, void(*pfn_notify)(pi_program program, void *user_data), void *user_data)
 
pi_result piProgramGetBuildInfo (pi_program program, pi_device device, cl_program_build_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
 
pi_result piProgramRetain (pi_program program)
 
pi_result piProgramRelease (pi_program program)
 
pi_result piextProgramSetSpecializationConstant (pi_program prog, pi_uint32 spec_id, size_t spec_size, const void *spec_value)
 Sets a specialization constant to a specific value. More...
 
pi_result piextProgramGetNativeHandle (pi_program program, pi_native_handle *nativeHandle)
 Gets the native handle of a PI program object. More...
 
pi_result piextProgramCreateWithNativeHandle (pi_native_handle nativeHandle, pi_context context, bool pluginOwnsNativeHandle, pi_program *program)
 Creates PI program object from a native handle. More...
 
pi_result piKernelCreate (pi_program program, const char *kernel_name, pi_kernel *ret_kernel)
 
pi_result piKernelSetArg (pi_kernel kernel, pi_uint32 arg_index, size_t arg_size, const void *arg_value)
 
pi_result piKernelGetInfo (pi_kernel kernel, pi_kernel_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
 
pi_result piKernelGetGroupInfo (pi_kernel kernel, pi_device device, pi_kernel_group_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
 
pi_result piKernelGetSubGroupInfo (pi_kernel kernel, pi_device device, pi_kernel_sub_group_info param_name, size_t input_value_size, const void *input_value, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
 API to query information from the sub-group from a kernel. More...
 
pi_result piKernelRetain (pi_kernel kernel)
 
pi_result piKernelRelease (pi_kernel kernel)
 
pi_result piextKernelSetArgPointer (pi_kernel kernel, pi_uint32 arg_index, size_t arg_size, const void *arg_value)
 Sets up pointer arguments for CL kernels. More...
 
pi_result piKernelSetExecInfo (pi_kernel kernel, pi_kernel_exec_info value_name, size_t param_value_size, const void *param_value)
 API to set attributes controlling kernel execution. More...
 
pi_result piextKernelCreateWithNativeHandle (pi_native_handle nativeHandle, pi_context context, pi_program program, bool pluginOwnsNativeHandle, pi_kernel *kernel)
 Creates PI kernel object from a native handle. More...
 
pi_result piextKernelGetNativeHandle (pi_kernel kernel, pi_native_handle *nativeHandle)
 Gets the native handle of a PI kernel object. More...
 
pi_result piEventCreate (pi_context context, pi_event *ret_event)
 
pi_result piEventGetInfo (pi_event event, pi_event_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
 
pi_result piEventGetProfilingInfo (pi_event event, pi_profiling_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
 
pi_result piEventsWait (pi_uint32 num_events, const pi_event *event_list)
 
pi_result piEventSetCallback (pi_event event, pi_int32 command_exec_callback_type, void(*pfn_notify)(pi_event event, pi_int32 event_command_status, void *user_data), void *user_data)
 
pi_result piEventSetStatus (pi_event event, pi_int32 execution_status)
 
pi_result piEventRetain (pi_event event)
 
pi_result piEventRelease (pi_event event)
 
pi_result piextEventGetNativeHandle (pi_event event, pi_native_handle *nativeHandle)
 Gets the native handle of a PI event object. More...
 
pi_result piextEventCreateWithNativeHandle (pi_native_handle nativeHandle, pi_context context, bool ownNativeHandle, pi_event *event)
 Creates PI event object from a native handle. More...
 
pi_result piSamplerCreate (pi_context context, const pi_sampler_properties *sampler_properties, pi_sampler *result_sampler)
 
pi_result piSamplerGetInfo (pi_sampler sampler, pi_sampler_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
 
pi_result piSamplerRetain (pi_sampler sampler)
 
pi_result piSamplerRelease (pi_sampler sampler)
 
pi_result piEnqueueKernelLaunch (pi_queue queue, pi_kernel kernel, pi_uint32 work_dim, const size_t *global_work_offset, const size_t *global_work_size, const size_t *local_work_size, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event)
 
pi_result piEnqueueNativeKernel (pi_queue queue, void(*user_func)(void *), void *args, size_t cb_args, pi_uint32 num_mem_objects, const pi_mem *mem_list, const void **args_mem_loc, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event)
 
pi_result piEnqueueEventsWait (pi_queue command_queue, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event)
 
pi_result piEnqueueEventsWaitWithBarrier (pi_queue command_queue, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event)
 
pi_result piEnqueueMemBufferRead (pi_queue queue, pi_mem buffer, pi_bool blocking_read, size_t offset, size_t size, void *ptr, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event)
 
pi_result piEnqueueMemBufferReadRect (pi_queue command_queue, pi_mem buffer, pi_bool blocking_read, pi_buff_rect_offset buffer_offset, pi_buff_rect_offset host_offset, pi_buff_rect_region region, size_t buffer_row_pitch, size_t buffer_slice_pitch, size_t host_row_pitch, size_t host_slice_pitch, void *ptr, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event)
 
pi_result piEnqueueMemBufferWrite (pi_queue command_queue, pi_mem buffer, pi_bool blocking_write, size_t offset, size_t size, const void *ptr, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event)
 
pi_result piEnqueueMemBufferWriteRect (pi_queue command_queue, pi_mem buffer, pi_bool blocking_write, pi_buff_rect_offset buffer_offset, pi_buff_rect_offset host_offset, pi_buff_rect_region region, size_t buffer_row_pitch, size_t buffer_slice_pitch, size_t host_row_pitch, size_t host_slice_pitch, const void *ptr, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event)
 
pi_result piEnqueueMemBufferCopy (pi_queue command_queue, pi_mem src_buffer, pi_mem dst_buffer, size_t src_offset, size_t dst_offset, size_t size, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event)
 
pi_result piEnqueueMemBufferCopyRect (pi_queue command_queue, pi_mem src_buffer, pi_mem dst_buffer, pi_buff_rect_offset src_origin, pi_buff_rect_offset dst_origin, pi_buff_rect_region region, size_t src_row_pitch, size_t src_slice_pitch, size_t dst_row_pitch, size_t dst_slice_pitch, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event)
 
pi_result piEnqueueMemBufferFill (pi_queue command_queue, pi_mem buffer, const void *pattern, size_t pattern_size, size_t offset, size_t size, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event)
 
pi_result piEnqueueMemImageRead (pi_queue command_queue, pi_mem image, pi_bool blocking_read, pi_image_offset origin, pi_image_region region, size_t row_pitch, size_t slice_pitch, void *ptr, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event)
 
pi_result piEnqueueMemImageWrite (pi_queue command_queue, pi_mem image, pi_bool blocking_write, pi_image_offset origin, pi_image_region region, size_t input_row_pitch, size_t input_slice_pitch, const void *ptr, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event)
 
pi_result piEnqueueMemImageCopy (pi_queue command_queue, pi_mem src_image, pi_mem dst_image, pi_image_offset src_origin, pi_image_offset dst_origin, pi_image_region region, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event)
 
pi_result piEnqueueMemImageFill (pi_queue command_queue, pi_mem image, const void *fill_color, const size_t *origin, const size_t *region, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event)
 
pi_result piEnqueueMemBufferMap (pi_queue command_queue, pi_mem buffer, pi_bool blocking_map, pi_map_flags map_flags, size_t offset, size_t size, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event, void **ret_map)
 
pi_result piEnqueueMemUnmap (pi_queue command_queue, pi_mem memobj, void *mapped_ptr, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event)
 
pi_result piextKernelSetArgMemObj (pi_kernel kernel, pi_uint32 arg_index, const pi_mem *arg_value)
 
pi_result piextKernelSetArgSampler (pi_kernel kernel, pi_uint32 arg_index, const pi_sampler *arg_value)
 
pi_result piextUSMHostAlloc (void **result_ptr, pi_context context, pi_usm_mem_properties *properties, size_t size, pi_uint32 alignment)
 Allocates host memory accessible by the device. More...
 
pi_result piextUSMDeviceAlloc (void **result_ptr, pi_context context, pi_device device, pi_usm_mem_properties *properties, size_t size, pi_uint32 alignment)
 Allocates device memory. More...
 
pi_result piextUSMSharedAlloc (void **result_ptr, pi_context context, pi_device device, pi_usm_mem_properties *properties, size_t size, pi_uint32 alignment)
 Allocates memory accessible on both host and device. More...
 
pi_result piextUSMFree (pi_context context, void *ptr)
 Frees allocated USM memory. More...
 
pi_result piextUSMEnqueueMemset (pi_queue queue, void *ptr, pi_int32 value, size_t count, pi_uint32 num_events_in_waitlist, const pi_event *events_waitlist, pi_event *event)
 USM Memset API. More...
 
pi_result piextUSMEnqueueMemcpy (pi_queue queue, pi_bool blocking, void *dst_ptr, const void *src_ptr, size_t size, pi_uint32 num_events_in_waitlist, const pi_event *events_waitlist, pi_event *event)
 USM Memcpy API. More...
 
pi_result piextUSMEnqueuePrefetch (pi_queue queue, const void *ptr, size_t size, pi_usm_migration_flags flags, pi_uint32 num_events_in_waitlist, const pi_event *events_waitlist, pi_event *event)
 Hint to migrate memory to the device. More...
 
pi_result piextUSMEnqueueMemAdvise (pi_queue queue, const void *ptr, size_t length, pi_mem_advice advice, pi_event *event)
 USM Memadvise API. More...
 
pi_result piextUSMGetMemAllocInfo (pi_context context, const void *ptr, pi_mem_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
 API to query information about USM allocated pointers Valid Queries: PI_MEM_ALLOC_TYPE returns host/device/shared pi_host_usm value PI_MEM_ALLOC_BASE_PTR returns the base ptr of an allocation if the queried pointer fell inside an allocation. More...
 
pi_result piextPluginGetOpaqueData (void *opaque_data_param, void **opaque_data_return)
 API to get Plugin internal data, opaque to SYCL RT. More...
 
pi_result piTearDown (void *PluginParameter)
 API to notify that the plugin should clean up its resources. More...
 

Variables

const pi_bool PI_TRUE = CL_TRUE
 
const pi_bool PI_FALSE = CL_FALSE
 
constexpr pi_device_exec_capabilities PI_DEVICE_EXEC_CAPABILITIES_KERNEL
 
constexpr pi_device_exec_capabilities PI_DEVICE_EXEC_CAPABILITIES_NATIVE_KERNEL = CL_EXEC_NATIVE_KERNEL
 
constexpr pi_sampler_properties PI_SAMPLER_PROPERTIES_NORMALIZED_COORDS
 
constexpr pi_sampler_properties PI_SAMPLER_PROPERTIES_ADDRESSING_MODE
 
constexpr pi_sampler_properties PI_SAMPLER_PROPERTIES_FILTER_MODE
 
constexpr pi_memory_order_capabilities PI_MEMORY_ORDER_RELAXED = 0x01
 
constexpr pi_memory_order_capabilities PI_MEMORY_ORDER_ACQUIRE = 0x02
 
constexpr pi_memory_order_capabilities PI_MEMORY_ORDER_RELEASE = 0x04
 
constexpr pi_memory_order_capabilities PI_MEMORY_ORDER_ACQ_REL = 0x08
 
constexpr pi_memory_order_capabilities PI_MEMORY_ORDER_SEQ_CST = 0x10
 
constexpr pi_mem_flags PI_MEM_FLAGS_ACCESS_RW = CL_MEM_READ_WRITE
 
constexpr pi_mem_flags PI_MEM_ACCESS_READ_ONLY = CL_MEM_READ_ONLY
 
constexpr pi_mem_flags PI_MEM_FLAGS_HOST_PTR_USE = CL_MEM_USE_HOST_PTR
 
constexpr pi_mem_flags PI_MEM_FLAGS_HOST_PTR_COPY = CL_MEM_COPY_HOST_PTR
 
constexpr pi_mem_flags PI_MEM_FLAGS_HOST_PTR_ALLOC = CL_MEM_ALLOC_HOST_PTR
 
constexpr pi_map_flags PI_MAP_READ = CL_MAP_READ
 
constexpr pi_map_flags PI_MAP_WRITE = CL_MAP_WRITE
 
constexpr pi_map_flags PI_MAP_WRITE_INVALIDATE_REGION
 
constexpr pi_mem_properties PI_MEM_PROPERTIES_CHANNEL = CL_MEM_CHANNEL_INTEL
 
constexpr pi_queue_properties PI_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE
 
constexpr pi_queue_properties PI_QUEUE_PROFILING_ENABLE
 
constexpr pi_queue_properties PI_QUEUE_ON_DEVICE = CL_QUEUE_ON_DEVICE
 
constexpr pi_queue_properties PI_QUEUE_ON_DEVICE_DEFAULT
 
static constexpr pi_device_partition_property PI_DEVICE_PARTITION_EQUALLY
 
static constexpr pi_device_partition_property PI_DEVICE_PARTITION_BY_AFFINITY_DOMAIN
 
static constexpr pi_device_affinity_domain PI_DEVICE_AFFINITY_DOMAIN_NUMA
 
static constexpr pi_device_affinity_domain PI_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE
 
static constexpr pi_device_binary_type PI_DEVICE_BINARY_TYPE_NONE = 0
 
static constexpr pi_device_binary_type PI_DEVICE_BINARY_TYPE_NATIVE = 1
 
static constexpr pi_device_binary_type PI_DEVICE_BINARY_TYPE_SPIRV = 2
 
static constexpr pi_device_binary_type PI_DEVICE_BINARY_TYPE_LLVMIR_BITCODE = 3
 
static const uint16_t PI_DEVICE_BINARY_VERSION = 1
 
static const uint8_t PI_DEVICE_BINARY_OFFLOAD_KIND_SYCL = 4
 
static const uint16_t PI_DEVICE_BINARIES_VERSION = 1
 

Macro Definition Documentation

◆ __SYCL_PI_DEVICE_BINARY_TARGET_AMDGCN

#define __SYCL_PI_DEVICE_BINARY_TARGET_AMDGCN   "amdgcn"

Definition at line 703 of file pi.h.

◆ __SYCL_PI_DEVICE_BINARY_TARGET_NVPTX64

#define __SYCL_PI_DEVICE_BINARY_TARGET_NVPTX64   "nvptx64"

PTX 64-bit image <-> "nvptx64", 64-bit NVIDIA PTX device.

Definition at line 702 of file pi.h.

◆ __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV32

#define __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV32   "spir"

SPIR-V 32-bit image <-> "spir", 32-bit OpenCL device.

Definition at line 693 of file pi.h.

◆ __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64

#define __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64   "spir64"

SPIR-V 64-bit image <-> "spir64", 64-bit OpenCL device.

Definition at line 695 of file pi.h.

◆ __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_FPGA

#define __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_FPGA   "spir64_fpga"

Definition at line 700 of file pi.h.

◆ __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_GEN

#define __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_GEN   "spir64_gen"

Definition at line 699 of file pi.h.

◆ __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_X86_64

#define __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_X86_64   "spir64_x86_64"

Device-specific binary images produced from SPIR-V 64-bit <-> various "spir64_*" triples for specific 64-bit OpenCL devices.

Definition at line 698 of file pi.h.

◆ __SYCL_PI_DEVICE_BINARY_TARGET_UNKNOWN

#define __SYCL_PI_DEVICE_BINARY_TARGET_UNKNOWN   "<unknown>"

Target identification strings for pi_device_binary_struct.DeviceTargetSpec.

A device type represented by a particular target triple requires specific binary images. We need to map the image type onto the device target triple

Definition at line 691 of file pi.h.

◆ __SYCL_PI_PROGRAM_METADATA_TAG_REQD_WORK_GROUP_SIZE

#define __SYCL_PI_PROGRAM_METADATA_TAG_REQD_WORK_GROUP_SIZE   "@reqd_work_group_size"

Program metadata tags recognized by the PI backends.

For kernels the tag must appear after the kernel name.

Definition at line 735 of file pi.h.

◆ __SYCL_PI_PROPERTY_SET_DEVICELIB_REQ_MASK

#define __SYCL_PI_PROPERTY_SET_DEVICELIB_REQ_MASK   "SYCL/devicelib req mask"

PropertySetRegistry::SYCL_DEVICELIB_REQ_MASK defined in PropertySetIO.h.

Definition at line 721 of file pi.h.

◆ __SYCL_PI_PROPERTY_SET_KERNEL_PARAM_OPT_INFO

#define __SYCL_PI_PROPERTY_SET_KERNEL_PARAM_OPT_INFO   "SYCL/kernel param opt"

PropertySetRegistry::SYCL_KERNEL_PARAM_OPT_INFO defined in PropertySetIO.h.

Definition at line 723 of file pi.h.

◆ __SYCL_PI_PROPERTY_SET_PROGRAM_METADATA

#define __SYCL_PI_PROPERTY_SET_PROGRAM_METADATA   "SYCL/program metadata"

PropertySetRegistry::SYCL_KERNEL_PROGRAM_METADATA defined in PropertySetIO.h.

Definition at line 725 of file pi.h.

◆ __SYCL_PI_PROPERTY_SET_SPEC_CONST_DEFAULT_VALUES_MAP

#define __SYCL_PI_PROPERTY_SET_SPEC_CONST_DEFAULT_VALUES_MAP   "SYCL/specialization constants default values"

PropertySetRegistry::SYCL_SPEC_CONSTANTS_DEFAULT_VALUES defined in PropertySetIO.h.

Definition at line 718 of file pi.h.

◆ __SYCL_PI_PROPERTY_SET_SPEC_CONST_MAP

#define __SYCL_PI_PROPERTY_SET_SPEC_CONST_MAP   "SYCL/specialization constants"

Device binary image property set names recognized by the SYCL runtime.

Name must be consistent with PropertySetRegistry::SYCL_SPECIALIZATION_CONSTANTS defined in PropertySetIO.h

Definition at line 715 of file pi.h.

◆ __SYCL_PI_PROPERTY_SET_SYCL_ASSERT_USED

#define __SYCL_PI_PROPERTY_SET_SYCL_ASSERT_USED   "SYCL/assert used"

PropertySetRegistry::SYCL_ASSERT_USED defined in PropertySetIO.h.

Definition at line 729 of file pi.h.

◆ __SYCL_PI_PROPERTY_SET_SYCL_EXPORTED_SYMBOLS

#define __SYCL_PI_PROPERTY_SET_SYCL_EXPORTED_SYMBOLS   "SYCL/exported symbols"

PropertySetRegistry::SYCL_EXPORTED_SYMBOLS defined in PropertySetIO.h.

Definition at line 731 of file pi.h.

◆ __SYCL_PI_PROPERTY_SET_SYCL_MISC_PROP

#define __SYCL_PI_PROPERTY_SET_SYCL_MISC_PROP   "SYCL/misc properties"

PropertySetRegistry::SYCL_MISC_PROP defined in PropertySetIO.h.

Definition at line 727 of file pi.h.

◆ _PI_API

#define _PI_API (   api)    decltype(::api) *api;

Definition at line 1752 of file pi.h.

◆ _PI_CONCAT

#define _PI_CONCAT (   a,
 
)    _PI_STRING_HELPER(a.b)

Definition at line 50 of file pi.h.

◆ _PI_H_VERSION_MAJOR

#define _PI_H_VERSION_MAJOR   5

Definition at line 46 of file pi.h.

◆ _PI_H_VERSION_MINOR

#define _PI_H_VERSION_MINOR   7

Definition at line 47 of file pi.h.

◆ _PI_H_VERSION_STRING

#define _PI_H_VERSION_STRING   _PI_CONCAT(_PI_H_VERSION_MAJOR, _PI_H_VERSION_MINOR)

Definition at line 51 of file pi.h.

◆ _PI_STRING_HELPER

#define _PI_STRING_HELPER (   a)    #a

Definition at line 49 of file pi.h.

◆ PI_DEVICE_INFO_EXTENSION_DEVICELIB_ASSERT

#define PI_DEVICE_INFO_EXTENSION_DEVICELIB_ASSERT   "pi_ext_intel_devicelib_assert"

Extension to denote native support of assert feature by an arbitrary device piDeviceGetInfo call should return this extension when the device supports native asserts if supported extensions' names are requested.

Definition at line 708 of file pi.h.

Typedef Documentation

◆ _pi_offload_entry

Definition at line 634 of file pi.h.

◆ pi_bitfield

Definition at line 71 of file pi.h.

◆ pi_bool

using pi_bool = pi_uint32

Definition at line 70 of file pi.h.

◆ pi_buff_rect_offset

Definition at line 805 of file pi.h.

◆ pi_buff_rect_region

Definition at line 814 of file pi.h.

◆ pi_buffer_create_type

Definition at line 599 of file pi.h.

◆ pi_buffer_region

Definition at line 796 of file pi.h.

◆ pi_command_type

Definition at line 594 of file pi.h.

◆ pi_context

Definition at line 868 of file pi.h.

◆ pi_context_extended_deleter

typedef void(* pi_context_extended_deleter) (void *user_data)

Definition at line 1028 of file pi.h.

◆ pi_context_info

Definition at line 586 of file pi.h.

◆ pi_context_properties

using pi_context_properties = intptr_t

Definition at line 513 of file pi.h.

◆ pi_device

using pi_device = _pi_device *

Definition at line 867 of file pi.h.

◆ pi_device_affinity_domain

Definition at line 618 of file pi.h.

◆ pi_device_binaries

Definition at line 853 of file pi.h.

◆ pi_device_binary

Definition at line 789 of file pi.h.

◆ pi_device_binary_property

◆ pi_device_binary_property_set

◆ pi_device_binary_type

using pi_device_binary_type = uint8_t

Types of device binary.

Definition at line 667 of file pi.h.

◆ pi_device_exec_capabilities

Definition at line 515 of file pi.h.

◆ pi_device_info

Definition at line 584 of file pi.h.

◆ pi_device_local_mem_type

Definition at line 583 of file pi.h.

◆ pi_device_mem_cache_type

Definition at line 582 of file pi.h.

◆ pi_device_partition_property

using pi_device_partition_property = intptr_t

Definition at line 610 of file pi.h.

◆ pi_device_type

Definition at line 581 of file pi.h.

◆ pi_event

using pi_event = _pi_event *

Definition at line 873 of file pi.h.

◆ pi_event_info

Definition at line 593 of file pi.h.

◆ pi_event_status

Definition at line 603 of file pi.h.

◆ pi_fp_capabilities

Definition at line 592 of file pi.h.

◆ pi_image_channel_order

Definition at line 597 of file pi.h.

◆ pi_image_channel_type

Definition at line 598 of file pi.h.

◆ pi_image_desc

Definition at line 895 of file pi.h.

◆ pi_image_format

Definition at line 894 of file pi.h.

◆ pi_image_info

Definition at line 588 of file pi.h.

◆ pi_image_offset

Definition at line 823 of file pi.h.

◆ pi_image_region

Definition at line 832 of file pi.h.

◆ pi_int32

using pi_int32 = int32_t

Definition at line 67 of file pi.h.

◆ pi_kernel

using pi_kernel = _pi_kernel *

Definition at line 872 of file pi.h.

◆ pi_kernel_exec_info

Definition at line 1258 of file pi.h.

◆ pi_kernel_group_info

Definition at line 590 of file pi.h.

◆ pi_kernel_info

Definition at line 589 of file pi.h.

◆ pi_kernel_sub_group_info

Definition at line 591 of file pi.h.

◆ pi_map_flags

Definition at line 557 of file pi.h.

◆ pi_mem

using pi_mem = _pi_mem *

Definition at line 870 of file pi.h.

◆ pi_mem_advice

Definition at line 596 of file pi.h.

◆ pi_mem_flags

Definition at line 547 of file pi.h.

◆ pi_mem_info

Definition at line 1594 of file pi.h.

◆ pi_mem_properties

Definition at line 565 of file pi.h.

◆ pi_mem_type

Definition at line 595 of file pi.h.

◆ pi_memory_order_capabilities

Definition at line 529 of file pi.h.

◆ pi_native_handle

using pi_native_handle = uintptr_t

Definition at line 72 of file pi.h.

◆ pi_platform

Definition at line 866 of file pi.h.

◆ pi_platform_info

Definition at line 580 of file pi.h.

◆ pi_plugin

Definition at line 910 of file pi.h.

◆ pi_profiling_info

Definition at line 607 of file pi.h.

◆ pi_program

Definition at line 871 of file pi.h.

◆ pi_program_build_info

Definition at line 604 of file pi.h.

◆ pi_program_build_status

Definition at line 605 of file pi.h.

◆ pi_program_info

Definition at line 585 of file pi.h.

◆ pi_queue

using pi_queue = _pi_queue *

Definition at line 869 of file pi.h.

◆ pi_queue_info

Definition at line 587 of file pi.h.

◆ pi_queue_properties

Definition at line 570 of file pi.h.

◆ pi_result

Definition at line 579 of file pi.h.

◆ pi_sampler

Definition at line 874 of file pi.h.

◆ pi_sampler_addressing_mode

Definition at line 600 of file pi.h.

◆ pi_sampler_filter_mode

Definition at line 601 of file pi.h.

◆ pi_sampler_info

Definition at line 602 of file pi.h.

◆ pi_sampler_properties

Definition at line 521 of file pi.h.

◆ pi_uint32

using pi_uint32 = uint32_t

Definition at line 68 of file pi.h.

◆ pi_uint64

using pi_uint64 = uint64_t

Definition at line 69 of file pi.h.

◆ pi_usm_capabilities

Definition at line 1593 of file pi.h.

◆ pi_usm_capability_query

Definition at line 1592 of file pi.h.

◆ pi_usm_mem_properties

Definition at line 1596 of file pi.h.

◆ pi_usm_migration_flags

Definition at line 1597 of file pi.h.

◆ pi_usm_type

Definition at line 1595 of file pi.h.

Enumeration Type Documentation

◆ _pi_buffer_create_type

Enumerator
PI_BUFFER_CREATE_TYPE_REGION 

Definition at line 482 of file pi.h.

◆ _pi_command_type

Enumerator
PI_COMMAND_TYPE_NDRANGE_KERNEL 
PI_COMMAND_TYPE_MEM_BUFFER_READ 
PI_COMMAND_TYPE_MEM_BUFFER_WRITE 
PI_COMMAND_TYPE_MEM_BUFFER_COPY 
PI_COMMAND_TYPE_MEM_BUFFER_MAP 
PI_COMMAND_TYPE_MEM_BUFFER_UNMAP 
PI_COMMAND_TYPE_MEM_BUFFER_READ_RECT 
PI_COMMAND_TYPE_MEM_BUFFER_WRITE_RECT 
PI_COMMAND_TYPE_MEM_BUFFER_COPY_RECT 
PI_COMMAND_TYPE_USER 
PI_COMMAND_TYPE_MEM_BUFFER_FILL 
PI_COMMAND_TYPE_IMAGE_READ 
PI_COMMAND_TYPE_IMAGE_WRITE 
PI_COMMAND_TYPE_IMAGE_COPY 
PI_COMMAND_TYPE_NATIVE_KERNEL 
PI_COMMAND_TYPE_COPY_BUFFER_TO_IMAGE 
PI_COMMAND_TYPE_COPY_IMAGE_TO_BUFFER 
PI_COMMAND_TYPE_MAP_IMAGE 
PI_COMMAND_TYPE_MARKER 
PI_COMMAND_TYPE_ACQUIRE_GL_OBJECTS 
PI_COMMAND_TYPE_RELEASE_GL_OBJECTS 
PI_COMMAND_TYPE_BARRIER 
PI_COMMAND_TYPE_MIGRATE_MEM_OBJECTS 
PI_COMMAND_TYPE_FILL_IMAGE 
PI_COMMAND_TYPE_SVM_FREE 
PI_COMMAND_TYPE_SVM_MEMCPY 
PI_COMMAND_TYPE_SVM_MEMFILL 
PI_COMMAND_TYPE_SVM_MAP 
PI_COMMAND_TYPE_SVM_UNMAP 

Definition at line 399 of file pi.h.

◆ _pi_context_info

Enumerator
PI_CONTEXT_INFO_DEVICES 
PI_CONTEXT_INFO_NUM_DEVICES 
PI_CONTEXT_INFO_PROPERTIES 
PI_CONTEXT_INFO_REFERENCE_COUNT 
PI_CONTEXT_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES 

Definition at line 323 of file pi.h.

◆ _pi_device_info

Enumerator
PI_DEVICE_INFO_TYPE 
PI_DEVICE_INFO_VENDOR_ID 
PI_DEVICE_INFO_MAX_COMPUTE_UNITS 
PI_DEVICE_INFO_MAX_WORK_ITEM_DIMENSIONS 
PI_DEVICE_INFO_MAX_WORK_ITEM_SIZES 
PI_DEVICE_INFO_MAX_WORK_GROUP_SIZE 
PI_DEVICE_INFO_SINGLE_FP_CONFIG 
PI_DEVICE_INFO_HALF_FP_CONFIG 
PI_DEVICE_INFO_DOUBLE_FP_CONFIG 
PI_DEVICE_INFO_QUEUE_PROPERTIES 
PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_CHAR 
PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_SHORT 
PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_INT 
PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_LONG 
PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_FLOAT 
PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_DOUBLE 
PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_HALF 
PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_CHAR 
PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_SHORT 
PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_INT 
PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_LONG 
PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_FLOAT 
PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_DOUBLE 
PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_HALF 
PI_DEVICE_INFO_MAX_CLOCK_FREQUENCY 
PI_DEVICE_INFO_ADDRESS_BITS 
PI_DEVICE_INFO_MAX_MEM_ALLOC_SIZE 
PI_DEVICE_INFO_IMAGE_SUPPORT 
PI_DEVICE_INFO_MAX_READ_IMAGE_ARGS 
PI_DEVICE_INFO_MAX_WRITE_IMAGE_ARGS 
PI_DEVICE_INFO_IMAGE2D_MAX_WIDTH 
PI_DEVICE_INFO_IMAGE2D_MAX_HEIGHT 
PI_DEVICE_INFO_IMAGE3D_MAX_WIDTH 
PI_DEVICE_INFO_IMAGE3D_MAX_HEIGHT 
PI_DEVICE_INFO_IMAGE3D_MAX_DEPTH 
PI_DEVICE_INFO_IMAGE_MAX_BUFFER_SIZE 
PI_DEVICE_INFO_IMAGE_MAX_ARRAY_SIZE 
PI_DEVICE_INFO_MAX_SAMPLERS 
PI_DEVICE_INFO_MAX_PARAMETER_SIZE 
PI_DEVICE_INFO_MEM_BASE_ADDR_ALIGN 
PI_DEVICE_INFO_GLOBAL_MEM_CACHE_TYPE 
PI_DEVICE_INFO_GLOBAL_MEM_CACHELINE_SIZE 
PI_DEVICE_INFO_GLOBAL_MEM_CACHE_SIZE 
PI_DEVICE_INFO_GLOBAL_MEM_SIZE 
PI_DEVICE_INFO_MAX_CONSTANT_BUFFER_SIZE 
PI_DEVICE_INFO_MAX_CONSTANT_ARGS 
PI_DEVICE_INFO_LOCAL_MEM_TYPE 
PI_DEVICE_INFO_LOCAL_MEM_SIZE 
PI_DEVICE_INFO_ERROR_CORRECTION_SUPPORT 
PI_DEVICE_INFO_HOST_UNIFIED_MEMORY 
PI_DEVICE_INFO_PROFILING_TIMER_RESOLUTION 
PI_DEVICE_INFO_ENDIAN_LITTLE 
PI_DEVICE_INFO_AVAILABLE 
PI_DEVICE_INFO_COMPILER_AVAILABLE 
PI_DEVICE_INFO_LINKER_AVAILABLE 
PI_DEVICE_INFO_EXECUTION_CAPABILITIES 
PI_DEVICE_INFO_QUEUE_ON_DEVICE_PROPERTIES 
PI_DEVICE_INFO_QUEUE_ON_HOST_PROPERTIES 
PI_DEVICE_INFO_BUILT_IN_KERNELS 
PI_DEVICE_INFO_PLATFORM 
PI_DEVICE_INFO_REFERENCE_COUNT 
PI_DEVICE_INFO_IL_VERSION 
PI_DEVICE_INFO_NAME 
PI_DEVICE_INFO_VENDOR 
PI_DEVICE_INFO_DRIVER_VERSION 
PI_DEVICE_INFO_PROFILE 
PI_DEVICE_INFO_VERSION 
PI_DEVICE_INFO_OPENCL_C_VERSION 
PI_DEVICE_INFO_EXTENSIONS 
PI_DEVICE_INFO_PRINTF_BUFFER_SIZE 
PI_DEVICE_INFO_PREFERRED_INTEROP_USER_SYNC 
PI_DEVICE_INFO_PARENT_DEVICE 
PI_DEVICE_INFO_PARTITION_PROPERTIES 
PI_DEVICE_INFO_PARTITION_MAX_SUB_DEVICES 
PI_DEVICE_INFO_PARTITION_AFFINITY_DOMAIN 
PI_DEVICE_INFO_PARTITION_TYPE 
PI_DEVICE_INFO_MAX_NUM_SUB_GROUPS 
PI_DEVICE_INFO_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS 
PI_DEVICE_INFO_SUB_GROUP_SIZES_INTEL 
PI_DEVICE_INFO_USM_HOST_SUPPORT 
PI_DEVICE_INFO_USM_DEVICE_SUPPORT 
PI_DEVICE_INFO_USM_SINGLE_SHARED_SUPPORT 
PI_DEVICE_INFO_USM_CROSS_SHARED_SUPPORT 
PI_DEVICE_INFO_USM_SYSTEM_SHARED_SUPPORT 
PI_DEVICE_INFO_UUID 
PI_DEVICE_INFO_PCI_ADDRESS 
PI_DEVICE_INFO_GPU_EU_COUNT 
PI_DEVICE_INFO_GPU_EU_SIMD_WIDTH 
PI_DEVICE_INFO_GPU_SLICES 
PI_DEVICE_INFO_GPU_SUBSLICES_PER_SLICE 
PI_DEVICE_INFO_GPU_EU_COUNT_PER_SUBSLICE 
PI_DEVICE_INFO_MAX_MEM_BANDWIDTH 
PI_DEVICE_INFO_IMAGE_SRGB 
PI_DEVICE_INFO_ATOMIC_64 
PI_DEVICE_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES 
PI_EXT_ONEAPI_DEVICE_INFO_MAX_GLOBAL_WORK_GROUPS 
PI_EXT_ONEAPI_DEVICE_INFO_MAX_WORK_GROUPS_1D 
PI_EXT_ONEAPI_DEVICE_INFO_MAX_WORK_GROUPS_2D 
PI_EXT_ONEAPI_DEVICE_INFO_MAX_WORK_GROUPS_3D 

Definition at line 186 of file pi.h.

◆ _pi_device_local_mem_type

Enumerator
PI_DEVICE_LOCAL_MEM_TYPE_LOCAL 
PI_DEVICE_LOCAL_MEM_TYPE_GLOBAL 

Definition at line 181 of file pi.h.

◆ _pi_device_mem_cache_type

Enumerator
PI_DEVICE_MEM_CACHE_TYPE_NONE 
PI_DEVICE_MEM_CACHE_TYPE_READ_ONLY_CACHE 
PI_DEVICE_MEM_CACHE_TYPE_READ_WRITE_CACHE 

Definition at line 175 of file pi.h.

◆ _pi_device_type

Enumerator
PI_DEVICE_TYPE_DEFAULT 

The default device available in the PI plugin.

PI_DEVICE_TYPE_ALL 

All devices available in the PI plugin.

PI_DEVICE_TYPE_CPU 

A PI device that is the host processor.

PI_DEVICE_TYPE_GPU 

A PI device that is a GPU.

PI_DEVICE_TYPE_ACC 

A PI device that is a dedicated accelerator.

Definition at line 162 of file pi.h.

◆ _pi_event_info

Enumerator
PI_EVENT_INFO_COMMAND_QUEUE 
PI_EVENT_INFO_CONTEXT 
PI_EVENT_INFO_COMMAND_TYPE 
PI_EVENT_INFO_COMMAND_EXECUTION_STATUS 
PI_EVENT_INFO_REFERENCE_COUNT 

Definition at line 391 of file pi.h.

◆ _pi_event_status

Enumerator
PI_EVENT_COMPLETE 
PI_EVENT_RUNNING 
PI_EVENT_SUBMITTED 
PI_EVENT_QUEUED 

Definition at line 122 of file pi.h.

◆ _pi_fp_capabilities

Enumerator
PI_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT 
PI_FP_ROUND_TO_NEAREST 
PI_FP_ROUND_TO_ZERO 
PI_FP_ROUND_TO_INF 
PI_FP_INF_NAN 
PI_FP_DENORM 
PI_FP_FMA 

Definition at line 363 of file pi.h.

◆ _pi_image_channel_order

Enumerator
PI_IMAGE_CHANNEL_ORDER_A 
PI_IMAGE_CHANNEL_ORDER_R 
PI_IMAGE_CHANNEL_ORDER_RG 
PI_IMAGE_CHANNEL_ORDER_RA 
PI_IMAGE_CHANNEL_ORDER_RGB 
PI_IMAGE_CHANNEL_ORDER_RGBA 
PI_IMAGE_CHANNEL_ORDER_BGRA 
PI_IMAGE_CHANNEL_ORDER_ARGB 
PI_IMAGE_CHANNEL_ORDER_ABGR 
PI_IMAGE_CHANNEL_ORDER_INTENSITY 
PI_IMAGE_CHANNEL_ORDER_LUMINANCE 
PI_IMAGE_CHANNEL_ORDER_Rx 
PI_IMAGE_CHANNEL_ORDER_RGx 
PI_IMAGE_CHANNEL_ORDER_RGBx 
PI_IMAGE_CHANNEL_ORDER_sRGBA 

Definition at line 446 of file pi.h.

◆ _pi_image_channel_type

Enumerator
PI_IMAGE_CHANNEL_TYPE_SNORM_INT8 
PI_IMAGE_CHANNEL_TYPE_SNORM_INT16 
PI_IMAGE_CHANNEL_TYPE_UNORM_INT8 
PI_IMAGE_CHANNEL_TYPE_UNORM_INT16 
PI_IMAGE_CHANNEL_TYPE_UNORM_SHORT_565 
PI_IMAGE_CHANNEL_TYPE_UNORM_SHORT_555 
PI_IMAGE_CHANNEL_TYPE_UNORM_INT_101010 
PI_IMAGE_CHANNEL_TYPE_SIGNED_INT8 
PI_IMAGE_CHANNEL_TYPE_SIGNED_INT16 
PI_IMAGE_CHANNEL_TYPE_SIGNED_INT32 
PI_IMAGE_CHANNEL_TYPE_UNSIGNED_INT8 
PI_IMAGE_CHANNEL_TYPE_UNSIGNED_INT16 
PI_IMAGE_CHANNEL_TYPE_UNSIGNED_INT32 
PI_IMAGE_CHANNEL_TYPE_HALF_FLOAT 
PI_IMAGE_CHANNEL_TYPE_FLOAT 

Definition at line 464 of file pi.h.

◆ _pi_image_info

Enumerator
PI_IMAGE_INFO_FORMAT 
PI_IMAGE_INFO_ELEMENT_SIZE 
PI_IMAGE_INFO_ROW_PITCH 
PI_IMAGE_INFO_SLICE_PITCH 
PI_IMAGE_INFO_WIDTH 
PI_IMAGE_INFO_HEIGHT 
PI_IMAGE_INFO_DEPTH 

Definition at line 373 of file pi.h.

◆ _pi_kernel_exec_info

Enumerator
PI_USM_INDIRECT_ACCESS 

indicates that the kernel might access data through USM ptrs

PI_USM_PTRS 

provides an explicit list of pointers that the kernel will access

Definition at line 1251 of file pi.h.

◆ _pi_kernel_group_info

Enumerator
PI_KERNEL_GROUP_INFO_GLOBAL_WORK_SIZE 
PI_KERNEL_GROUP_INFO_WORK_GROUP_SIZE 
PI_KERNEL_GROUP_INFO_COMPILE_WORK_GROUP_SIZE 
PI_KERNEL_GROUP_INFO_LOCAL_MEM_SIZE 
PI_KERNEL_GROUP_INFO_PREFERRED_WORK_GROUP_SIZE_MULTIPLE 
PI_KERNEL_GROUP_INFO_PRIVATE_MEM_SIZE 
PI_KERNEL_GROUP_INFO_NUM_REGS 

Definition at line 350 of file pi.h.

◆ _pi_kernel_info

Enumerator
PI_KERNEL_INFO_FUNCTION_NAME 
PI_KERNEL_INFO_NUM_ARGS 
PI_KERNEL_INFO_REFERENCE_COUNT 
PI_KERNEL_INFO_CONTEXT 
PI_KERNEL_INFO_PROGRAM 
PI_KERNEL_INFO_ATTRIBUTES 

Definition at line 341 of file pi.h.

◆ _pi_kernel_sub_group_info

Enumerator
PI_KERNEL_MAX_SUB_GROUP_SIZE 
PI_KERNEL_MAX_NUM_SUB_GROUPS 
PI_KERNEL_COMPILE_NUM_SUB_GROUPS 
PI_KERNEL_COMPILE_SUB_GROUP_SIZE_INTEL 

Definition at line 383 of file pi.h.

◆ _pi_mem_advice

Enumerator
PI_MEM_ADVISE_UNKNOWN 

Definition at line 441 of file pi.h.

◆ _pi_mem_info

Enumerator
PI_MEM_ALLOC_TYPE 
PI_MEM_ALLOC_BASE_PTR 
PI_MEM_ALLOC_SIZE 
PI_MEM_ALLOC_DEVICE 

Definition at line 1567 of file pi.h.

◆ _pi_mem_type

Enumerator
PI_MEM_TYPE_BUFFER 
PI_MEM_TYPE_IMAGE2D 
PI_MEM_TYPE_IMAGE3D 
PI_MEM_TYPE_IMAGE2D_ARRAY 
PI_MEM_TYPE_IMAGE1D 
PI_MEM_TYPE_IMAGE1D_ARRAY 
PI_MEM_TYPE_IMAGE1D_BUFFER 

Definition at line 431 of file pi.h.

◆ _pi_platform_info

Enumerator
PI_PLATFORM_INFO_EXTENSIONS 
PI_PLATFORM_INFO_NAME 
PI_PLATFORM_INFO_PROFILE 
PI_PLATFORM_INFO_VENDOR 
PI_PLATFORM_INFO_VERSION 

Definition at line 129 of file pi.h.

◆ _pi_profiling_info

Enumerator
PI_PROFILING_INFO_COMMAND_QUEUED 
PI_PROFILING_INFO_COMMAND_SUBMIT 
PI_PROFILING_INFO_COMMAND_START 
PI_PROFILING_INFO_COMMAND_END 

Definition at line 536 of file pi.h.

◆ _pi_program_binary_type

Enumerator
PI_PROGRAM_BINARY_TYPE_NONE 
PI_PROGRAM_BINARY_TYPE_COMPILED_OBJECT 
PI_PROGRAM_BINARY_TYPE_LIBRARY 
PI_PROGRAM_BINARY_TYPE_EXECUTABLE 

Definition at line 151 of file pi.h.

◆ _pi_program_build_info

Enumerator
PI_PROGRAM_BUILD_INFO_STATUS 
PI_PROGRAM_BUILD_INFO_OPTIONS 
PI_PROGRAM_BUILD_INFO_LOG 
PI_PROGRAM_BUILD_INFO_BINARY_TYPE 

Definition at line 137 of file pi.h.

◆ _pi_program_build_status

Enumerator
PI_PROGRAM_BUILD_STATUS_NONE 
PI_PROGRAM_BUILD_STATUS_ERROR 
PI_PROGRAM_BUILD_STATUS_SUCCESS 
PI_PROGRAM_BUILD_STATUS_IN_PROGRESS 

Definition at line 144 of file pi.h.

◆ _pi_program_info

Enumerator
PI_PROGRAM_INFO_REFERENCE_COUNT 
PI_PROGRAM_INFO_CONTEXT 
PI_PROGRAM_INFO_NUM_DEVICES 
PI_PROGRAM_INFO_DEVICES 
PI_PROGRAM_INFO_SOURCE 
PI_PROGRAM_INFO_BINARY_SIZES 
PI_PROGRAM_INFO_BINARIES 
PI_PROGRAM_INFO_NUM_KERNELS 
PI_PROGRAM_INFO_KERNEL_NAMES 

Definition at line 311 of file pi.h.

◆ _pi_queue_info

Enumerator
PI_QUEUE_INFO_CONTEXT 
PI_QUEUE_INFO_DEVICE 
PI_QUEUE_INFO_DEVICE_DEFAULT 
PI_QUEUE_INFO_PROPERTIES 
PI_QUEUE_INFO_REFERENCE_COUNT 
PI_QUEUE_INFO_SIZE 

Definition at line 332 of file pi.h.

◆ _pi_result

enum _pi_result
Enumerator
PI_SUCCESS 
PI_INVALID_KERNEL_NAME 
PI_INVALID_OPERATION 
PI_INVALID_KERNEL 
PI_INVALID_QUEUE_PROPERTIES 
PI_INVALID_VALUE 
PI_INVALID_CONTEXT 
PI_INVALID_PLATFORM 
PI_INVALID_DEVICE 
PI_INVALID_BINARY 
PI_INVALID_QUEUE 
PI_OUT_OF_HOST_MEMORY 
PI_INVALID_PROGRAM 
PI_INVALID_PROGRAM_EXECUTABLE 
PI_INVALID_SAMPLER 
PI_INVALID_BUFFER_SIZE 
PI_INVALID_MEM_OBJECT 
PI_OUT_OF_RESOURCES 
PI_INVALID_EVENT 
PI_INVALID_EVENT_WAIT_LIST 
PI_MISALIGNED_SUB_BUFFER_OFFSET 
PI_BUILD_PROGRAM_FAILURE 
PI_INVALID_WORK_GROUP_SIZE 
PI_COMPILER_NOT_AVAILABLE 
PI_PROFILING_INFO_NOT_AVAILABLE 
PI_DEVICE_NOT_FOUND 
PI_INVALID_WORK_ITEM_SIZE 
PI_INVALID_WORK_DIMENSION 
PI_INVALID_KERNEL_ARGS 
PI_INVALID_IMAGE_SIZE 
PI_INVALID_IMAGE_FORMAT_DESCRIPTOR 
PI_IMAGE_FORMAT_NOT_SUPPORTED 
PI_MEM_OBJECT_ALLOCATION_FAILURE 
PI_FUNCTION_ADDRESS_IS_NOT_AVAILABLE 

PI_FUNCTION_ADDRESS_IS_NOT_AVAILABLE indicates a fallback method determines the function exists but its address cannot be found.

PI_ERROR_UNKNOWN 

Definition at line 81 of file pi.h.

◆ _pi_sampler_addressing_mode

Enumerator
PI_SAMPLER_ADDRESSING_MODE_MIRRORED_REPEAT 
PI_SAMPLER_ADDRESSING_MODE_REPEAT 
PI_SAMPLER_ADDRESSING_MODE_CLAMP_TO_EDGE 
PI_SAMPLER_ADDRESSING_MODE_CLAMP 
PI_SAMPLER_ADDRESSING_MODE_NONE 

Definition at line 500 of file pi.h.

◆ _pi_sampler_filter_mode

Enumerator
PI_SAMPLER_FILTER_MODE_NEAREST 
PI_SAMPLER_FILTER_MODE_LINEAR 

Definition at line 508 of file pi.h.

◆ _pi_sampler_info

Enumerator
PI_SAMPLER_INFO_REFERENCE_COUNT 
PI_SAMPLER_INFO_CONTEXT 
PI_SAMPLER_INFO_NORMALIZED_COORDS 
PI_SAMPLER_INFO_ADDRESSING_MODE 
PI_SAMPLER_INFO_FILTER_MODE 
PI_SAMPLER_INFO_MIP_FILTER_MODE 
PI_SAMPLER_INFO_LOD_MIN 
PI_SAMPLER_INFO_LOD_MAX 

Definition at line 489 of file pi.h.

◆ _pi_usm_capabilities

Enumerator
PI_USM_ACCESS 
PI_USM_ATOMIC_ACCESS 
PI_USM_CONCURRENT_ACCESS 
PI_USM_CONCURRENT_ATOMIC_ACCESS 

Definition at line 1559 of file pi.h.

◆ _pi_usm_capability_query

Enumerator
PI_USM_HOST_SUPPORT 
PI_USM_DEVICE_SUPPORT 
PI_USM_SINGLE_SHARED_SUPPORT 
PI_USM_CROSS_SHARED_SUPPORT 
PI_USM_SYSTEM_SHARED_SUPPORT 

Definition at line 1549 of file pi.h.

◆ _pi_usm_mem_properties

Enumerator
PI_MEM_ALLOC_FLAGS 

Definition at line 1581 of file pi.h.

◆ _pi_usm_migration_flags

Enumerator
PI_USM_MIGRATION_TBD0 

Definition at line 1588 of file pi.h.

◆ _pi_usm_type

Enumerator
PI_MEM_TYPE_UNKNOWN 
PI_MEM_TYPE_HOST 
PI_MEM_TYPE_DEVICE 
PI_MEM_TYPE_SHARED 

Definition at line 1574 of file pi.h.

◆ pi_property_type

Enumerator
PI_PROPERTY_TYPE_UNKNOWN 
PI_PROPERTY_TYPE_UINT32 
PI_PROPERTY_TYPE_BYTE_ARRAY 
PI_PROPERTY_TYPE_STRING 

Definition at line 637 of file pi.h.

Function Documentation

◆ piclProgramCreateWithSource()

pi_result piclProgramCreateWithSource ( pi_context  context,
pi_uint32  count,
const char **  strings,
const size_t *  lengths,
pi_program ret_program 
)

Definition at line 989 of file pi_esimd_emulator.cpp.

References DIE_NO_IMPLEMENTATION, and PI_INVALID_OPERATION.

Referenced by piPluginInit().

◆ piContextCreate()

pi_result piContextCreate ( const pi_context_properties properties,
pi_uint32  num_devices,
const pi_device devices,
void(*)(const char *errinfo, const void *private_info, size_t cb, void *user_data)  pfn_notify,
void *  user_data,
pi_context ret_context 
)

◆ piContextGetInfo()

◆ piContextRelease()

◆ piContextRetain()

◆ piDeviceGetInfo()

pi_result piDeviceGetInfo ( pi_device  device,
pi_device_info  param_name,
size_t  param_value_size,
void *  param_value,
size_t *  param_value_size_ret 
)

Returns requested info for provided native device Return PI_DEVICE_INFO_EXTENSION_DEVICELIB_ASSERT for PI_DEVICE_INFO_EXTENSIONS query when the device supports native asserts.

Definition at line 485 of file pi_esimd_emulator.cpp.

References DIE_NO_IMPLEMENTATION, _pi_device::isSubDevice(), cl::sycl::ext::intel::experimental::esimd::max(), cl::sycl::detail::memcpy(), PI_ASSERT, PI_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE, PI_DEVICE_AFFINITY_DOMAIN_NUMA, PI_DEVICE_EXEC_CAPABILITIES_NATIVE_KERNEL, PI_DEVICE_INFO_ADDRESS_BITS, PI_DEVICE_INFO_ATOMIC_64, PI_DEVICE_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES, PI_DEVICE_INFO_AVAILABLE, PI_DEVICE_INFO_BUILT_IN_KERNELS, PI_DEVICE_INFO_COMPILER_AVAILABLE, PI_DEVICE_INFO_DOUBLE_FP_CONFIG, PI_DEVICE_INFO_DRIVER_VERSION, PI_DEVICE_INFO_ENDIAN_LITTLE, PI_DEVICE_INFO_ERROR_CORRECTION_SUPPORT, PI_DEVICE_INFO_EXECUTION_CAPABILITIES, PI_DEVICE_INFO_EXTENSIONS, PI_DEVICE_INFO_GLOBAL_MEM_CACHE_SIZE, PI_DEVICE_INFO_GLOBAL_MEM_CACHE_TYPE, PI_DEVICE_INFO_GLOBAL_MEM_CACHELINE_SIZE, PI_DEVICE_INFO_GLOBAL_MEM_SIZE, PI_DEVICE_INFO_GPU_EU_COUNT, PI_DEVICE_INFO_GPU_EU_COUNT_PER_SUBSLICE, PI_DEVICE_INFO_GPU_EU_SIMD_WIDTH, PI_DEVICE_INFO_GPU_SLICES, PI_DEVICE_INFO_GPU_SUBSLICES_PER_SLICE, PI_DEVICE_INFO_HALF_FP_CONFIG, PI_DEVICE_INFO_HOST_UNIFIED_MEMORY, PI_DEVICE_INFO_IL_VERSION, PI_DEVICE_INFO_IMAGE2D_MAX_HEIGHT, PI_DEVICE_INFO_IMAGE2D_MAX_WIDTH, PI_DEVICE_INFO_IMAGE3D_MAX_DEPTH, PI_DEVICE_INFO_IMAGE3D_MAX_HEIGHT, PI_DEVICE_INFO_IMAGE3D_MAX_WIDTH, PI_DEVICE_INFO_IMAGE_MAX_ARRAY_SIZE, PI_DEVICE_INFO_IMAGE_MAX_BUFFER_SIZE, PI_DEVICE_INFO_IMAGE_SRGB, PI_DEVICE_INFO_IMAGE_SUPPORT, PI_DEVICE_INFO_LINKER_AVAILABLE, PI_DEVICE_INFO_LOCAL_MEM_SIZE, PI_DEVICE_INFO_LOCAL_MEM_TYPE, PI_DEVICE_INFO_MAX_CLOCK_FREQUENCY, PI_DEVICE_INFO_MAX_COMPUTE_UNITS, PI_DEVICE_INFO_MAX_CONSTANT_ARGS, PI_DEVICE_INFO_MAX_CONSTANT_BUFFER_SIZE, PI_DEVICE_INFO_MAX_MEM_ALLOC_SIZE, PI_DEVICE_INFO_MAX_MEM_BANDWIDTH, PI_DEVICE_INFO_MAX_NUM_SUB_GROUPS, PI_DEVICE_INFO_MAX_PARAMETER_SIZE, PI_DEVICE_INFO_MAX_READ_IMAGE_ARGS, PI_DEVICE_INFO_MAX_SAMPLERS, PI_DEVICE_INFO_MAX_WORK_GROUP_SIZE, PI_DEVICE_INFO_MAX_WORK_ITEM_DIMENSIONS, PI_DEVICE_INFO_MAX_WORK_ITEM_SIZES, PI_DEVICE_INFO_MAX_WRITE_IMAGE_ARGS, PI_DEVICE_INFO_MEM_BASE_ADDR_ALIGN, PI_DEVICE_INFO_NAME, PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_CHAR, PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_DOUBLE, PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_FLOAT, PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_HALF, PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_INT, PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_LONG, PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_SHORT, PI_DEVICE_INFO_OPENCL_C_VERSION, PI_DEVICE_INFO_PARENT_DEVICE, PI_DEVICE_INFO_PARTITION_AFFINITY_DOMAIN, PI_DEVICE_INFO_PARTITION_MAX_SUB_DEVICES, PI_DEVICE_INFO_PARTITION_PROPERTIES, PI_DEVICE_INFO_PARTITION_TYPE, PI_DEVICE_INFO_PCI_ADDRESS, PI_DEVICE_INFO_PLATFORM, PI_DEVICE_INFO_PREFERRED_INTEROP_USER_SYNC, PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_CHAR, PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_DOUBLE, PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_FLOAT, PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_HALF, PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_INT, PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_LONG, PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_SHORT, PI_DEVICE_INFO_PRINTF_BUFFER_SIZE, PI_DEVICE_INFO_PROFILE, PI_DEVICE_INFO_PROFILING_TIMER_RESOLUTION, PI_DEVICE_INFO_QUEUE_PROPERTIES, PI_DEVICE_INFO_REFERENCE_COUNT, PI_DEVICE_INFO_SINGLE_FP_CONFIG, PI_DEVICE_INFO_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS, PI_DEVICE_INFO_SUB_GROUP_SIZES_INTEL, PI_DEVICE_INFO_TYPE, PI_DEVICE_INFO_USM_CROSS_SHARED_SUPPORT, PI_DEVICE_INFO_USM_DEVICE_SUPPORT, PI_DEVICE_INFO_USM_HOST_SUPPORT, PI_DEVICE_INFO_USM_SINGLE_SHARED_SUPPORT, PI_DEVICE_INFO_USM_SYSTEM_SHARED_SUPPORT, PI_DEVICE_INFO_UUID, PI_DEVICE_INFO_VENDOR, PI_DEVICE_INFO_VENDOR_ID, PI_DEVICE_INFO_VERSION, PI_DEVICE_LOCAL_MEM_TYPE_LOCAL, PI_DEVICE_MEM_CACHE_TYPE_READ_WRITE_CACHE, PI_DEVICE_PARTITION_BY_AFFINITY_DOMAIN, PI_DEVICE_TYPE_ACC, PI_DEVICE_TYPE_CPU, PI_DEVICE_TYPE_GPU, PI_EXT_ONEAPI_DEVICE_INFO_MAX_WORK_GROUPS_3D, PI_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT, PI_FP_DENORM, PI_FP_FMA, PI_FP_INF_NAN, PI_FP_ROUND_TO_INF, PI_FP_ROUND_TO_NEAREST, PI_FP_ROUND_TO_ZERO, PI_INVALID_DEVICE, PI_INVALID_VALUE, PI_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE, PI_QUEUE_PROFILING_ENABLE, PI_SUCCESS, PI_USM_ACCESS, PI_USM_ATOMIC_ACCESS, PI_USM_CONCURRENT_ACCESS, PI_USM_CONCURRENT_ATOMIC_ACCESS, _pi_device::Platform, _pi_platform::populateDeviceCacheIfNeeded(), _pi_device::SubDevices, cl::sycl::detail::totalSize(), UNSUPPORTED_INFO, ZE_CALL, ZE_SUPPORTED_EXTENSIONS, _pi_device::ZeDevice, _pi_device::ZeDeviceCacheProperties, _pi_device::ZeDeviceComputeProperties, _pi_device::ZeDeviceImageProperties, _pi_device::ZeDeviceMemoryProperties, _pi_device::ZeDeviceModuleProperties, _pi_device::ZeDeviceProperties, _pi_platform::ZeDriverApiVersion, and _pi_platform::ZeDriverVersion.

Referenced by cl::sycl::detail::applyAllowList(), cl::sycl::detail::filterDeviceFilter(), cl::sycl::detail::get_device_info< T, param >::get(), cl::sycl::detail::get_device_info< platform, param >::get(), cl::sycl::detail::get_device_info_string< param >::get(), cl::sycl::detail::get_device_info< id< 3 >, param >::get(), cl::sycl::detail::get_device_info< std::vector< info::fp_config >, param >::get(), cl::sycl::detail::get_device_info< std::vector< info::fp_config >, info::device::single_fp_config >::get(), cl::sycl::detail::get_device_info< bool, info::device::queue_profiling >::get(), cl::sycl::detail::get_device_info< bool, info::device::atomic64 >::get(), cl::sycl::detail::get_device_info< std::vector< memory_order >, info::device::atomic_memory_order_capabilities >::get(), cl::sycl::detail::get_device_info< std::vector< info::execution_capability >, info::device::execution_capabilities >::get(), cl::sycl::detail::get_device_info< std::vector< info::partition_property >, info::device::partition_properties >::get(), cl::sycl::detail::get_device_info< std::vector< info::partition_affinity_domain >, info::device::partition_affinity_domains >::get(), cl::sycl::detail::get_device_info< info::partition_affinity_domain, info::device::partition_type_affinity_domain >::get(), cl::sycl::detail::get_device_info< info::partition_property, info::device::partition_type_property >::get(), cl::sycl::detail::get_device_info< std::vector< size_t >, info::device::sub_group_sizes >::get(), cl::sycl::detail::get_device_info< id< 3 >, info::device::max_work_item_sizes >::get(), cl::sycl::detail::get_device_info< id< 1 >, info::device::ext_oneapi_max_work_groups_1d >::get(), cl::sycl::detail::get_device_info< id< 2 >, info::device::ext_oneapi_max_work_groups_2d >::get(), cl::sycl::detail::get_device_info< id< 3 >, info::device::ext_oneapi_max_work_groups_3d >::get(), cl::sycl::detail::get_device_info< device, info::device::parent_device >::get(), cl::sycl::detail::get_device_info< bool, info::device::usm_device_allocations >::get(), cl::sycl::detail::get_device_info< bool, info::device::usm_host_allocations >::get(), cl::sycl::detail::get_device_info< bool, info::device::usm_shared_allocations >::get(), cl::sycl::detail::get_device_info< bool, info::device::usm_restricted_shared_allocations >::get(), cl::sycl::detail::get_device_info< bool, info::device::usm_system_allocations >::get(), cl::sycl::detail::get_device_info< bool, info::device::ext_intel_mem_channel >::get(), cl::sycl::detail::platform_impl::getPlatformFromPiDevice(), cl::sycl::detail::ProgramManager::getProgramBuildLog(), cl::sycl::detail::enqueue_kernel_launch::handleInvalidWorkGroupSize(), cl::sycl::detail::enqueue_kernel_launch::handleInvalidWorkItemSize(), cl::sycl::detail::device_impl::has(), and piPluginInit().

◆ piDevicePartition()

◆ piDeviceRelease()

◆ piDeviceRetain()

◆ piDevicesGet()

◆ piEnqueueEventsWait()

◆ piEnqueueEventsWaitWithBarrier()

◆ piEnqueueKernelLaunch()

◆ piEnqueueMemBufferCopy()

pi_result piEnqueueMemBufferCopy ( pi_queue  command_queue,
pi_mem  src_buffer,
pi_mem  dst_buffer,
size_t  src_offset,
size_t  dst_offset,
size_t  size,
pi_uint32  num_events_in_wait_list,
const pi_event event_wait_list,
pi_event event 
)

◆ piEnqueueMemBufferCopyRect()

pi_result piEnqueueMemBufferCopyRect ( pi_queue  command_queue,
pi_mem  src_buffer,
pi_mem  dst_buffer,
pi_buff_rect_offset  src_origin,
pi_buff_rect_offset  dst_origin,
pi_buff_rect_region  region,
size_t  src_row_pitch,
size_t  src_slice_pitch,
size_t  dst_row_pitch,
size_t  dst_slice_pitch,
pi_uint32  num_events_in_wait_list,
const pi_event event_wait_list,
pi_event event 
)

◆ piEnqueueMemBufferFill()

pi_result piEnqueueMemBufferFill ( pi_queue  command_queue,
pi_mem  buffer,
const void *  pattern,
size_t  pattern_size,
size_t  offset,
size_t  size,
pi_uint32  num_events_in_wait_list,
const pi_event event_wait_list,
pi_event event 
)

◆ piEnqueueMemBufferMap()

◆ piEnqueueMemBufferRead()

pi_result piEnqueueMemBufferRead ( pi_queue  queue,
pi_mem  buffer,
pi_bool  blocking_read,
size_t  offset,
size_t  size,
void *  ptr,
pi_uint32  num_events_in_wait_list,
const pi_event event_wait_list,
pi_event event 
)

◆ piEnqueueMemBufferReadRect()

pi_result piEnqueueMemBufferReadRect ( pi_queue  command_queue,
pi_mem  buffer,
pi_bool  blocking_read,
pi_buff_rect_offset  buffer_offset,
pi_buff_rect_offset  host_offset,
pi_buff_rect_region  region,
size_t  buffer_row_pitch,
size_t  buffer_slice_pitch,
size_t  host_row_pitch,
size_t  host_slice_pitch,
void *  ptr,
pi_uint32  num_events_in_wait_list,
const pi_event event_wait_list,
pi_event event 
)

◆ piEnqueueMemBufferWrite()

pi_result piEnqueueMemBufferWrite ( pi_queue  command_queue,
pi_mem  buffer,
pi_bool  blocking_write,
size_t  offset,
size_t  size,
const void *  ptr,
pi_uint32  num_events_in_wait_list,
const pi_event event_wait_list,
pi_event event 
)

◆ piEnqueueMemBufferWriteRect()

pi_result piEnqueueMemBufferWriteRect ( pi_queue  command_queue,
pi_mem  buffer,
pi_bool  blocking_write,
pi_buff_rect_offset  buffer_offset,
pi_buff_rect_offset  host_offset,
pi_buff_rect_region  region,
size_t  buffer_row_pitch,
size_t  buffer_slice_pitch,
size_t  host_row_pitch,
size_t  host_slice_pitch,
const void *  ptr,
pi_uint32  num_events_in_wait_list,
const pi_event event_wait_list,
pi_event event 
)

◆ piEnqueueMemImageCopy()

pi_result piEnqueueMemImageCopy ( pi_queue  command_queue,
pi_mem  src_image,
pi_mem  dst_image,
pi_image_offset  src_origin,
pi_image_offset  dst_origin,
pi_image_region  region,
pi_uint32  num_events_in_wait_list,
const pi_event event_wait_list,
pi_event event 
)

◆ piEnqueueMemImageFill()

pi_result piEnqueueMemImageFill ( pi_queue  command_queue,
pi_mem  image,
const void *  fill_color,
const size_t *  origin,
const size_t *  region,
pi_uint32  num_events_in_wait_list,
const pi_event event_wait_list,
pi_event event 
)

◆ piEnqueueMemImageRead()

pi_result piEnqueueMemImageRead ( pi_queue  command_queue,
pi_mem  image,
pi_bool  blocking_read,
pi_image_offset  origin,
pi_image_region  region,
size_t  row_pitch,
size_t  slice_pitch,
void *  ptr,
pi_uint32  num_events_in_wait_list,
const pi_event event_wait_list,
pi_event event 
)

◆ piEnqueueMemImageWrite()

pi_result piEnqueueMemImageWrite ( pi_queue  command_queue,
pi_mem  image,
pi_bool  blocking_write,
pi_image_offset  origin,
pi_image_region  region,
size_t  input_row_pitch,
size_t  input_slice_pitch,
const void *  ptr,
pi_uint32  num_events_in_wait_list,
const pi_event event_wait_list,
pi_event event 
)

◆ piEnqueueMemUnmap()

◆ piEnqueueNativeKernel()

pi_result piEnqueueNativeKernel ( pi_queue  queue,
void(*)(void *)  user_func,
void *  args,
size_t  cb_args,
pi_uint32  num_mem_objects,
const pi_mem mem_list,
const void **  args_mem_loc,
pi_uint32  num_events_in_wait_list,
const pi_event event_wait_list,
pi_event event 
)

◆ piEventCreate()

◆ piEventGetInfo()

◆ piEventGetProfilingInfo()

◆ piEventRelease()

◆ piEventRetain()

◆ piEventSetCallback()

pi_result piEventSetCallback ( pi_event  event,
pi_int32  command_exec_callback_type,
void(*)(pi_event event, pi_int32 event_command_status, void *user_data)  pfn_notify,
void *  user_data 
)

Referenced by piPluginInit().

◆ piEventSetStatus()

pi_result piEventSetStatus ( pi_event  event,
pi_int32  execution_status 
)

Definition at line 1110 of file pi_esimd_emulator.cpp.

References cl::sycl::detail::pi::die(), DIE_NO_IMPLEMENTATION, and PI_SUCCESS.

Referenced by piPluginInit().

◆ piEventsWait()

◆ piextContextCreateWithNativeHandle()

pi_result piextContextCreateWithNativeHandle ( pi_native_handle  nativeHandle,
pi_uint32  numDevices,
const pi_device devices,
bool  pluginOwnsNativeHandle,
pi_context context 
)

Creates PI context object from a native handle.

NOTE: The created PI object takes ownership of the native handle. NOTE: The number of devices and the list of devices is needed for Level Zero backend because there is no possilibity to query this information from context handle for Level Zero. If backend has API to query a list of devices from the context native handle then these parameters are ignored.

Parameters
nativeHandleis the native handle to create PI context from.
numDevicesis the number of devices in the context. Parameter is ignored if number of devices can be queried from the context native handle for a backend.
devicesis the list of devices in the context. Parameter is ignored if devices can be queried from the context native handle for a backend.
pluginOwnsNativeHandleIndicates whether the created PI object should take ownership of the native handle.
contextis the PI context created from the native handle.
Returns
PI_SUCCESS if successfully created pi_context from the handle. PI_OUT_OF_HOST_MEMORY if can't allocate memory for the pi_context object. PI_INVALID_VALUE if numDevices == 0 or devices is NULL but backend doesn't have API to query a list of devices from the context native handle. PI_UNKNOWN_ERROR in case of another error.

Definition at line 659 of file pi_esimd_emulator.cpp.

References DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_ERROR_UNKNOWN, PI_INVALID_DEVICE, PI_INVALID_VALUE, PI_OUT_OF_HOST_MEMORY, and PI_SUCCESS.

Referenced by cl::sycl::ext::oneapi::level_zero::make_context(), cl::sycl::detail::make_context(), and piPluginInit().

◆ piextContextGetNativeHandle()

pi_result piextContextGetNativeHandle ( pi_context  context,
pi_native_handle nativeHandle 
)

Gets the native handle of a PI context object.

Parameters
contextis the PI context to get the native handle of.
nativeHandleis the native handle of context.

Definition at line 655 of file pi_esimd_emulator.cpp.

References DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_INVALID_CONTEXT, PI_INVALID_VALUE, PI_SUCCESS, piextGetNativeHandle(), and _pi_context::ZeContext.

Referenced by cl::sycl::detail::context_impl::getNative(), and piPluginInit().

◆ piextContextSetExtendedDeleter()

pi_result piextContextSetExtendedDeleter ( pi_context  context,
pi_context_extended_deleter  func,
void *  user_data 
)

◆ piextDeviceCreateWithNativeHandle()

pi_result piextDeviceCreateWithNativeHandle ( pi_native_handle  nativeHandle,
pi_platform  platform,
pi_device device 
)

Creates PI device object from a native handle.

NOTE: The created PI object takes ownership of the native handle.

Parameters
nativeHandleis the native handle to create PI device from.
platformis the platform of the device (optional).
deviceis the PI device created from the native handle.

Definition at line 613 of file pi_esimd_emulator.cpp.

References DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_INVALID_DEVICE, PI_INVALID_PLATFORM, PI_INVALID_VALUE, PI_SUCCESS, PiPlatformCachePopulated, PiPlatformsCache, and PiPlatformsCacheMutex.

Referenced by cl::sycl::ext::oneapi::level_zero::make_device(), cl::sycl::detail::make_device(), and piPluginInit().

◆ piextDeviceGetNativeHandle()

pi_result piextDeviceGetNativeHandle ( pi_device  device,
pi_native_handle nativeHandle 
)

Gets the native handle of a PI device object.

Parameters
deviceis the PI device to get the native handle of.
nativeHandleis the native handle of device.

Definition at line 609 of file pi_esimd_emulator.cpp.

References DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_INVALID_DEVICE, PI_INVALID_VALUE, PI_SUCCESS, piextGetNativeHandle(), and _pi_device::ZeDevice.

Referenced by cl::sycl::detail::device_impl::getNative(), and piPluginInit().

◆ piextDeviceSelectBinary()

pi_result piextDeviceSelectBinary ( pi_device  device,
pi_device_binary binaries,
pi_uint32  num_binaries,
pi_uint32 selected_binary_ind 
)

Selects the most appropriate device binary based on runtime information and the IR characteristics.

TODO : Support multiple images and enable selection algorithm for the images

Definition at line 1505 of file pi_esimd_emulator.cpp.

References __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64, __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_FPGA, __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_GEN, __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_X86_64, cl::sycl::ext::intel::experimental::esimd::max(), PI_ASSERT, PI_INVALID_BINARY, PI_INVALID_DEVICE, PI_INVALID_VALUE, PI_SUCCESS, and PrintPiTrace.

Referenced by cl::sycl::detail::compatibleWithDevice(), and piPluginInit().

◆ piextEventCreateWithNativeHandle()

pi_result piextEventCreateWithNativeHandle ( pi_native_handle  nativeHandle,
pi_context  context,
bool  ownNativeHandle,
pi_event event 
)

Creates PI event object from a native handle.

NOTE: The created PI object takes ownership of the native handle.

Parameters
nativeHandleis the native handle to create PI event from.
contextis the corresponding PI context
pluginOwnsNativeHandleIndicates whether the created PI object should take ownership of the native handle.
eventis the PI event created from the native handle.

Definition at line 1147 of file pi_esimd_emulator.cpp.

References _pi_program::Context, DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_COMMAND_TYPE_USER, PI_INVALID_CONTEXT, PI_INVALID_EVENT, PI_INVALID_VALUE, and PI_SUCCESS.

Referenced by cl::sycl::detail::make_event(), and piPluginInit().

◆ piextEventGetNativeHandle()

pi_result piextEventGetNativeHandle ( pi_event  event,
pi_native_handle nativeHandle 
)

Gets the native handle of a PI event object.

Parameters
eventis the PI event to get the native handle of.
nativeHandleis the native handle of event.

Definition at line 1143 of file pi_esimd_emulator.cpp.

References DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_INVALID_EVENT, PI_INVALID_VALUE, PI_SUCCESS, and _pi_event::ZeEvent.

Referenced by cl::sycl::detail::event_impl::getNative(), and piPluginInit().

◆ piextGetDeviceFunctionPointer()

pi_result piextGetDeviceFunctionPointer ( pi_device  device,
pi_program  program,
const char function_name,
pi_uint64 function_pointer_ret 
)

Retrieves a device function pointer to a user-defined function.

  • function_name.
  • function_pointer_ret is set to 0 if query failed.
  • program must be built before calling this API.
  • device must present in the list of devices returned by get_device method for
  • program.

If a fallback method determines the function exists but the address is not available PI_FUNCTION_ADDRESS_IS_NOT_AVAILABLE is returned. If the address does not exist PI_INVALID_KERNEL_NAME is returned.

Definition at line 1404 of file pi_esimd_emulator.cpp.

References clGetDeviceFunctionPointerName, DIE_NO_IMPLEMENTATION, _pi_program::ModuleIterator::Done(), _pi_program::Exe, getExtFuncFromContext(), is_in_separated_string(), _pi_program::LinkedExe, PI_ASSERT, PI_CALL, PI_FUNCTION_ADDRESS_IS_NOT_AVAILABLE, PI_INVALID_KERNEL_NAME, PI_INVALID_PROGRAM, PI_INVALID_PROGRAM_EXECUTABLE, PI_PROGRAM_INFO_KERNEL_NAMES, PI_SUCCESS, piProgramGetInfo(), _pi_program::State, and ZE_CALL_NOCHECK.

Referenced by cl::sycl::detail::getDeviceFunctionPointerImpl(), cl::sycl::detail::program_impl::has_kernel(), and piPluginInit().

◆ piextKernelCreateWithNativeHandle()

pi_result piextKernelCreateWithNativeHandle ( pi_native_handle  nativeHandle,
pi_context  context,
pi_program  program,
bool  pluginOwnsNativeHandle,
pi_kernel kernel 
)

Creates PI kernel object from a native handle.

NOTE: The created PI object takes ownership of the native handle.

Parameters
nativeHandleis the native handle to create PI kernel from.
contextis the PI context of the kernel.
programis the PI program of the kernel.
pluginOwnsNativeHandleIndicates whether the created PI object should take ownership of the native handle.
kernelis the PI kernel created from the native handle.

Definition at line 1389 of file pi_esimd_emulator.cpp.

References _pi_program::Context, DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_CALL, PI_INVALID_CONTEXT, PI_INVALID_KERNEL, PI_INVALID_PROGRAM, PI_INVALID_VALUE, PI_SUCCESS, piContextRetain(), piProgramRetain(), and ZE_CALL_NOCHECK.

Referenced by cl::sycl::detail::make_kernel(), and piPluginInit().

◆ piextKernelGetNativeHandle()

pi_result piextKernelGetNativeHandle ( pi_kernel  kernel,
pi_native_handle nativeHandle 
)

Gets the native handle of a PI kernel object.

Parameters
kernelis the PI kernel to get the native handle of.
nativeHandleis the native handle of kernel.

Definition at line 1394 of file pi_esimd_emulator.cpp.

References DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_INVALID_KERNEL, PI_INVALID_VALUE, PI_SUCCESS, piextGetNativeHandle(), and _pi_kernel::ZeKernel.

Referenced by cl::sycl::detail::kernel_impl::getNative(), and piPluginInit().

◆ piextKernelSetArgMemObj()

pi_result piextKernelSetArgMemObj ( pi_kernel  kernel,
pi_uint32  arg_index,
const pi_mem arg_value 
)

◆ piextKernelSetArgPointer()

pi_result piextKernelSetArgPointer ( pi_kernel  kernel,
pi_uint32  arg_index,
size_t  arg_size,
const void *  arg_value 
)

Sets up pointer arguments for CL kernels.

An extra indirection is required due to CL argument conventions.

Parameters
kernelis the kernel to be launched
arg_indexis the index of the kernel argument
arg_sizeis the size in bytes of the argument (ignored in CL)
arg_valueis the pointer argument

Definition at line 1471 of file pi_esimd_emulator.cpp.

References clSetKernelArgMemPointerName, DIE_NO_IMPLEMENTATION, getExtFuncFromContext(), PI_CALL, PI_SUCCESS, and piKernelSetArg().

Referenced by piPluginInit(), and cl::sycl::detail::SetKernelParamsAndLaunch().

◆ piextKernelSetArgSampler()

pi_result piextKernelSetArgSampler ( pi_kernel  kernel,
pi_uint32  arg_index,
const pi_sampler arg_value 
)

◆ piextMemCreateWithNativeHandle()

pi_result piextMemCreateWithNativeHandle ( pi_native_handle  nativeHandle,
pi_mem mem 
)

Creates PI mem object from a native handle.

NOTE: The created PI object takes ownership of the native handle.

Parameters
nativeHandleis the native handle to create PI mem from.
memis the PI mem created from the native handle.

Definition at line 968 of file pi_esimd_emulator.cpp.

References cl::sycl::detail::pi::die(), DIE_NO_IMPLEMENTATION, and PI_SUCCESS.

Referenced by piPluginInit().

◆ piextMemGetNativeHandle()

pi_result piextMemGetNativeHandle ( pi_mem  mem,
pi_native_handle nativeHandle 
)

Gets the native handle of a PI mem object.

Parameters
memis the PI mem to get the native handle of.
nativeHandleis the native handle of mem.

Definition at line 964 of file pi_esimd_emulator.cpp.

References DIE_NO_IMPLEMENTATION, _pi_mem::getZeHandle(), PI_ASSERT, PI_INVALID_MEM_OBJECT, PI_SUCCESS, and piextGetNativeHandle().

Referenced by piPluginInit().

◆ piextPlatformCreateWithNativeHandle()

pi_result piextPlatformCreateWithNativeHandle ( pi_native_handle  nativeHandle,
pi_platform platform 
)

Creates PI platform object from a native handle.

NOTE: The created PI object takes ownership of the native handle.

Parameters
nativeHandleis the native handle to create PI device from.
platformis the PI platform created from the native handle.

Definition at line 421 of file pi_esimd_emulator.cpp.

References DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_CALL, PI_INVALID_PLATFORM, PI_INVALID_VALUE, PI_SUCCESS, and piPlatformsGet().

Referenced by cl::sycl::detail::make_platform(), and piPluginInit().

◆ piextPlatformGetNativeHandle()

pi_result piextPlatformGetNativeHandle ( pi_platform  platform,
pi_native_handle nativeHandle 
)

Gets the native handle of a PI platform object.

Parameters
platformis the PI platform to get the native handle of.
nativeHandleis the native handle of platform.

Definition at line 417 of file pi_esimd_emulator.cpp.

References DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_INVALID_PLATFORM, PI_INVALID_VALUE, PI_SUCCESS, piextGetNativeHandle(), and _pi_platform::ZeDriver.

Referenced by cl::sycl::detail::platform_impl::getNative(), and piPluginInit().

◆ piextPluginGetOpaqueData()

pi_result piextPluginGetOpaqueData ( void *  opaque_data_param,
void **  opaque_data_return 
)

API to get Plugin internal data, opaque to SYCL RT.

Some devices whose device code is compiled by the host compiler (e.g. CPU emulators) may use it to access some device code functionality implemented in/behind the plugin.

Parameters
opaque_data_param- unspecified argument, interpretation is specific to a plugin
opaque_data_return- placeholder for the returned opaque data.

Definition at line 1527 of file pi_esimd_emulator.cpp.

References PI_ERROR_UNKNOWN, PI_SUCCESS, and PiESimdDeviceAccess.

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

◆ piextProgramCreateWithNativeHandle()

pi_result piextProgramCreateWithNativeHandle ( pi_native_handle  nativeHandle,
pi_context  context,
bool  pluginOwnsNativeHandle,
pi_program program 
)

Creates PI program object from a native handle.

NOTE: The created PI object takes ownership of the native handle.

Parameters
nativeHandleis the native handle to create PI program from.
contextis the PI context of the program.
pluginOwnsNativeHandleIndicates whether the created PI object should take ownership of the native handle.
programis the PI program created from the native handle.

Definition at line 1030 of file pi_esimd_emulator.cpp.

References DIE_NO_IMPLEMENTATION, _pi_program::Exe, PI_ASSERT, PI_ERROR_UNKNOWN, PI_INVALID_CONTEXT, PI_INVALID_PROGRAM, PI_INVALID_VALUE, PI_OUT_OF_HOST_MEMORY, and PI_SUCCESS.

Referenced by cl::sycl::detail::make_kernel_bundle(), and piPluginInit().

◆ piextProgramGetNativeHandle()

pi_result piextProgramGetNativeHandle ( pi_program  program,
pi_native_handle nativeHandle 
)

◆ piextProgramSetSpecializationConstant()

pi_result piextProgramSetSpecializationConstant ( pi_program  prog,
pi_uint32  spec_id,
size_t  spec_size,
const void *  spec_value 
)

Sets a specialization constant to a specific value.

Parameters
progthe program object which will use the value
spec_idinteger ID of the constant
spec_sizesize of the value
spec_valuebytes of the value

Definition at line 1500 of file pi_esimd_emulator.cpp.

References clSetProgramSpecializationConstantName, DIE_NO_IMPLEMENTATION, getExtFuncFromContext(), _pi_program::MutexZeSpecConstants, PI_INVALID_OPERATION, PI_SUCCESS, and _pi_program::ZeSpecConstants.

Referenced by cl::sycl::detail::ProgramManager::build(), cl::sycl::detail::enableITTAnnotationsIfNeeded(), cl::sycl::detail::program_impl::flush_spec_constants(), and piPluginInit().

◆ piextQueueCreateWithNativeHandle()

pi_result piextQueueCreateWithNativeHandle ( pi_native_handle  nativeHandle,
pi_context  context,
pi_queue queue,
bool  pluginOwnsNativeHandle 
)

Creates PI queue object from a native handle.

NOTE: The created PI object takes ownership of the native handle.

Parameters
nativeHandleis the native handle to create PI queue from.
contextis the PI context of the queue.
queueis the PI queue created from the native handle.
pluginOwnsNativeHandleIndicates whether the created PI object should take ownership of the native handle.

Definition at line 753 of file pi_esimd_emulator.cpp.

References _pi_context::Devices, DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_INVALID_CONTEXT, PI_INVALID_QUEUE, PI_INVALID_VALUE, PI_SUCCESS, CommandListBatchConfig::startSize(), and ZeCommandListBatch.

Referenced by cl::sycl::detail::make_queue(), and piPluginInit().

◆ piextQueueGetNativeHandle()

pi_result piextQueueGetNativeHandle ( pi_queue  queue,
pi_native_handle nativeHandle 
)

Gets the native handle of a PI queue object.

Parameters
queueis the PI queue to get the native handle of.
nativeHandleis the native handle of queue.

Definition at line 749 of file pi_esimd_emulator.cpp.

References DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_INVALID_QUEUE, PI_INVALID_VALUE, PI_SUCCESS, piextGetNativeHandle(), _pi_queue::PiQueueMutex, and _pi_queue::ZeComputeCommandQueue.

Referenced by cl::sycl::detail::queue_impl::getNative(), and piPluginInit().

◆ piextUSMDeviceAlloc()

pi_result piextUSMDeviceAlloc ( void **  result_ptr,
pi_context  context,
pi_device  device,
pi_usm_mem_properties properties,
size_t  size,
pi_uint32  alignment 
)

Allocates device memory.

Parameters
result_ptrcontains the allocated memory
contextis the pi_context
deviceis the device the memory will be allocated on
propertiesare optional allocation properties
sizeis the size of the allocation
alignmentis the desired alignment of the allocation
result_ptrcontains the allocated memory
contextis the pi_context
deviceis the device the memory will be allocated on
pi_usm_mem_propertiesare optional allocation properties
size_tis the size of the allocation
alignmentis the desired alignment of the allocation

Definition at line 1414 of file pi_esimd_emulator.cpp.

References _pi_program::Context, _pi_platform::ContextsMutex, _pi_context::DeviceMemAllocContexts, DIE_NO_IMPLEMENTATION, UsmAllocationException::getError(), _pi_context::MemAllocs, PI_CALL, PI_ERROR_UNKNOWN, PI_INVALID_OPERATION, PI_INVALID_VALUE, PI_SUCCESS, piContextRetain(), _pi_device::Platform, UseUSMAllocator, and USMDeviceAllocImpl().

Referenced by cl::sycl::detail::usm::alignedAlloc(), piMemBufferCreate(), and piPluginInit().

◆ piextUSMEnqueueMemAdvise()

pi_result piextUSMEnqueueMemAdvise ( pi_queue  queue,
const void *  ptr,
size_t  length,
pi_mem_advice  advice,
pi_event event 
)

USM Memadvise API.

Parameters
queueis the queue to submit to
ptris the data to be advised
lengthis the size in bytes of the memory to advise
adviceis device specific advice
eventis the event that represents this operation

USM Memadvise API.

Parameters
Queueis the queue to submit to
Ptris the data to be advised
Lengthis the size in bytes of the meory to advise
Adviceis device specific advice
Eventis the event that represents this operation
queueis the queue to submit to
ptris the data to be advised
lengthis the size in bytes of the meory to advise
adviceis device specific advice
eventis the event that represents this operation

Definition at line 1485 of file pi_esimd_emulator.cpp.

References _pi_queue::Context, createEventAndAssociateQueue(), _pi_queue::Device, DIE_NO_IMPLEMENTATION, _pi_queue::executeCommandList(), _pi_context::getAvailableCommandList(), cl::sycl::length(), PI_ASSERT, PI_COMMAND_TYPE_USER, PI_INVALID_EVENT, PI_INVALID_QUEUE, PI_SUCCESS, _pi_queue::PiQueueMutex, ZE_CALL, and _pi_device::ZeDevice.

Referenced by cl::sycl::detail::MemoryManager::advise_usm(), and piPluginInit().

◆ piextUSMEnqueueMemcpy()

pi_result piextUSMEnqueueMemcpy ( pi_queue  queue,
pi_bool  blocking,
void *  dst_ptr,
const void *  src_ptr,
size_t  size,
pi_uint32  num_events_in_waitlist,
const pi_event events_waitlist,
pi_event event 
)

USM Memcpy API.

Parameters
queueis the queue to submit to
blockingis whether this operation should block the host
src_ptris the data to be copied
dst_ptris the location the data will be copied
sizeis number of bytes to copy
num_events_in_waitlistis the number of events to wait on
events_waitlistis an array of events to wait on
eventis the event that represents this operation

Definition at line 1480 of file pi_esimd_emulator.cpp.

References _pi_queue::Context, DIE_NO_IMPLEMENTATION, enqueueMemCopyHelper(), IsDevicePointer(), PI_ASSERT, PI_COMMAND_TYPE_MEM_BUFFER_COPY, PI_INVALID_QUEUE, and PI_INVALID_VALUE.

Referenced by cl::sycl::detail::MemoryManager::copy_usm(), and piPluginInit().

◆ piextUSMEnqueueMemset()

pi_result piextUSMEnqueueMemset ( pi_queue  queue,
void *  ptr,
pi_int32  value,
size_t  count,
pi_uint32  num_events_in_waitlist,
const pi_event events_waitlist,
pi_event event 
)

USM Memset API.

Parameters
queueis the queue to submit to
ptris the ptr to memset
valueis value to set. It is interpreted as an 8-bit value and the upper 24 bits are ignored
countis the size in bytes to memset
num_events_in_waitlistis the number of events to wait on
events_waitlistis an array of events to wait on
eventis the event that represents this operation
Queueis the queue to submit to
Ptris the ptr to memset
Valueis value to set. It is interpreted as an 8-bit value and the upper 24 bits are ignored
Countis the size in bytes to memset
NumEventsInWaitlistis the number of events to wait on
EventsWaitlistis an array of events to wait on
Eventis the event that represents this operation

Definition at line 1475 of file pi_esimd_emulator.cpp.

References DIE_NO_IMPLEMENTATION, enqueueMemFillHelper(), PI_ASSERT, PI_COMMAND_TYPE_MEM_BUFFER_FILL, PI_INVALID_QUEUE, and PI_INVALID_VALUE.

Referenced by cl::sycl::detail::MemoryManager::fill_usm(), and piPluginInit().

◆ piextUSMEnqueuePrefetch()

pi_result piextUSMEnqueuePrefetch ( pi_queue  queue,
const void *  ptr,
size_t  size,
pi_usm_migration_flags  flags,
pi_uint32  num_events_in_waitlist,
const pi_event events_waitlist,
pi_event event 
)

Hint to migrate memory to the device.

Parameters
queueis the queue to submit to
ptrpoints to the memory to migrate
sizeis the number of bytes to migrate
flagsis a bitfield used to specify memory migration options
num_events_in_waitlistis the number of events to wait on
events_waitlistis an array of events to wait on
eventis the event that represents this operation
Queueis the queue to submit to
Ptrpoints to the memory to migrate
Sizeis the number of bytes to migrate
Flagsis a bitfield used to specify memory migration options
NumEventsInWaitlistis the number of events to wait on
EventsWaitlistis an array of events to wait on
Eventis the event that represents this operation

Definition at line 1521 of file pi_esimd_emulator.cpp.

References _pi_queue::Context, _pi_ze_event_list_t::createAndRetainPiZeEventList(), createEventAndAssociateQueue(), DIE_NO_IMPLEMENTATION, _pi_queue::executeCommandList(), _pi_context::getAvailableCommandList(), PI_ASSERT, PI_COMMAND_TYPE_USER, PI_INVALID_EVENT, PI_INVALID_QUEUE, PI_INVALID_VALUE, PI_SUCCESS, _pi_queue::PiQueueMutex, and ZE_CALL.

Referenced by piPluginInit(), and cl::sycl::detail::MemoryManager::prefetch_usm().

◆ piextUSMFree()

pi_result piextUSMFree ( pi_context  context,
void *  ptr 
)

◆ piextUSMGetMemAllocInfo()

pi_result piextUSMGetMemAllocInfo ( pi_context  context,
const void *  ptr,
pi_mem_info  param_name,
size_t  param_value_size,
void *  param_value,
size_t *  param_value_size_ret 
)

API to query information about USM allocated pointers Valid Queries: PI_MEM_ALLOC_TYPE returns host/device/shared pi_host_usm value PI_MEM_ALLOC_BASE_PTR returns the base ptr of an allocation if the queried pointer fell inside an allocation.

Result must fit in void * PI_MEM_ALLOC_SIZE returns how big the queried pointer's allocation is in bytes. Result is a size_t. PI_MEM_ALLOC_DEVICE returns the pi_device this was allocated against

Parameters
contextis the pi_context
ptris the pointer to query
param_nameis the type of query to perform
param_value_sizeis the size of the result in bytes
param_valueis the result
param_value_size_retis how many bytes were written

API to query information about USM allocated pointers Valid Queries: PI_MEM_ALLOC_TYPE returns host/device/shared pi_host_usm value PI_MEM_ALLOC_BASE_PTR returns the base ptr of an allocation if the queried pointer fell inside an allocation.

Valid Queries: PI_MEM_ALLOC_TYPE returns host/device/shared pi_usm_type value PI_MEM_ALLOC_BASE_PTR returns the base ptr of an allocation if the queried pointer fell inside an allocation. Result must fit in void * PI_MEM_ALLOC_SIZE returns how big the queried pointer's allocation is in bytes. Result is a size_t. PI_MEM_ALLOC_DEVICE returns the pi_device this was allocated against

Parameters
Contextis the pi_context
Ptris the pointer to query
ParamNameis the type of query to perform
ParamValueSizeis the size of the result in bytes
ParamValueis the result
ParamValueRetis how many bytes were written

Result must fit in void * PI_MEM_ALLOC_SIZE returns how big the queried pointer's allocation is in bytes. Result is a size_t. PI_MEM_ALLOC_DEVICE returns the pi_device this was allocated against

Parameters
contextis the pi_context
ptris the pointer to query
param_nameis the type of query to perform
param_value_sizeis the size of the result in bytes
param_valueis the result
param_value_retis how many bytes were written

Definition at line 1490 of file pi_esimd_emulator.cpp.

References _pi_program::Context, _pi_context::Devices, DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_INVALID_CONTEXT, PI_INVALID_VALUE, PI_MEM_ALLOC_BASE_PTR, PI_MEM_ALLOC_DEVICE, PI_MEM_ALLOC_SIZE, PI_MEM_ALLOC_TYPE, PI_MEM_TYPE_DEVICE, PI_MEM_TYPE_HOST, PI_MEM_TYPE_SHARED, PI_MEM_TYPE_UNKNOWN, PI_SUCCESS, ZE_CALL, and _pi_context::ZeContext.

Referenced by cl::sycl::get_pointer_device(), cl::sycl::get_pointer_type(), and piPluginInit().

◆ piextUSMHostAlloc()

pi_result piextUSMHostAlloc ( void **  result_ptr,
pi_context  context,
pi_usm_mem_properties properties,
size_t  size,
pi_uint32  alignment 
)

Allocates host memory accessible by the device.

Parameters
result_ptrcontains the allocated memory
contextis the pi_context
propertiesare optional allocation properties
sizeis the size of the allocation
alignmentis the desired alignment of the allocation
result_ptrcontains the allocated memory
contextis the pi_context
pi_usm_mem_propertiesare optional allocation properties
size_tis the size of the allocation
alignmentis the desired alignment of the allocation

Definition at line 1409 of file pi_esimd_emulator.cpp.

References _pi_program::Context, _pi_platform::ContextsMutex, _pi_context::Devices, DIE_NO_IMPLEMENTATION, UsmAllocationException::getError(), _pi_context::HostMemAllocContext, _pi_context::MemAllocs, PI_CALL, PI_ERROR_UNKNOWN, PI_INVALID_OPERATION, PI_INVALID_VALUE, PI_SUCCESS, piContextRetain(), UseUSMAllocator, and USMHostAllocImpl().

Referenced by cl::sycl::detail::usm::alignedAllocHost(), piMemBufferCreate(), and piPluginInit().

◆ piextUSMSharedAlloc()

pi_result piextUSMSharedAlloc ( void **  result_ptr,
pi_context  context,
pi_device  device,
pi_usm_mem_properties properties,
size_t  size,
pi_uint32  alignment 
)

Allocates memory accessible on both host and device.

Parameters
result_ptrcontains the allocated memory
contextis the pi_context
deviceis the device the memory will be allocated on
propertiesare optional allocation properties
sizeis the size of the allocation
alignmentis the desired alignment of the allocation
result_ptrcontains the allocated memory
contextis the pi_context
deviceis the device the memory will be allocated on
pi_usm_mem_propertiesare optional allocation properties
size_tis the size of the allocation
alignmentis the desired alignment of the allocation

Definition at line 1419 of file pi_esimd_emulator.cpp.

References _pi_context::Addr2CmBufferSVM, _pi_device::CmDevicePtr, _pi_program::Context, _pi_platform::ContextsMutex, _pi_context::Device, UsmAllocationException::getError(), _pi_context::MemAllocs, PI_CALL, PI_ERROR_UNKNOWN, PI_INVALID_CONTEXT, PI_INVALID_MEM_OBJECT, PI_INVALID_OPERATION, PI_INVALID_VALUE, PI_OUT_OF_HOST_MEMORY, PI_SUCCESS, piContextRetain(), _pi_device::Platform, _pi_context::SharedMemAllocContexts, UseUSMAllocator, and USMSharedAllocImpl().

Referenced by cl::sycl::detail::usm::alignedAlloc(), and piPluginInit().

◆ piKernelCreate()

◆ piKernelGetGroupInfo()

◆ piKernelGetInfo()

◆ piKernelGetSubGroupInfo()

pi_result piKernelGetSubGroupInfo ( pi_kernel  kernel,
pi_device  device,
pi_kernel_sub_group_info  param_name,
size_t  input_value_size,
const void *  input_value,
size_t  param_value_size,
void *  param_value,
size_t *  param_value_size_ret 
)

API to query information from the sub-group from a kernel.

Parameters
kernelis the pi_kernel to query
deviceis the device the kernel is executed on
param_nameis a pi_kernel_sub_group_info enum value that specifies the informtation queried for.
input_value_sizeis the size of input value passed in ptr input_value param
input_valueis the ptr to the input value passed.
param_value_sizeis the size of the value in bytes.
param_valueis a pointer to the value to set.
param_value_size_retis a pointer to return the size of data in param_value ptr.

All queries expect a return of 4 bytes in param_value_size, param_value_size_ret, and a uint32_t value should to be written in param_value ptr. Note: This behaviour differs from OpenCL. OpenCL returns size_t.

Definition at line 1061 of file pi_esimd_emulator.cpp.

References cl::sycl::detail::pi::die(), DIE_NO_IMPLEMENTATION, PI_KERNEL_COMPILE_NUM_SUB_GROUPS, PI_KERNEL_COMPILE_SUB_GROUP_SIZE_INTEL, PI_KERNEL_MAX_NUM_SUB_GROUPS, PI_KERNEL_MAX_SUB_GROUP_SIZE, PI_SUCCESS, and _pi_kernel::ZeKernelProperties.

Referenced by cl::sycl::detail::get_kernel_device_specific_info< T, Param >::get(), cl::sycl::detail::get_kernel_device_specific_info_with_input< Param >::get(), and piPluginInit().

◆ piKernelRelease()

◆ piKernelRetain()

◆ piKernelSetArg()

pi_result piKernelSetArg ( pi_kernel  kernel,
pi_uint32  arg_index,
size_t  arg_size,
const void *  arg_value 
)

◆ piKernelSetExecInfo()

pi_result piKernelSetExecInfo ( pi_kernel  kernel,
pi_kernel_exec_info  param_name,
size_t  param_value_size,
const void *  param_value 
)

API to set attributes controlling kernel execution.

Parameters
kernelis the pi kernel to execute
param_nameis a pi_kernel_exec_info value that specifies the info passed to the kernel
param_value_sizeis the size of the value in bytes
param_valueis a pointer to the value to set for the kernel

If param_name is PI_USM_INDIRECT_ACCESS, the value will be a ptr to the pi_bool value PI_TRUE If param_name is PI_USM_PTRS, the value will be an array of ptrs

Definition at line 1495 of file pi_esimd_emulator.cpp.

References DIE_NO_IMPLEMENTATION, PI_ASSERT, PI_INVALID_KERNEL, PI_INVALID_VALUE, PI_SUCCESS, PI_TRUE, PI_USM_INDIRECT_ACCESS, USMSetIndirectAccess(), ZE_CALL, and _pi_kernel::ZeKernel.

Referenced by cl::sycl::detail::ProgramManager::getOrCreateKernel(), cl::sycl::detail::kernel_impl::kernel_impl(), and piPluginInit().

◆ piMemBufferCreate()

◆ piMemBufferPartition()

◆ piMemGetInfo()

pi_result piMemGetInfo ( pi_mem  mem,
cl_mem_info  param_name,
size_t  param_value_size,
void *  param_value,
size_t *  param_value_size_ret 
)

◆ piMemImageCreate()

◆ piMemImageGetInfo()

pi_result piMemImageGetInfo ( pi_mem  image,
pi_image_info  param_name,
size_t  param_value_size,
void *  param_value,
size_t *  param_value_size_ret 
)

◆ piMemRelease()

◆ piMemRetain()

pi_result piMemRetain ( pi_mem  mem)

◆ piPlatformGetInfo()

◆ piPlatformsGet()

◆ piPluginInit()

pi_result piPluginInit ( pi_plugin plugin_info)

Definition at line 4841 of file pi_cuda.cpp.

References _PI_CL, _PI_H_VERSION_STRING, cuda_piclProgramCreateWithSource(), cuda_piContextCreate(), cuda_piContextGetInfo(), cuda_piContextRelease(), cuda_piContextRetain(), cuda_piDeviceGetInfo(), cuda_piDevicePartition(), cuda_piDeviceRelease(), cuda_piDeviceRetain(), cuda_piDevicesGet(), cuda_piEnqueueEventsWait(), cuda_piEnqueueEventsWaitWithBarrier(), cuda_piEnqueueKernelLaunch(), cuda_piEnqueueMemBufferCopy(), cuda_piEnqueueMemBufferCopyRect(), cuda_piEnqueueMemBufferFill(), cuda_piEnqueueMemBufferMap(), cuda_piEnqueueMemBufferRead(), cuda_piEnqueueMemBufferReadRect(), cuda_piEnqueueMemBufferWrite(), cuda_piEnqueueMemBufferWriteRect(), cuda_piEnqueueMemImageCopy(), cuda_piEnqueueMemImageFill(), cuda_piEnqueueMemImageRead(), cuda_piEnqueueMemImageWrite(), cuda_piEnqueueMemUnmap(), cuda_piEnqueueNativeKernel(), cuda_piEventCreate(), cuda_piEventGetInfo(), cuda_piEventGetProfilingInfo(), cuda_piEventRelease(), cuda_piEventRetain(), cuda_piEventSetCallback(), cuda_piEventSetStatus(), cuda_piEventsWait(), cuda_piextContextCreateWithNativeHandle(), cuda_piextContextGetNativeHandle(), cuda_piextContextSetExtendedDeleter(), cuda_piextDeviceCreateWithNativeHandle(), cuda_piextDeviceGetNativeHandle(), cuda_piextDeviceSelectBinary(), cuda_piextEventCreateWithNativeHandle(), cuda_piextEventGetNativeHandle(), cuda_piextGetDeviceFunctionPointer(), cuda_piextKernelCreateWithNativeHandle(), cuda_piextKernelSetArgMemObj(), cuda_piextKernelSetArgPointer(), cuda_piextKernelSetArgSampler(), cuda_piextMemCreateWithNativeHandle(), cuda_piextMemGetNativeHandle(), cuda_piextProgramCreateWithNativeHandle(), cuda_piextProgramGetNativeHandle(), cuda_piextQueueCreateWithNativeHandle(), cuda_piextQueueGetNativeHandle(), cuda_piextUSMDeviceAlloc(), cuda_piextUSMEnqueueMemAdvise(), cuda_piextUSMEnqueueMemcpy(), cuda_piextUSMEnqueueMemset(), cuda_piextUSMEnqueuePrefetch(), cuda_piextUSMFree(), cuda_piextUSMGetMemAllocInfo(), cuda_piextUSMHostAlloc(), cuda_piextUSMSharedAlloc(), cuda_piKernelCreate(), cuda_piKernelGetGroupInfo(), cuda_piKernelGetInfo(), cuda_piKernelGetSubGroupInfo(), cuda_piKernelRelease(), cuda_piKernelRetain(), cuda_piKernelSetArg(), cuda_piKernelSetExecInfo(), cuda_piMemBufferCreate(), cuda_piMemBufferPartition(), cuda_piMemGetInfo(), cuda_piMemImageCreate(), cuda_piMemImageGetInfo(), cuda_piMemRelease(), cuda_piMemRetain(), cuda_piPlatformGetInfo(), cuda_piPlatformsGet(), cuda_piProgramBuild(), cuda_piProgramCompile(), cuda_piProgramCreate(), cuda_piProgramCreateWithBinary(), cuda_piProgramGetBuildInfo(), cuda_piProgramGetInfo(), cuda_piProgramLink(), cuda_piProgramRelease(), cuda_piProgramRetain(), cuda_piQueueCreate(), cuda_piQueueFinish(), cuda_piQueueGetInfo(), cuda_piQueueRelease(), cuda_piQueueRetain(), cuda_piSamplerCreate(), cuda_piSamplerGetInfo(), cuda_piSamplerRelease(), cuda_piSamplerRetain(), cuda_piTearDown(), ESIMDEmuPluginDataVersion, hip_piclProgramCreateWithSource(), hip_piContextCreate(), hip_piContextGetInfo(), hip_piContextRelease(), hip_piContextRetain(), hip_piDeviceGetInfo(), hip_piDevicePartition(), hip_piDeviceRelease(), hip_piDeviceRetain(), hip_piDevicesGet(), hip_piEnqueueEventsWait(), hip_piEnqueueKernelLaunch(), hip_piEnqueueMemBufferCopy(), hip_piEnqueueMemBufferCopyRect(), hip_piEnqueueMemBufferFill(), hip_piEnqueueMemBufferMap(), hip_piEnqueueMemBufferRead(), hip_piEnqueueMemBufferReadRect(), hip_piEnqueueMemBufferWrite(), hip_piEnqueueMemBufferWriteRect(), hip_piEnqueueMemImageCopy(), hip_piEnqueueMemImageFill(), hip_piEnqueueMemImageRead(), hip_piEnqueueMemImageWrite(), hip_piEnqueueMemUnmap(), hip_piEnqueueNativeKernel(), hip_piEventCreate(), hip_piEventGetInfo(), hip_piEventGetProfilingInfo(), hip_piEventRelease(), hip_piEventRetain(), hip_piEventSetCallback(), hip_piEventSetStatus(), hip_piEventsWait(), hip_piextContextCreateWithNativeHandle(), hip_piextContextGetNativeHandle(), hip_piextContextSetExtendedDeleter(), hip_piextDeviceCreateWithNativeHandle(), hip_piextDeviceGetNativeHandle(), hip_piextDeviceSelectBinary(), hip_piextEventCreateWithNativeHandle(), hip_piextEventGetNativeHandle(), hip_piextGetDeviceFunctionPointer(), hip_piextKernelSetArgMemObj(), hip_piextKernelSetArgPointer(), hip_piextKernelSetArgSampler(), hip_piextMemCreateWithNativeHandle(), hip_piextProgramCreateWithNativeHandle(), hip_piextProgramGetNativeHandle(), hip_piextQueueCreateWithNativeHandle(), hip_piextQueueGetNativeHandle(), hip_piextUSMDeviceAlloc(), hip_piextUSMEnqueueMemAdvise(), hip_piextUSMEnqueueMemcpy(), hip_piextUSMEnqueueMemset(), hip_piextUSMEnqueuePrefetch(), hip_piextUSMFree(), hip_piextUSMGetMemAllocInfo(), hip_piextUSMHostAlloc(), hip_piextUSMSharedAlloc(), hip_piKernelCreate(), hip_piKernelGetGroupInfo(), hip_piKernelGetInfo(), hip_piKernelGetSubGroupInfo(), hip_piKernelRelease(), hip_piKernelRetain(), hip_piKernelSetArg(), hip_piKernelSetExecInfo(), hip_piMemBufferCreate(), hip_piMemBufferPartition(), hip_piMemGetInfo(), hip_piMemImageCreate(), hip_piMemImageGetInfo(), hip_piMemRelease(), hip_piMemRetain(), hip_piPlatformGetInfo(), hip_piPlatformsGet(), hip_piProgramBuild(), hip_piProgramCompile(), hip_piProgramCreate(), hip_piProgramCreateWithBinary(), hip_piProgramGetBuildInfo(), hip_piProgramGetInfo(), hip_piProgramLink(), hip_piProgramRelease(), hip_piProgramRetain(), hip_piQueueCreate(), hip_piQueueFinish(), hip_piQueueGetInfo(), hip_piQueueRelease(), hip_piQueueRetain(), hip_piSamplerCreate(), hip_piSamplerGetInfo(), hip_piSamplerRelease(), hip_piSamplerRetain(), hip_piTearDown(), PI_ASSERT, PI_INVALID_OPERATION, PI_INVALID_VALUE, PI_SUCCESS, piclProgramCreateWithSource(), piContextCreate(), piContextGetInfo(), piContextRelease(), piContextRetain(), piDeviceGetInfo(), piDevicePartition(), piDeviceRelease(), piDeviceRetain(), piDevicesGet(), piEnqueueEventsWait(), piEnqueueEventsWaitWithBarrier(), piEnqueueKernelLaunch(), piEnqueueMemBufferCopy(), piEnqueueMemBufferCopyRect(), piEnqueueMemBufferFill(), piEnqueueMemBufferMap(), piEnqueueMemBufferRead(), piEnqueueMemBufferReadRect(), piEnqueueMemBufferWrite(), piEnqueueMemBufferWriteRect(), piEnqueueMemImageCopy(), piEnqueueMemImageFill(), piEnqueueMemImageRead(), piEnqueueMemImageWrite(), piEnqueueMemUnmap(), piEnqueueNativeKernel(), PiESimdDeviceAccess, piEventCreate, piEventGetInfo(), piEventGetProfilingInfo(), piEventRelease(), piEventRetain(), piEventSetCallback(), piEventSetStatus(), piEventsWait(), piextContextCreateWithNativeHandle(), piextContextGetNativeHandle(), piextContextSetExtendedDeleter(), piextDeviceCreateWithNativeHandle(), piextDeviceGetNativeHandle(), piextDeviceSelectBinary(), piextEventCreateWithNativeHandle(), piextEventGetNativeHandle(), piextGetDeviceFunctionPointer(), piextGetNativeHandle(), piextKernelCreateWithNativeHandle(), piextKernelGetNativeHandle(), piextKernelSetArgMemObj(), piextKernelSetArgPointer(), piextKernelSetArgSampler(), piextMemCreateWithNativeHandle(), piextMemGetNativeHandle(), piextPlatformCreateWithNativeHandle(), piextPlatformGetNativeHandle(), piextProgramCreateWithNativeHandle(), piextProgramGetNativeHandle(), piextProgramSetSpecializationConstant(), piextQueueCreateWithNativeHandle(), piextQueueGetNativeHandle(), piextUSMDeviceAlloc(), piextUSMEnqueueMemAdvise(), piextUSMEnqueueMemcpy(), piextUSMEnqueueMemset(), piextUSMEnqueuePrefetch(), piextUSMFree(), piextUSMGetMemAllocInfo(), piextUSMHostAlloc(), piextUSMSharedAlloc(), _pi_plugin::PiFunctionTable, piKernelCreate(), piKernelGetGroupInfo(), piKernelGetInfo(), piKernelGetSubGroupInfo(), piKernelRelease(), piKernelRetain(), piKernelSetArg(), piKernelSetExecInfo(), piMemBufferCreate(), piMemBufferPartition(), piMemGetInfo(), piMemImageCreate(), piMemImageGetInfo(), piMemRelease(), piMemRetain(), piPlatformGetInfo(), piPlatformsGet(), piProgramBuild(), piProgramCompile(), piProgramCreate(), piProgramCreateWithBinary(), piProgramGetBuildInfo(), piProgramGetInfo(), piProgramLink(), piProgramRelease(), piProgramRetain(), piQueueCreate(), piQueueFinish(), piQueueGetInfo(), piQueueRelease(), piQueueRetain(), piSamplerCreate(), piSamplerGetInfo(), piSamplerRelease(), piSamplerRetain(), piTearDown(), _pi_plugin::PiVersion, _pi_plugin::PluginVersion, and SupportedVersion.

Referenced by cl::sycl::detail::pi::bindPlugin().

◆ piProgramBuild()

pi_result piProgramBuild ( pi_program  program,
pi_uint32  num_devices,
const pi_device device_list,
const char options,
void(*)(pi_program program, void *user_data)  pfn_notify,
void *  user_data 
)

◆ piProgramCompile()

pi_result piProgramCompile ( pi_program  program,
pi_uint32  num_devices,
const pi_device device_list,
const char options,
pi_uint32  num_input_headers,
const pi_program input_headers,
const char **  header_include_names,
void(*)(pi_program program, void *user_data)  pfn_notify,
void *  user_data 
)

◆ piProgramCreate()

◆ piProgramCreateWithBinary()

pi_result piProgramCreateWithBinary ( pi_context  context,
pi_uint32  num_devices,
const pi_device device_list,
const size_t *  lengths,
const unsigned char **  binaries,
size_t  num_metadata_entries,
const pi_device_binary_property metadata,
pi_int32 binary_status,
pi_program ret_program 
)

Creates a PI program for a context and loads the given binary into it.

Parameters
contextis the PI context to associate the program with.
num_devicesis the number of devices in device_list.
device_listis a pointer to a list of devices. These devices must all be in context.
lengthsis an array of sizes in bytes of the binary in binaries.
binariesis a pointer to a list of program binaries.
num_metadata_entriesis the number of metadata entries in metadata.
metadatais a pointer to a list of program metadata entries. The use of metadata entries is backend-defined.
binary_statusreturns whether the program binary was loaded succesfully or not, for each device in device_list. binary_status is ignored if it is null and otherwise it must be an array of num_devices elements.
ret_programis the PI program created from the program binaries.

Definition at line 976 of file pi_esimd_emulator.cpp.

References DIE_NO_IMPLEMENTATION, _pi_program::Native, PI_ASSERT, PI_ERROR_UNKNOWN, PI_INVALID_CONTEXT, PI_INVALID_OPERATION, PI_INVALID_PROGRAM, PI_INVALID_VALUE, PI_OUT_OF_HOST_MEMORY, and PI_SUCCESS.

Referenced by cl::sycl::detail::createBinaryProgram(), and piPluginInit().

◆ piProgramGetBuildInfo()

pi_result piProgramGetBuildInfo ( pi_program  program,
pi_device  device,
cl_program_build_info  param_name,
size_t  param_value_size,
void *  param_value,
size_t *  param_value_size_ret 
)

◆ piProgramGetInfo()

◆ piProgramLink()

pi_result piProgramLink ( pi_context  context,
pi_uint32  num_devices,
const pi_device device_list,
const char options,
pi_uint32  num_input_programs,
const pi_program input_programs,
void(*)(pi_program program, void *user_data)  pfn_notify,
void *  user_data,
pi_program ret_program 
)

◆ piProgramRelease()

◆ piProgramRetain()

◆ piQueueCreate()

◆ piQueueFinish()

◆ piQueueGetInfo()

◆ piQueueRelease()

◆ piQueueRetain()

◆ piSamplerCreate()

◆ piSamplerGetInfo()

pi_result piSamplerGetInfo ( pi_sampler  sampler,
pi_sampler_info  param_name,
size_t  param_value_size,
void *  param_value,
size_t *  param_value_size_ret 
)

◆ piSamplerRelease()

◆ piSamplerRetain()

◆ piTearDown()

pi_result piTearDown ( void *  PluginParameter)

API to notify that the plugin should clean up its resources.

No PI calls should be made until the next piPluginInit call.

Parameters
PluginParameterplaceholder for future use, currenly not used.

Definition at line 1532 of file pi_esimd_emulator.cpp.

References PI_SUCCESS, PiESimdDeviceAccess, PiPlatformsCache, and PiPlatformsCacheMutex.

Referenced by piPluginInit(), and cl::sycl::detail::shutdown().

Variable Documentation

◆ PI_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE

constexpr pi_device_affinity_domain PI_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE
staticconstexpr
Initial value:
=
CL_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE

Definition at line 622 of file pi.h.

Referenced by piDeviceGetInfo(), and piDevicePartition().

◆ PI_DEVICE_AFFINITY_DOMAIN_NUMA

constexpr pi_device_affinity_domain PI_DEVICE_AFFINITY_DOMAIN_NUMA
staticconstexpr
Initial value:
=
CL_DEVICE_AFFINITY_DOMAIN_NUMA

Definition at line 619 of file pi.h.

Referenced by piDeviceGetInfo(), and piDevicePartition().

◆ PI_DEVICE_BINARIES_VERSION

const uint16_t PI_DEVICE_BINARIES_VERSION = 1
static

Definition at line 835 of file pi.h.

◆ PI_DEVICE_BINARY_OFFLOAD_KIND_SYCL

const uint8_t PI_DEVICE_BINARY_OFFLOAD_KIND_SYCL = 4
static

◆ PI_DEVICE_BINARY_TYPE_LLVMIR_BITCODE

constexpr pi_device_binary_type PI_DEVICE_BINARY_TYPE_LLVMIR_BITCODE = 3
staticconstexpr

◆ PI_DEVICE_BINARY_TYPE_NATIVE

constexpr pi_device_binary_type PI_DEVICE_BINARY_TYPE_NATIVE = 1
staticconstexpr

Definition at line 671 of file pi.h.

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

◆ PI_DEVICE_BINARY_TYPE_NONE

◆ PI_DEVICE_BINARY_TYPE_SPIRV

◆ PI_DEVICE_BINARY_VERSION

const uint16_t PI_DEVICE_BINARY_VERSION = 1
static

◆ PI_DEVICE_EXEC_CAPABILITIES_KERNEL

constexpr pi_device_exec_capabilities PI_DEVICE_EXEC_CAPABILITIES_KERNEL
constexpr
Initial value:
=
CL_EXEC_KERNEL

Definition at line 516 of file pi.h.

◆ PI_DEVICE_EXEC_CAPABILITIES_NATIVE_KERNEL

constexpr pi_device_exec_capabilities PI_DEVICE_EXEC_CAPABILITIES_NATIVE_KERNEL = CL_EXEC_NATIVE_KERNEL
constexpr

Definition at line 519 of file pi.h.

Referenced by piDeviceGetInfo().

◆ PI_DEVICE_PARTITION_BY_AFFINITY_DOMAIN

constexpr pi_device_partition_property PI_DEVICE_PARTITION_BY_AFFINITY_DOMAIN
staticconstexpr
Initial value:
=
CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN

Definition at line 614 of file pi.h.

Referenced by cl::sycl::detail::device_impl::create_sub_devices(), piDeviceGetInfo(), and piDevicePartition().

◆ PI_DEVICE_PARTITION_EQUALLY

constexpr pi_device_partition_property PI_DEVICE_PARTITION_EQUALLY
staticconstexpr
Initial value:
=
CL_DEVICE_PARTITION_EQUALLY

Definition at line 611 of file pi.h.

◆ PI_FALSE

const pi_bool PI_FALSE = CL_FALSE

Definition at line 487 of file pi.h.

Referenced by cuda_piContextCreate(), hip_piContextCreate(), and piSamplerCreate().

◆ PI_MAP_READ

constexpr pi_map_flags PI_MAP_READ = CL_MAP_READ
constexpr

◆ PI_MAP_WRITE

constexpr pi_map_flags PI_MAP_WRITE = CL_MAP_WRITE
constexpr

◆ PI_MAP_WRITE_INVALIDATE_REGION

constexpr pi_map_flags PI_MAP_WRITE_INVALIDATE_REGION
constexpr
Initial value:
=
CL_MAP_WRITE_INVALIDATE_REGION

Definition at line 560 of file pi.h.

Referenced by cuda_piEnqueueMemUnmap(), hip_piEnqueueMemUnmap(), cl::sycl::detail::MemoryManager::map(), and piEnqueueMemBufferMap().

◆ PI_MEM_ACCESS_READ_ONLY

constexpr pi_mem_flags PI_MEM_ACCESS_READ_ONLY = CL_MEM_READ_ONLY
constexpr

Definition at line 550 of file pi.h.

Referenced by cl::sycl::detail::getMemObjCreationFlags(), and piMemBufferCreate().

◆ PI_MEM_FLAGS_ACCESS_RW

◆ PI_MEM_FLAGS_HOST_PTR_ALLOC

constexpr pi_mem_flags PI_MEM_FLAGS_HOST_PTR_ALLOC = CL_MEM_ALLOC_HOST_PTR
constexpr

◆ PI_MEM_FLAGS_HOST_PTR_COPY

◆ PI_MEM_FLAGS_HOST_PTR_USE

◆ PI_MEM_PROPERTIES_CHANNEL

constexpr pi_mem_properties PI_MEM_PROPERTIES_CHANNEL = CL_MEM_CHANNEL_INTEL
constexpr

◆ PI_MEMORY_ORDER_ACQ_REL

constexpr pi_memory_order_capabilities PI_MEMORY_ORDER_ACQ_REL = 0x08
constexpr

Definition at line 533 of file pi.h.

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

◆ PI_MEMORY_ORDER_ACQUIRE

constexpr pi_memory_order_capabilities PI_MEMORY_ORDER_ACQUIRE = 0x02
constexpr

Definition at line 531 of file pi.h.

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

◆ PI_MEMORY_ORDER_RELAXED

constexpr pi_memory_order_capabilities PI_MEMORY_ORDER_RELAXED = 0x01
constexpr

Definition at line 530 of file pi.h.

Referenced by cuda_piDeviceGetInfo(), and cl::sycl::detail::readMemoryOrderBitfield().

◆ PI_MEMORY_ORDER_RELEASE

constexpr pi_memory_order_capabilities PI_MEMORY_ORDER_RELEASE = 0x04
constexpr

Definition at line 532 of file pi.h.

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

◆ PI_MEMORY_ORDER_SEQ_CST

constexpr pi_memory_order_capabilities PI_MEMORY_ORDER_SEQ_CST = 0x10
constexpr

Definition at line 534 of file pi.h.

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

◆ PI_QUEUE_ON_DEVICE

constexpr pi_queue_properties PI_QUEUE_ON_DEVICE = CL_QUEUE_ON_DEVICE
constexpr

Definition at line 575 of file pi.h.

Referenced by piQueueCreate().

◆ PI_QUEUE_ON_DEVICE_DEFAULT

constexpr pi_queue_properties PI_QUEUE_ON_DEVICE_DEFAULT
constexpr
Initial value:
=
CL_QUEUE_ON_DEVICE_DEFAULT

Definition at line 576 of file pi.h.

Referenced by piQueueCreate().

◆ PI_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE

constexpr pi_queue_properties PI_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE
constexpr
Initial value:
=
CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE

Definition at line 571 of file pi.h.

Referenced by cl::sycl::detail::queue_impl::createQueue(), _pi_queue::isInOrderQueue(), piDeviceGetInfo(), and piQueueCreate().

◆ PI_QUEUE_PROFILING_ENABLE

constexpr pi_queue_properties PI_QUEUE_PROFILING_ENABLE
constexpr

◆ PI_SAMPLER_PROPERTIES_ADDRESSING_MODE

constexpr pi_sampler_properties PI_SAMPLER_PROPERTIES_ADDRESSING_MODE
constexpr
Initial value:
=
CL_SAMPLER_ADDRESSING_MODE

Definition at line 524 of file pi.h.

Referenced by cuda_piSamplerCreate(), hip_piSamplerCreate(), and piSamplerCreate().

◆ PI_SAMPLER_PROPERTIES_FILTER_MODE

constexpr pi_sampler_properties PI_SAMPLER_PROPERTIES_FILTER_MODE
constexpr
Initial value:
=
CL_SAMPLER_FILTER_MODE

Definition at line 526 of file pi.h.

Referenced by cuda_piSamplerCreate(), hip_piSamplerCreate(), and piSamplerCreate().

◆ PI_SAMPLER_PROPERTIES_NORMALIZED_COORDS

constexpr pi_sampler_properties PI_SAMPLER_PROPERTIES_NORMALIZED_COORDS
constexpr
Initial value:
=
CL_SAMPLER_NORMALIZED_COORDS

Definition at line 522 of file pi.h.

Referenced by cuda_piSamplerCreate(), hip_piSamplerCreate(), and piSamplerCreate().

◆ PI_TRUE