DPC++ Runtime
Runtime libraries for oneAPI DPC++
pi.h File Reference
#include <sycl/detail/export.hpp>
#include <cstddef>
#include <cstdint>
#include <variant>
#include <sycl/detail/pi_error.def>
#include <sycl/detail/pi.def>
Include dependency graph for pi.h:

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_mem_obj_property
 
struct  pi_ext_command_buffer_desc
 
struct  pi_ext_command_buffer_update_memobj_arg_desc_t
 
struct  pi_ext_command_buffer_update_pointer_arg_desc_t
 
struct  pi_ext_command_buffer_update_value_arg_desc_t
 
struct  pi_ext_command_buffer_update_kernel_launch_desc
 
struct  _pi_plugin
 
struct  _pi_plugin::FunctionPointers
 

Macros

#define _PI_H_VERSION_MAJOR   15
 
#define _PI_H_VERSION_MINOR   52
 
#define _PI_STRING_HELPER(a)   #a
 
#define _PI_CONCAT(a, b)   _PI_STRING_HELPER(a.b)
 
#define _PI_TRIPLE_CONCAT(a, b, c)   _PI_STRING_HELPER(a.b.c)
 
#define _PI_PLUGIN_VERSION_STRING(PluginVersion)    _PI_TRIPLE_CONCAT(_PI_H_VERSION_MAJOR, _PI_H_VERSION_MINOR, PluginVersion)
 
#define _PI_H_VERSION_STRING    _PI_CONCAT(_PI_H_VERSION_MAJOR, _PI_H_VERSION_MINOR)
 
#define _PI_STRING_SUBSTITUTE(X)   _PI_STRING_HELPER(X)
 
#define _PI_PLUGIN_VERSION_CHECK(PI_API_VERSION, PI_PLUGIN_VERSION)
 
#define _PI_ERRC(NAME, VAL)   NAME = VAL,
 
#define _PI_ERRC_WITH_MSG(NAME, VAL, MSG)   NAME = VAL,
 
#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 __SYCL_PI_DEVICE_BINARY_TARGET_NATIVE_CPU   "native_cpu"
 
#define PI_DEVICE_INFO_EXTENSION_DEVICELIB_ASSERT   "cl_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_PROPERTY_SET_SYCL_DEVICE_GLOBALS   "SYCL/device globals"
 PropertySetRegistry::SYCL_DEVICE_GLOBALS defined in PropertySetIO.h. More...
 
#define __SYCL_PI_PROPERTY_SET_SYCL_DEVICE_REQUIREMENTS    "SYCL/device requirements"
 PropertySetRegistry::SYCL_DEVICE_REQUIREMENTS defined in PropertySetIO.h. More...
 
#define __SYCL_PI_PROPERTY_SET_SYCL_HOST_PIPES   "SYCL/host pipes"
 PropertySetRegistry::SYCL_HOST_PIPES 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 __SYCL_PI_PROGRAM_METADATA_GLOBAL_ID_MAPPING   "@global_id_mapping"
 
#define __SYCL_PI_PROGRAM_METADATA_TAG_NEED_FINALIZATION   "Requires finalization"
 
#define PI_BIT(_i)   (1 << _i)
 
#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_memory_scope_capabilities = pi_bitfield
 
using pi_mem_flags = pi_bitfield
 
using pi_map_flags = pi_bitfield
 
using pi_mem_properties = pi_bitfield
 
using pi_usm_mem_properties = pi_bitfield
 
using pi_queue_properties = pi_bitfield
 
using pi_result = _pi_result
 
using pi_platform_info = _pi_platform_info
 
using pi_platform_backend = _pi_platform_backend
 
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_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_cubemap_filter_mode = _pi_sampler_cubemap_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_program_binary_type = _pi_program_binary_type
 
using pi_profiling_info = _pi_profiling_info
 
using pi_kernel_cache_config = _pi_kernel_cache_config
 
using pi_image_copy_flags = _pi_image_copy_flags
 
using pi_device_partition_property = intptr_t
 
using pi_device_affinity_domain = pi_bitfield
 
using pi_device_fp_config = 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_handle = pi_uint64
 
using pi_image_mem_handle = void *
 
using pi_interop_mem_handle = pi_uint64
 
using pi_interop_semaphore_handle = pi_uint64
 
using pi_image_format = _pi_image_format
 
using pi_image_desc = _pi_image_desc
 
using pi_mem_info = _pi_mem_info
 
using pi_peer_attr = _pi_peer_attr
 
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_mem_obj_access = _pi_mem_obj_access
 
typedef uint32_t pi_mem_access_flag
 
using pi_mem_obj_property_type = _pi_mem_obj_property_type
 
using pi_mem_obj_property = _pi_mem_obj_property
 
using pi_usm_capability_query = _pi_usm_capability_query
 
using pi_usm_capabilities = _pi_usm_capabilities
 
using pi_mem_alloc_info = _pi_mem_alloc_info
 
using pi_usm_type = _pi_usm_type
 
using pi_usm_migration_flags = _pi_usm_migration_flags
 
using pi_ext_command_buffer = _pi_ext_command_buffer *
 
using pi_ext_command_buffer_command = _pi_ext_command_buffer_command *
 
using pi_ext_sync_point = pi_uint32
 

Enumerations

enum  _pi_result
 
enum  _pi_event_status { PI_EVENT_COMPLETE = 0x0 , PI_EVENT_RUNNING = 0x1 , PI_EVENT_SUBMITTED = 0x2 , PI_EVENT_QUEUED = 0x3 }
 
enum  _pi_platform_info {
  PI_PLATFORM_INFO_EXTENSIONS = 0x0904 , PI_PLATFORM_INFO_NAME = 0x0902 , PI_PLATFORM_INFO_PROFILE = 0x0900 , PI_PLATFORM_INFO_VENDOR = 0x0903 ,
  PI_PLATFORM_INFO_VERSION = 0x0901 , PI_EXT_PLATFORM_INFO_BACKEND = 0x21000
}
 
enum  _pi_program_build_info { PI_PROGRAM_BUILD_INFO_STATUS = 0x1181 , PI_PROGRAM_BUILD_INFO_OPTIONS = 0x1182 , PI_PROGRAM_BUILD_INFO_LOG = 0x1183 , PI_PROGRAM_BUILD_INFO_BINARY_TYPE = 0x1184 }
 
enum  _pi_program_build_status { PI_PROGRAM_BUILD_STATUS_NONE = -1 , PI_PROGRAM_BUILD_STATUS_ERROR = -2 , PI_PROGRAM_BUILD_STATUS_SUCCESS = 0 , PI_PROGRAM_BUILD_STATUS_IN_PROGRESS = -3 }
 
enum  _pi_program_binary_type { PI_PROGRAM_BINARY_TYPE_NONE = 0x0 , PI_PROGRAM_BINARY_TYPE_COMPILED_OBJECT = 0x1 , PI_PROGRAM_BINARY_TYPE_LIBRARY = 0x2 , PI_PROGRAM_BINARY_TYPE_EXECUTABLE = 0x4 }
 
enum  _pi_device_type : pi_uint64 {
  PI_DEVICE_TYPE_DEFAULT , PI_DEVICE_TYPE_ALL = 0xFFFFFFFF , PI_DEVICE_TYPE_CPU = (1 << 1) , PI_DEVICE_TYPE_GPU = (1 << 2) ,
  PI_DEVICE_TYPE_ACC = (1 << 3) , PI_DEVICE_TYPE_CUSTOM = (1 << 4)
}
 
enum  _pi_platform_backend {
  PI_EXT_PLATFORM_BACKEND_UNKNOWN = 0 , PI_EXT_PLATFORM_BACKEND_LEVEL_ZERO = 1 , PI_EXT_PLATFORM_BACKEND_OPENCL = 2 , PI_EXT_PLATFORM_BACKEND_CUDA = 3 ,
  PI_EXT_PLATFORM_BACKEND_HIP = 4 , PI_EXT_PLATFORM_BACKEND_ESIMD = 5 , PI_EXT_PLATFORM_BACKEND_NATIVE_CPU = 6
}
 
enum  _pi_device_mem_cache_type { PI_DEVICE_MEM_CACHE_TYPE_NONE = 0x0 , PI_DEVICE_MEM_CACHE_TYPE_READ_ONLY_CACHE = 0x1 , PI_DEVICE_MEM_CACHE_TYPE_READ_WRITE_CACHE = 0x2 }
 
enum  _pi_device_local_mem_type { PI_DEVICE_LOCAL_MEM_TYPE_LOCAL = 0x1 , PI_DEVICE_LOCAL_MEM_TYPE_GLOBAL = 0x2 }
 
enum  _pi_device_info {
  PI_DEVICE_INFO_TYPE = 0x1000 , PI_DEVICE_INFO_VENDOR_ID = 0x1001 , PI_DEVICE_INFO_MAX_COMPUTE_UNITS = 0x1002 , PI_DEVICE_INFO_MAX_WORK_ITEM_DIMENSIONS = 0x1003 ,
  PI_DEVICE_INFO_MAX_WORK_ITEM_SIZES = 0x1005 , PI_DEVICE_INFO_MAX_WORK_GROUP_SIZE = 0x1004 , PI_DEVICE_INFO_SINGLE_FP_CONFIG = 0x101B , PI_DEVICE_INFO_HALF_FP_CONFIG = 0x1033 ,
  PI_DEVICE_INFO_DOUBLE_FP_CONFIG = 0x1032 , PI_DEVICE_INFO_QUEUE_PROPERTIES = 0x102A , PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_CHAR = 0x1006 , PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_SHORT = 0x1007 ,
  PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_INT = 0x1008 , PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_LONG = 0x1009 , PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_FLOAT = 0x100A , PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_DOUBLE = 0x100B ,
  PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_HALF = 0x1034 , PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_CHAR = 0x1036 , PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_SHORT = 0x1037 , PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_INT = 0x1038 ,
  PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_LONG = 0x1039 , PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_FLOAT = 0x103A , PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_DOUBLE = 0x103B , PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_HALF = 0x103C ,
  PI_DEVICE_INFO_MAX_CLOCK_FREQUENCY = 0x100C , PI_DEVICE_INFO_ADDRESS_BITS = 0x100D , PI_DEVICE_INFO_MAX_MEM_ALLOC_SIZE = 0x1010 , PI_DEVICE_INFO_IMAGE_SUPPORT = 0x1016 ,
  PI_DEVICE_INFO_MAX_READ_IMAGE_ARGS = 0x100E , PI_DEVICE_INFO_MAX_WRITE_IMAGE_ARGS = 0x100F , PI_DEVICE_INFO_IMAGE2D_MAX_WIDTH = 0x1011 , PI_DEVICE_INFO_IMAGE2D_MAX_HEIGHT = 0x1012 ,
  PI_DEVICE_INFO_IMAGE3D_MAX_WIDTH = 0x1013 , PI_DEVICE_INFO_IMAGE3D_MAX_HEIGHT = 0x1014 , PI_DEVICE_INFO_IMAGE3D_MAX_DEPTH = 0x1015 , PI_DEVICE_INFO_IMAGE_MAX_BUFFER_SIZE = 0x1040 ,
  PI_DEVICE_INFO_IMAGE_MAX_ARRAY_SIZE = 0x1041 , PI_DEVICE_INFO_MAX_SAMPLERS = 0x1018 , PI_DEVICE_INFO_MAX_PARAMETER_SIZE = 0x1017 , PI_DEVICE_INFO_MEM_BASE_ADDR_ALIGN = 0x1019 ,
  PI_DEVICE_INFO_GLOBAL_MEM_CACHE_TYPE = 0x101C , PI_DEVICE_INFO_GLOBAL_MEM_CACHELINE_SIZE = 0x101D , PI_DEVICE_INFO_GLOBAL_MEM_CACHE_SIZE = 0x101E , PI_DEVICE_INFO_GLOBAL_MEM_SIZE = 0x101F ,
  PI_DEVICE_INFO_MAX_CONSTANT_BUFFER_SIZE = 0x1020 , PI_DEVICE_INFO_MAX_CONSTANT_ARGS = 0x1021 , PI_DEVICE_INFO_LOCAL_MEM_TYPE = 0x1022 , PI_DEVICE_INFO_LOCAL_MEM_SIZE = 0x1023 ,
  PI_DEVICE_INFO_ERROR_CORRECTION_SUPPORT = 0x1024 , PI_DEVICE_INFO_HOST_UNIFIED_MEMORY = 0x1035 , PI_DEVICE_INFO_PROFILING_TIMER_RESOLUTION = 0x1025 , PI_DEVICE_INFO_ENDIAN_LITTLE = 0x1026 ,
  PI_DEVICE_INFO_AVAILABLE = 0x1027 , PI_DEVICE_INFO_COMPILER_AVAILABLE = 0x1028 , PI_DEVICE_INFO_LINKER_AVAILABLE = 0x103E , PI_DEVICE_INFO_EXECUTION_CAPABILITIES = 0x1029 ,
  PI_DEVICE_INFO_QUEUE_ON_DEVICE_PROPERTIES = 0x104E , PI_DEVICE_INFO_QUEUE_ON_HOST_PROPERTIES = 0x102A , PI_DEVICE_INFO_BUILT_IN_KERNELS = 0x103F , PI_DEVICE_INFO_PLATFORM = 0x1031 ,
  PI_DEVICE_INFO_REFERENCE_COUNT = 0x1047 , PI_DEVICE_INFO_IL_VERSION = 0x105B , PI_DEVICE_INFO_NAME = 0x102B , PI_DEVICE_INFO_VENDOR = 0x102C ,
  PI_DEVICE_INFO_DRIVER_VERSION = 0x102D , PI_DEVICE_INFO_PROFILE = 0x102E , PI_DEVICE_INFO_VERSION = 0x102F , PI_DEVICE_INFO_OPENCL_C_VERSION = 0x103D ,
  PI_DEVICE_INFO_EXTENSIONS = 0x1030 , PI_DEVICE_INFO_PRINTF_BUFFER_SIZE = 0x1049 , PI_DEVICE_INFO_PREFERRED_INTEROP_USER_SYNC = 0x1048 , PI_DEVICE_INFO_PARENT_DEVICE = 0x1042 ,
  PI_DEVICE_INFO_PARTITION_PROPERTIES = 0x1044 , PI_DEVICE_INFO_PARTITION_MAX_SUB_DEVICES = 0x1043 , PI_DEVICE_INFO_PARTITION_AFFINITY_DOMAIN = 0x1045 , PI_DEVICE_INFO_PARTITION_TYPE = 0x1046 ,
  PI_DEVICE_INFO_MAX_NUM_SUB_GROUPS = 0x105C , PI_DEVICE_INFO_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS = 0x105D , PI_DEVICE_INFO_SUB_GROUP_SIZES_INTEL = 0x4108 , PI_DEVICE_INFO_USM_HOST_SUPPORT = 0x4190 ,
  PI_DEVICE_INFO_USM_DEVICE_SUPPORT = 0x4191 , PI_DEVICE_INFO_USM_SINGLE_SHARED_SUPPORT = 0x4192 , PI_DEVICE_INFO_USM_CROSS_SHARED_SUPPORT = 0x4193 , PI_DEVICE_INFO_USM_SYSTEM_SHARED_SUPPORT = 0x4194 ,
  PI_DEVICE_INFO_UUID = 0x106A , PI_EXT_ONEAPI_DEVICE_INFO_IP_VERSION = 0x4250 , PI_DEVICE_INFO_DEVICE_ID = 0x4251 , 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_BUILD_ON_SUBDEVICE = 0x10028 ,
  PI_EXT_INTEL_DEVICE_INFO_FREE_MEMORY = 0x10029 , PI_EXT_INTEL_DEVICE_INFO_MEMORY_CLOCK_RATE = 0x10030 , PI_EXT_INTEL_DEVICE_INFO_MEMORY_BUS_WIDTH = 0x10031 , PI_EXT_INTEL_DEVICE_INFO_MAX_COMPUTE_QUEUE_INDICES = 0x10032 ,
  PI_DEVICE_INFO_ATOMIC_64 = 0x10110 , PI_EXT_DEVICE_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES = 0x10111 , PI_EXT_DEVICE_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES = 0x11000 , PI_DEVICE_INFO_GPU_HW_THREADS_PER_EU = 0x10112 ,
  PI_DEVICE_INFO_BACKEND_VERSION = 0x10113 , PI_EXT_ONEAPI_DEVICE_INFO_BFLOAT16_MATH_FUNCTIONS = 0x1FFFF , 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 , PI_EXT_ONEAPI_DEVICE_INFO_CUDA_ASYNC_BARRIER = 0x20004 , PI_EXT_CODEPLAY_DEVICE_INFO_SUPPORTS_FUSION = 0x20005 ,
  PI_EXT_DEVICE_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES = 0x20006 , PI_EXT_DEVICE_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES = 0x20007 , PI_EXT_INTEL_DEVICE_INFO_MEM_CHANNEL_SUPPORT = 0x20008 , PI_EXT_CODEPLAY_DEVICE_INFO_MAX_REGISTERS_PER_WORK_GROUP = 0x20009 ,
  PI_EXT_INTEL_DEVICE_INFO_ESIMD_SUPPORT = 0x2000A , PI_EXT_ONEAPI_DEVICE_INFO_WORK_GROUP_PROGRESS_AT_ROOT_GROUP_LEVEL = 0x2000B , PI_EXT_ONEAPI_DEVICE_INFO_SUB_GROUP_PROGRESS_AT_ROOT_GROUP_LEVEL = 0x2000C , PI_EXT_ONEAPI_DEVICE_INFO_SUB_GROUP_PROGRESS_AT_WORK_GROUP_LEVEL = 0x2000D ,
  PI_EXT_ONEAPI_DEVICE_INFO_WORK_ITEM_PROGRESS_AT_ROOT_GROUP_LEVEL = 0x2000E , PI_EXT_ONEAPI_DEVICE_INFO_WORK_ITEM_PROGRESS_AT_WORK_GROUP_LEVEL = 0x2000F , PI_EXT_ONEAPI_DEVICE_INFO_WORK_ITEM_PROGRESS_AT_SUB_GROUP_LEVEL = 0x20010 , PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_IMAGES_SUPPORT = 0x20100 ,
  PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_IMAGES_SHARED_USM_SUPPORT = 0x20101 , PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_IMAGES_1D_USM_SUPPORT = 0x20102 , PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_IMAGES_2D_USM_SUPPORT = 0x20103 , PI_EXT_ONEAPI_DEVICE_INFO_IMAGE_PITCH_ALIGN = 0x20104 ,
  PI_EXT_ONEAPI_DEVICE_INFO_MAX_IMAGE_LINEAR_WIDTH = 0x20105 , PI_EXT_ONEAPI_DEVICE_INFO_MAX_IMAGE_LINEAR_HEIGHT = 0x20106 , PI_EXT_ONEAPI_DEVICE_INFO_MAX_IMAGE_LINEAR_PITCH = 0x20107 , PI_EXT_ONEAPI_DEVICE_INFO_MIPMAP_SUPPORT = 0x20108 ,
  PI_EXT_ONEAPI_DEVICE_INFO_MIPMAP_ANISOTROPY_SUPPORT = 0x20109 , PI_EXT_ONEAPI_DEVICE_INFO_MIPMAP_MAX_ANISOTROPY = 0x2010A , PI_EXT_ONEAPI_DEVICE_INFO_MIPMAP_LEVEL_REFERENCE_SUPPORT = 0x2010B , PI_EXT_ONEAPI_DEVICE_INFO_INTEROP_MEMORY_IMPORT_SUPPORT = 0x2010C ,
  PI_EXT_ONEAPI_DEVICE_INFO_INTEROP_MEMORY_EXPORT_SUPPORT = 0x2010D , PI_EXT_ONEAPI_DEVICE_INFO_INTEROP_SEMAPHORE_IMPORT_SUPPORT = 0x2010E , PI_EXT_ONEAPI_DEVICE_INFO_INTEROP_SEMAPHORE_EXPORT_SUPPORT = 0x2010F , PI_EXT_ONEAPI_DEVICE_INFO_MATRIX_COMBINATIONS = 0x20110 ,
  PI_EXT_ONEAPI_DEVICE_INFO_COMPONENT_DEVICES = 0x20111 , PI_EXT_ONEAPI_DEVICE_INFO_COMPOSITE_DEVICE = 0x20112 , PI_EXT_ONEAPI_DEVICE_INFO_COMMAND_BUFFER_SUPPORT = 0x20113 , PI_EXT_ONEAPI_DEVICE_INFO_COMMAND_BUFFER_UPDATE_SUPPORT = 0x20114 ,
  PI_EXT_ONEAPI_DEVICE_INFO_CUBEMAP_SUPPORT = 0x20115 , PI_EXT_ONEAPI_DEVICE_INFO_CUBEMAP_SEAMLESS_FILTERING_SUPPORT = 0x20116 , PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_1D_USM = 0x20117 , PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_1D = 0x20118 ,
  PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_2D_USM = 0x20119 , PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_2D = 0x2011A , PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_3D_USM = 0x2011B , PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_3D = 0x2011C ,
  PI_EXT_ONEAPI_DEVICE_INFO_TIMESTAMP_RECORDING_SUPPORT = 0x2011D
}
 
enum  _pi_program_info {
  PI_PROGRAM_INFO_REFERENCE_COUNT = 0x1160 , PI_PROGRAM_INFO_CONTEXT = 0x1161 , PI_PROGRAM_INFO_NUM_DEVICES = 0x1162 , PI_PROGRAM_INFO_DEVICES = 0x1163 ,
  PI_PROGRAM_INFO_SOURCE = 0x1164 , PI_PROGRAM_INFO_BINARY_SIZES = 0x1165 , PI_PROGRAM_INFO_BINARIES = 0x1166 , PI_PROGRAM_INFO_NUM_KERNELS = 0x1167 ,
  PI_PROGRAM_INFO_KERNEL_NAMES = 0x1168
}
 
enum  _pi_context_info {
  PI_CONTEXT_INFO_DEVICES = 0x1081 , PI_CONTEXT_INFO_PLATFORM = 0x1084 , PI_CONTEXT_INFO_NUM_DEVICES = 0x1083 , PI_CONTEXT_INFO_PROPERTIES = 0x1082 ,
  PI_CONTEXT_INFO_REFERENCE_COUNT = 0x1080 , PI_EXT_CONTEXT_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES = 0x10010 , PI_EXT_CONTEXT_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES = 0x10011 , PI_EXT_CONTEXT_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES = 0x10012 ,
  PI_EXT_CONTEXT_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES = 0x10013 , PI_EXT_ONEAPI_CONTEXT_INFO_USM_FILL2D_SUPPORT = 0x30000 , PI_EXT_ONEAPI_CONTEXT_INFO_USM_MEMSET2D_SUPPORT = 0x30001 , PI_EXT_ONEAPI_CONTEXT_INFO_USM_MEMCPY2D_SUPPORT = 0x30002
}
 
enum  _pi_queue_info {
  PI_QUEUE_INFO_CONTEXT = 0x1090 , PI_QUEUE_INFO_DEVICE = 0x1091 , PI_QUEUE_INFO_DEVICE_DEFAULT = 0x1095 , PI_QUEUE_INFO_PROPERTIES = 0x1093 ,
  PI_QUEUE_INFO_REFERENCE_COUNT = 0x1092 , PI_QUEUE_INFO_SIZE = 0x1094 , PI_EXT_ONEAPI_QUEUE_INFO_EMPTY = 0x2096
}
 
enum  _pi_kernel_info {
  PI_KERNEL_INFO_FUNCTION_NAME = 0x1190 , PI_KERNEL_INFO_NUM_ARGS = 0x1191 , PI_KERNEL_INFO_REFERENCE_COUNT = 0x1192 , PI_KERNEL_INFO_CONTEXT = 0x1193 ,
  PI_KERNEL_INFO_PROGRAM = 0x1194 , PI_KERNEL_INFO_ATTRIBUTES = 0x1195
}
 
enum  _pi_kernel_group_info {
  PI_KERNEL_GROUP_INFO_GLOBAL_WORK_SIZE = 0x11B5 , PI_KERNEL_GROUP_INFO_WORK_GROUP_SIZE = 0x11B0 , PI_KERNEL_GROUP_INFO_COMPILE_WORK_GROUP_SIZE = 0x11B1 , PI_KERNEL_GROUP_INFO_LOCAL_MEM_SIZE = 0x11B2 ,
  PI_KERNEL_GROUP_INFO_PREFERRED_WORK_GROUP_SIZE_MULTIPLE = 0x11B3 , PI_KERNEL_GROUP_INFO_PRIVATE_MEM_SIZE = 0x11B4 , PI_KERNEL_GROUP_INFO_NUM_REGS = 0x10112
}
 
enum  _pi_image_info {
  PI_IMAGE_INFO_FORMAT = 0x1110 , PI_IMAGE_INFO_ELEMENT_SIZE = 0x1111 , PI_IMAGE_INFO_ROW_PITCH = 0x1112 , PI_IMAGE_INFO_SLICE_PITCH = 0x1113 ,
  PI_IMAGE_INFO_WIDTH = 0x1114 , PI_IMAGE_INFO_HEIGHT = 0x1115 , PI_IMAGE_INFO_DEPTH = 0x1116
}
 
enum  _pi_kernel_sub_group_info { PI_KERNEL_MAX_SUB_GROUP_SIZE = 0x2033 , PI_KERNEL_MAX_NUM_SUB_GROUPS = 0x11B9 , PI_KERNEL_COMPILE_NUM_SUB_GROUPS = 0x11BA , PI_KERNEL_COMPILE_SUB_GROUP_SIZE_INTEL = 0x410A }
 
enum  _pi_event_info {
  PI_EVENT_INFO_COMMAND_QUEUE = 0x11D0 , PI_EVENT_INFO_CONTEXT = 0x11D4 , PI_EVENT_INFO_COMMAND_TYPE = 0x11D1 , PI_EVENT_INFO_COMMAND_EXECUTION_STATUS = 0x11D3 ,
  PI_EVENT_INFO_REFERENCE_COUNT = 0x11D2
}
 
enum  _pi_command_type {
  PI_COMMAND_TYPE_NDRANGE_KERNEL = 0x11F0 , PI_COMMAND_TYPE_MEM_BUFFER_READ = 0x11F3 , PI_COMMAND_TYPE_MEM_BUFFER_WRITE = 0x11F4 , PI_COMMAND_TYPE_MEM_BUFFER_COPY = 0x11F5 ,
  PI_COMMAND_TYPE_MEM_BUFFER_MAP = 0x11FB , PI_COMMAND_TYPE_MEM_BUFFER_UNMAP = 0x11FD , PI_COMMAND_TYPE_MEM_BUFFER_READ_RECT = 0x1201 , PI_COMMAND_TYPE_MEM_BUFFER_WRITE_RECT = 0x1202 ,
  PI_COMMAND_TYPE_MEM_BUFFER_COPY_RECT = 0x1203 , PI_COMMAND_TYPE_USER = 0x1204 , PI_COMMAND_TYPE_MEM_BUFFER_FILL = 0x1207 , PI_COMMAND_TYPE_IMAGE_READ = 0x11F6 ,
  PI_COMMAND_TYPE_IMAGE_WRITE = 0x11F7 , PI_COMMAND_TYPE_IMAGE_COPY = 0x11F8 , PI_COMMAND_TYPE_NATIVE_KERNEL = 0x11F2 , PI_COMMAND_TYPE_COPY_BUFFER_TO_IMAGE = 0x11FA ,
  PI_COMMAND_TYPE_COPY_IMAGE_TO_BUFFER = 0x11F9 , PI_COMMAND_TYPE_MAP_IMAGE = 0x11FC , PI_COMMAND_TYPE_MARKER = 0x11FE , PI_COMMAND_TYPE_ACQUIRE_GL_OBJECTS = 0x11FF ,
  PI_COMMAND_TYPE_RELEASE_GL_OBJECTS = 0x1200 , PI_COMMAND_TYPE_BARRIER = 0x1205 , PI_COMMAND_TYPE_MIGRATE_MEM_OBJECTS = 0x1206 , PI_COMMAND_TYPE_FILL_IMAGE = 0x1208 ,
  PI_COMMAND_TYPE_SVM_FREE = 0x1209 , PI_COMMAND_TYPE_SVM_MEMCPY = 0x120A , PI_COMMAND_TYPE_SVM_MEMFILL = 0x120B , PI_COMMAND_TYPE_SVM_MAP = 0x120C ,
  PI_COMMAND_TYPE_SVM_UNMAP = 0x120D , PI_COMMAND_TYPE_EXT_COMMAND_BUFFER = 0x12A8 , PI_COMMAND_TYPE_DEVICE_GLOBAL_VARIABLE_READ = 0x418E , PI_COMMAND_TYPE_DEVICE_GLOBAL_VARIABLE_WRITE = 0x418F
}
 
enum  _pi_mem_type {
  PI_MEM_TYPE_BUFFER = 0x10F0 , PI_MEM_TYPE_IMAGE2D = 0x10F1 , PI_MEM_TYPE_IMAGE3D = 0x10F2 , PI_MEM_TYPE_IMAGE2D_ARRAY = 0x10F3 ,
  PI_MEM_TYPE_IMAGE1D = 0x10F4 , PI_MEM_TYPE_IMAGE1D_ARRAY = 0x10F5 , PI_MEM_TYPE_IMAGE1D_BUFFER = 0x10F6 , PI_MEM_TYPE_IMAGE_CUBEMAP = 0x10F7
}
 
enum  _pi_mem_advice {
  PI_MEM_ADVICE_RESET = 0 , PI_MEM_ADVICE_CUDA_SET_READ_MOSTLY = 1 << 0 , PI_MEM_ADVICE_CUDA_UNSET_READ_MOSTLY = 1 << 1 , PI_MEM_ADVICE_CUDA_SET_PREFERRED_LOCATION = 1 << 2 ,
  PI_MEM_ADVICE_CUDA_UNSET_PREFERRED_LOCATION = 1 << 3 , PI_MEM_ADVICE_CUDA_SET_ACCESSED_BY = 1 << 4 , PI_MEM_ADVICE_CUDA_UNSET_ACCESSED_BY = 1 << 5 , PI_MEM_ADVICE_CUDA_SET_PREFERRED_LOCATION_HOST = 1 << 6 ,
  PI_MEM_ADVICE_CUDA_UNSET_PREFERRED_LOCATION_HOST = 1 << 7 , PI_MEM_ADVICE_CUDA_SET_ACCESSED_BY_HOST = 1 << 8 , PI_MEM_ADVICE_CUDA_UNSET_ACCESSED_BY_HOST = 1 << 9 , PI_MEM_ADVICE_HIP_SET_COARSE_GRAINED = 1 << 10 ,
  PI_MEM_ADVICE_HIP_UNSET_COARSE_GRAINED = 1 << 11 , PI_MEM_ADVICE_UNKNOWN = 0x7FFFFFFF
}
 
enum  _pi_image_channel_order {
  PI_IMAGE_CHANNEL_ORDER_A = 0x10B1 , PI_IMAGE_CHANNEL_ORDER_R = 0x10B0 , PI_IMAGE_CHANNEL_ORDER_RG = 0x10B2 , PI_IMAGE_CHANNEL_ORDER_RA = 0x10B3 ,
  PI_IMAGE_CHANNEL_ORDER_RGB = 0x10B4 , PI_IMAGE_CHANNEL_ORDER_RGBA = 0x10B5 , PI_IMAGE_CHANNEL_ORDER_BGRA = 0x10B6 , PI_IMAGE_CHANNEL_ORDER_ARGB = 0x10B7 ,
  PI_IMAGE_CHANNEL_ORDER_ABGR = 0x10C3 , PI_IMAGE_CHANNEL_ORDER_INTENSITY = 0x10B8 , PI_IMAGE_CHANNEL_ORDER_LUMINANCE = 0x10B9 , PI_IMAGE_CHANNEL_ORDER_Rx = 0x10BA ,
  PI_IMAGE_CHANNEL_ORDER_RGx = 0x10BB , PI_IMAGE_CHANNEL_ORDER_RGBx = 0x10BC , PI_IMAGE_CHANNEL_ORDER_sRGBA = 0x10C1
}
 
enum  _pi_image_channel_type {
  PI_IMAGE_CHANNEL_TYPE_SNORM_INT8 = 0x10D0 , PI_IMAGE_CHANNEL_TYPE_SNORM_INT16 = 0x10D1 , PI_IMAGE_CHANNEL_TYPE_UNORM_INT8 = 0x10D2 , PI_IMAGE_CHANNEL_TYPE_UNORM_INT16 = 0x10D3 ,
  PI_IMAGE_CHANNEL_TYPE_UNORM_SHORT_565 = 0x10D4 , PI_IMAGE_CHANNEL_TYPE_UNORM_SHORT_555 = 0x10D5 , PI_IMAGE_CHANNEL_TYPE_UNORM_INT_101010 = 0x10D6 , PI_IMAGE_CHANNEL_TYPE_SIGNED_INT8 = 0x10D7 ,
  PI_IMAGE_CHANNEL_TYPE_SIGNED_INT16 = 0x10D8 , PI_IMAGE_CHANNEL_TYPE_SIGNED_INT32 = 0x10D9 , PI_IMAGE_CHANNEL_TYPE_UNSIGNED_INT8 = 0x10DA , PI_IMAGE_CHANNEL_TYPE_UNSIGNED_INT16 = 0x10DB ,
  PI_IMAGE_CHANNEL_TYPE_UNSIGNED_INT32 = 0x10DC , PI_IMAGE_CHANNEL_TYPE_HALF_FLOAT = 0x10DD , PI_IMAGE_CHANNEL_TYPE_FLOAT = 0x10DE
}
 
enum  _pi_image_copy_flags { PI_IMAGE_COPY_HOST_TO_DEVICE = 0 , PI_IMAGE_COPY_DEVICE_TO_HOST = 1 , PI_IMAGE_COPY_DEVICE_TO_DEVICE = 2 }
 
enum  _pi_buffer_create_type { PI_BUFFER_CREATE_TYPE_REGION = 0x1220 }
 
enum  _pi_sampler_info {
  PI_SAMPLER_INFO_REFERENCE_COUNT = 0x1150 , PI_SAMPLER_INFO_CONTEXT = 0x1151 , PI_SAMPLER_INFO_NORMALIZED_COORDS = 0x1152 , PI_SAMPLER_INFO_ADDRESSING_MODE = 0x1153 ,
  PI_SAMPLER_INFO_FILTER_MODE = 0x1154 , PI_SAMPLER_INFO_MIP_FILTER_MODE = 0x1155 , PI_SAMPLER_INFO_LOD_MIN = 0x1156 , PI_SAMPLER_INFO_LOD_MAX = 0x1157
}
 
enum  _pi_sampler_addressing_mode {
  PI_SAMPLER_ADDRESSING_MODE_MIRRORED_REPEAT = 0x1134 , PI_SAMPLER_ADDRESSING_MODE_REPEAT = 0x1133 , PI_SAMPLER_ADDRESSING_MODE_CLAMP_TO_EDGE = 0x1131 , PI_SAMPLER_ADDRESSING_MODE_CLAMP = 0x1132 ,
  PI_SAMPLER_ADDRESSING_MODE_NONE = 0x1130
}
 
enum  _pi_sampler_filter_mode { PI_SAMPLER_FILTER_MODE_NEAREST = 0x1140 , PI_SAMPLER_FILTER_MODE_LINEAR = 0x1141 }
 
enum  _pi_sampler_cubemap_filter_mode { PI_SAMPLER_CUBEMAP_FILTER_MODE_DISJOINTED = 0x1142 , PI_SAMPLER_CUBEMAP_FILTER_MODE_SEAMLESS = 0x1143 }
 
enum  _pi_profiling_info { PI_PROFILING_INFO_COMMAND_QUEUED = 0x1280 , PI_PROFILING_INFO_COMMAND_SUBMIT = 0x1281 , PI_PROFILING_INFO_COMMAND_START = 0x1282 , PI_PROFILING_INFO_COMMAND_END = 0x1283 }
 
enum  _pi_kernel_cache_config { PI_EXT_KERNEL_EXEC_INFO_CACHE_DEFAULT = 0x0 , PI_EXT_KERNEL_EXEC_INFO_CACHE_LARGE_SLM = 0x1 , PI_EXT_KERNEL_EXEC_INFO_CACHE_LARGE_DATA = 0x2 }
 
enum  pi_property_type { PI_PROPERTY_TYPE_UNKNOWN , PI_PROPERTY_TYPE_UINT32 , PI_PROPERTY_TYPE_BYTE_ARRAY , PI_PROPERTY_TYPE_STRING }
 
enum  _pi_mem_info { PI_MEM_CONTEXT = 0x1106 , PI_MEM_SIZE = 0x1102 }
 
enum  _pi_peer_attr { PI_PEER_ACCESS_SUPPORTED , PI_PEER_ATOMICS_SUPPORTED }
 
enum  _pi_kernel_exec_info { PI_USM_INDIRECT_ACCESS , PI_USM_PTRS = 0x4203 , PI_EXT_KERNEL_EXEC_INFO_CACHE_CONFIG = 0x4204 }
 
enum  _pi_mem_obj_access { PI_ACCESS_READ_WRITE = PI_BIT(0) , PI_ACCESS_WRITE_ONLY = PI_BIT(1) , PI_ACCESS_READ_ONLY = PI_BIT(2) }
 
enum  _pi_mem_obj_property_type { PI_KERNEL_ARG_MEM_OBJ_ACCESS = 27 , PI_ENUM_FORCE_UINT32 = 0x7fffffff }
 
enum  _pi_usm_capability_query {
  PI_USM_HOST_SUPPORT = 0x4190 , PI_USM_DEVICE_SUPPORT = 0x4191 , PI_USM_SINGLE_SHARED_SUPPORT = 0x4192 , PI_USM_CROSS_SHARED_SUPPORT = 0x4193 ,
  PI_USM_SYSTEM_SHARED_SUPPORT = 0x4194
}
 
enum  _pi_usm_capabilities : pi_bitfield { PI_USM_ACCESS = (1 << 0) , PI_USM_ATOMIC_ACCESS = (1 << 1) , PI_USM_CONCURRENT_ACCESS = (1 << 2) , PI_USM_CONCURRENT_ATOMIC_ACCESS = (1 << 3) }
 
enum  _pi_mem_alloc_info { PI_MEM_ALLOC_TYPE = 0x419A , PI_MEM_ALLOC_BASE_PTR = 0x419B , PI_MEM_ALLOC_SIZE = 0x419C , PI_MEM_ALLOC_DEVICE = 0x419D }
 
enum  _pi_usm_type { PI_MEM_TYPE_UNKNOWN = 0x4196 , PI_MEM_TYPE_HOST = 0x4197 , PI_MEM_TYPE_DEVICE = 0x4198 , PI_MEM_TYPE_SHARED = 0x4199 }
 
enum  _pi_usm_migration_flags : pi_bitfield { PI_USM_MIGRATION_TBD0 = (1 << 0) }
 
enum  pi_ext_structure_type { PI_EXT_STRUCTURE_TYPE_COMMAND_BUFFER_DESC = 0 }
 
enum  _pi_sanitize_type { _PI_SANITIZE_TYPE_NONE = 0x0 , _PI_SANITIZE_TYPE_ADDRESS = 0x1 , _PI_SANITIZE_TYPE_MEMORY = 0x2 , _PI_SANITIZE_TYPE_THREAD = 0x3 }
 

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 piextEnablePeerAccess (pi_device command_device, pi_device peer_device)
 
pi_result piextDisablePeerAccess (pi_device command_device, pi_device peer_device)
 
pi_result piextPeerAccessGetInfo (pi_device command_device, pi_device peer_device, pi_peer_attr attr, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
 
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 piextGetGlobalVariablePointer (pi_device Device, pi_program Program, const char *GlobalVariableName, size_t *GlobalVariableSize, void **GlobalVariablePointerRet)
 
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 piextQueueCreate (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 piQueueFlush (pi_queue command_queue)
 
pi_result piextQueueGetNativeHandle (pi_queue queue, pi_native_handle *nativeHandle, int32_t *nativeHandleDesc)
 Gets the native handle of a PI queue object. More...
 
pi_result piextQueueCreateWithNativeHandle (pi_native_handle nativeHandle, int32_t nativeHandleDesc, pi_context context, pi_device device, bool pluginOwnsNativeHandle, pi_queue_properties *Properties, pi_queue *queue)
 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, pi_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_device dev, pi_native_handle *nativeHandle)
 Gets the native handle of a PI mem object. More...
 
pi_result piextMemCreateWithNativeHandle (pi_native_handle nativeHandle, pi_context context, bool ownNativeHandle, pi_mem *mem)
 Creates PI mem object from a native handle. More...
 
pi_result piextMemImageCreateWithNativeHandle (pi_native_handle nativeHandle, pi_context context, bool ownNativeHandle, const pi_image_format *ImageFormat, const pi_image_desc *ImageDesc, pi_mem *img)
 Creates PI image object from a native handle. More...
 
pi_result piProgramCreate (pi_context context, const void *il, size_t length, pi_program *res_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, _pi_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 piextKernelSuggestMaxCooperativeGroupCount (pi_kernel kernel, size_t local_work_size, size_t dynamic_shared_memory_size, pi_uint32 *group_count_ret)
 Gets the max work group count for a cooperative kernel. More...
 
pi_result piEventCreate (pi_context context, pi_event *ret_event)
 Create PI event object in a signalled/completed state. More...
 
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 piEnqueueTimestampRecordingExp (pi_queue queue, pi_bool blocking, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, 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 piextEnqueueCooperativeKernelLaunch (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 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_obj_property *arg_properties, 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 piextUSMPitchedAlloc (void **result_ptr, size_t *result_pitch, pi_context context, pi_device device, pi_usm_mem_properties *properties, size_t width_in_bytes, size_t height, unsigned int element_size_bytes)
 Allocates memory accessible on device. More...
 
pi_result piextUSMFree (pi_context context, void *ptr)
 Indicates that the allocated USM memory is no longer needed on the runtime side. 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_alloc_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 piextUSMEnqueueFill2D (pi_queue queue, void *ptr, size_t pitch, size_t pattern_size, const void *pattern, size_t width, size_t height, pi_uint32 num_events_in_waitlist, const pi_event *events_waitlist, pi_event *event)
 USM 2D fill API. More...
 
pi_result piextUSMEnqueueMemset2D (pi_queue queue, void *ptr, size_t pitch, int value, size_t width, size_t height, pi_uint32 num_events_in_waitlist, const pi_event *events_waitlist, pi_event *event)
 USM 2D Memset API. More...
 
pi_result piextUSMEnqueueMemcpy2D (pi_queue queue, pi_bool blocking, void *dst_ptr, size_t dst_pitch, const void *src_ptr, size_t src_pitch, size_t width, size_t height, pi_uint32 num_events_in_waitlist, const pi_event *events_waitlist, pi_event *event)
 USM 2D Memcpy API. More...
 
pi_result piextUSMImport (const void *ptr, size_t size, pi_context context)
 Import host system memory into USM. More...
 
pi_result piextUSMRelease (const void *ptr, pi_context context)
 Release host system memory from USM. More...
 
pi_result piextEnqueueDeviceGlobalVariableWrite (pi_queue queue, pi_program program, const char *name, pi_bool blocking_write, size_t count, size_t offset, const void *src, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event)
 Device global variable. More...
 
pi_result piextEnqueueDeviceGlobalVariableRead (pi_queue queue, pi_program program, const char *name, pi_bool blocking_read, size_t count, size_t offset, void *dst, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event)
 API reading data from a device global variable to host. More...
 
pi_result piextEnqueueReadHostPipe (pi_queue queue, pi_program program, const char *pipe_symbol, pi_bool blocking, void *ptr, size_t size, pi_uint32 num_events_in_waitlist, const pi_event *events_waitlist, pi_event *event)
 Plugin. More...
 
pi_result piextEnqueueWriteHostPipe (pi_queue queue, pi_program program, const char *pipe_symbol, pi_bool blocking, void *ptr, size_t size, pi_uint32 num_events_in_waitlist, const pi_event *events_waitlist, pi_event *event)
 Write to pipe of a given name. 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...
 
pi_result piPluginGetLastError (char **message)
 API to get Plugin specific warning and error messages. More...
 
pi_result piPluginGetBackendOption (pi_platform platform, const char *frontend_option, const char **backend_option)
 API to get backend specific option. More...
 
pi_result piGetDeviceAndHostTimer (pi_device Device, uint64_t *DeviceTime, uint64_t *HostTime)
 Queries device for it's global timestamp in nanoseconds, and updates HostTime with the value of the host timer at the closest possible point in time to that at which DeviceTime was returned. More...
 
pi_result piextCommandBufferCreate (pi_context context, pi_device device, const pi_ext_command_buffer_desc *desc, pi_ext_command_buffer *ret_command_buffer)
 API to create a command-buffer. More...
 
pi_result piextCommandBufferRetain (pi_ext_command_buffer command_buffer)
 API to increment the reference count of the command-buffer. More...
 
pi_result piextCommandBufferRelease (pi_ext_command_buffer command_buffer)
 API to decrement the reference count of the command-buffer. More...
 
pi_result piextCommandBufferFinalize (pi_ext_command_buffer command_buffer)
 API to stop command-buffer recording such that no more commands can be appended, and makes the command-buffer ready to enqueue on a command-queue. More...
 
pi_result piextCommandBufferNDRangeKernel (pi_ext_command_buffer command_buffer, 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_sync_points_in_wait_list, const pi_ext_sync_point *sync_point_wait_list, pi_ext_sync_point *sync_point, pi_ext_command_buffer_command *command)
 API to append a kernel execution command to the command-buffer. More...
 
pi_result piextCommandBufferMemcpyUSM (pi_ext_command_buffer command_buffer, void *dst_ptr, const void *src_ptr, size_t size, pi_uint32 num_sync_points_in_wait_list, const pi_ext_sync_point *sync_point_wait_list, pi_ext_sync_point *sync_point)
 API to append a USM memcpy command to the command-buffer. More...
 
pi_result piextCommandBufferMemBufferCopy (pi_ext_command_buffer command_buffer, pi_mem src_buffer, pi_mem dst_buffer, size_t src_offset, size_t dst_offset, size_t size, pi_uint32 num_sync_points_in_wait_list, const pi_ext_sync_point *sync_point_wait_list, pi_ext_sync_point *sync_point)
 API to append a mem buffer copy command to the command-buffer. More...
 
pi_result piextCommandBufferMemBufferCopyRect (pi_ext_command_buffer command_buffer, 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_sync_points_in_wait_list, const pi_ext_sync_point *sync_point_wait_list, pi_ext_sync_point *sync_point)
 API to append a rectangular mem buffer copy command to the command-buffer. More...
 
pi_result piextCommandBufferMemBufferRead (pi_ext_command_buffer command_buffer, pi_mem buffer, size_t offset, size_t size, void *dst, pi_uint32 num_sync_points_in_wait_list, const pi_ext_sync_point *sync_point_wait_list, pi_ext_sync_point *sync_point)
 API to append a mem buffer read command to the command-buffer. More...
 
pi_result piextCommandBufferMemBufferReadRect (pi_ext_command_buffer command_buffer, pi_mem buffer, 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_sync_points_in_wait_list, const pi_ext_sync_point *sync_point_wait_list, pi_ext_sync_point *sync_point)
 API to append a rectangular mem buffer read command to the command-buffer. More...
 
pi_result piextCommandBufferMemBufferWrite (pi_ext_command_buffer command_buffer, pi_mem buffer, size_t offset, size_t size, const void *ptr, pi_uint32 num_sync_points_in_wait_list, const pi_ext_sync_point *sync_point_wait_list, pi_ext_sync_point *sync_point)
 API to append a mem buffer write command to the command-buffer. More...
 
pi_result piextCommandBufferMemBufferWriteRect (pi_ext_command_buffer command_buffer, pi_mem buffer, 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_sync_points_in_wait_list, const pi_ext_sync_point *sync_point_wait_list, pi_ext_sync_point *sync_point)
 API to append a rectangular mem buffer write command to the command-buffer. More...
 
pi_result piextCommandBufferMemBufferFill (pi_ext_command_buffer command_buffer, pi_mem buffer, const void *pattern, size_t pattern_size, size_t offset, size_t size, pi_uint32 num_sync_points_in_wait_list, const pi_ext_sync_point *sync_point_wait_list, pi_ext_sync_point *sync_point)
 API to append a mem buffer fill command to the command-buffer. More...
 
pi_result piextCommandBufferFillUSM (pi_ext_command_buffer command_buffer, void *ptr, const void *pattern, size_t pattern_size, size_t size, pi_uint32 num_sync_points_in_wait_list, const pi_ext_sync_point *sync_point_wait_list, pi_ext_sync_point *sync_point)
 API to append a USM fill command to the command-buffer. More...
 
pi_result piextCommandBufferPrefetchUSM (pi_ext_command_buffer command_buffer, const void *ptr, size_t size, pi_usm_migration_flags flags, pi_uint32 num_sync_points_in_wait_list, const pi_ext_sync_point *sync_point_wait_list, pi_ext_sync_point *sync_point)
 API to append a USM Prefetch command to the command-buffer. More...
 
pi_result piextCommandBufferAdviseUSM (pi_ext_command_buffer command_buffer, const void *ptr, size_t length, pi_mem_advice advice, pi_uint32 num_sync_points_in_wait_list, const pi_ext_sync_point *sync_point_wait_list, pi_ext_sync_point *sync_point)
 API to append a USM Advise command to the command-buffer. More...
 
pi_result piextEnqueueCommandBuffer (pi_ext_command_buffer command_buffer, pi_queue queue, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event)
 API to submit the command-buffer to queue for execution, returns an error if the command-buffer is not finalized or another instance of the same command-buffer is currently executing. More...
 
pi_result piextCommandBufferUpdateKernelLaunch (pi_ext_command_buffer_command command, pi_ext_command_buffer_update_kernel_launch_desc *desc)
 API to update a kernel launch command inside of a command-buffer. More...
 
pi_result piextCommandBufferRetainCommand (pi_ext_command_buffer_command command)
 API to increment the reference count of a command-buffer command. More...
 
pi_result piextCommandBufferReleaseCommand (pi_ext_command_buffer_command command)
 API to decrement the reference count of a command-buffer command. More...
 
pi_result piextMemUnsampledImageHandleDestroy (pi_context context, pi_device device, pi_image_handle handle)
 API to destroy bindless unsampled image handles. More...
 
pi_result piextMemSampledImageHandleDestroy (pi_context context, pi_device device, pi_image_handle handle)
 API to destroy bindless sampled image handles. More...
 
pi_result piextMemImageAllocate (pi_context context, pi_device device, pi_image_format *image_format, pi_image_desc *image_desc, pi_image_mem_handle *ret_mem)
 API to allocate memory for bindless images. More...
 
pi_result piextMemMipmapGetLevel (pi_context context, pi_device device, pi_image_mem_handle mip_mem, unsigned int level, pi_image_mem_handle *ret_mem)
 API to retrieve individual image from mipmap. More...
 
pi_result piextMemImageFree (pi_context context, pi_device device, pi_image_mem_handle memory_handle)
 API to free memory for bindless images. More...
 
pi_result piextMemMipmapFree (pi_context context, pi_device device, pi_image_mem_handle memory_handle)
 API to free mipmap memory for bindless images. More...
 
pi_result piextMemUnsampledImageCreate (pi_context context, pi_device device, pi_image_mem_handle img_mem, pi_image_format *image_format, pi_image_desc *image_desc, pi_image_handle *ret_handle)
 API to create bindless image handles. More...
 
pi_result piextMemSampledImageCreate (pi_context context, pi_device device, pi_image_mem_handle img_mem, pi_image_format *image_format, pi_image_desc *image_desc, pi_sampler sampler, pi_image_handle *ret_handle)
 API to create sampled bindless image handles. More...
 
pi_result piextBindlessImageSamplerCreate (pi_context context, const pi_sampler_properties *sampler_properties, float min_mipmap_level_clamp, float max_mipmap_level_clamp, float max_anisotropy, pi_sampler *result_sampler)
 API to create samplers for bindless images. More...
 
pi_result piextMemImageCopy (pi_queue command_queue, void *dst_ptr, void *src_ptr, const pi_image_format *image_format, const pi_image_desc *image_desc, const pi_image_copy_flags flags, pi_image_offset src_offset, pi_image_offset dst_offset, pi_image_region copy_extent, pi_image_region host_extent, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event)
 API to copy image data Host to Device or Device to Host. More...
 
pi_result piextMemImageGetInfo (const pi_image_mem_handle mem_handle, pi_image_info param_name, void *param_value, size_t *param_value_size_ret)
 API to query an image memory handle for specific properties. More...
 
pi_result piextMemImportOpaqueFD (pi_context context, pi_device device, size_t size, int file_descriptor, pi_interop_mem_handle *ret_handle)
 API to import external memory in the form of a file descriptor. More...
 
pi_result piextMemMapExternalArray (pi_context context, pi_device device, pi_image_format *image_format, pi_image_desc *image_desc, pi_interop_mem_handle mem_handle, pi_image_mem_handle *ret_mem)
 API to map an interop memory handle to an image memory handle. More...
 
pi_result piextMemReleaseInterop (pi_context context, pi_device device, pi_interop_mem_handle memory_handle)
 API to destroy interop memory. More...
 
pi_result piextImportExternalSemaphoreOpaqueFD (pi_context context, pi_device device, int file_descriptor, pi_interop_semaphore_handle *ret_handle)
 API to import an external semaphore in the form of a file descriptor. More...
 
pi_result piextDestroyExternalSemaphore (pi_context context, pi_device device, pi_interop_semaphore_handle sem_handle)
 API to destroy the external semaphore handle. More...
 
pi_result piextWaitExternalSemaphore (pi_queue command_queue, pi_interop_semaphore_handle sem_handle, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event)
 API to instruct the queue with a non-blocking wait on an external semaphore. More...
 
pi_result piextSignalExternalSemaphore (pi_queue command_queue, pi_interop_semaphore_handle sem_handle, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event)
 API to instruct the queue to signal the external semaphore handle once all previous commands have completed execution. More...
 

Variables

static constexpr _pi_mem_advice PI_MEM_ADVICE_HIP_SET_READ_MOSTLY
 
static constexpr _pi_mem_advice PI_MEM_ADVICE_HIP_UNSET_READ_MOSTLY
 
static constexpr _pi_mem_advice PI_MEM_ADVICE_HIP_SET_PREFERRED_LOCATION
 
static constexpr _pi_mem_advice PI_MEM_ADVICE_HIP_UNSET_PREFERRED_LOCATION
 
static constexpr _pi_mem_advice PI_MEM_ADVICE_HIP_SET_ACCESSED_BY
 
static constexpr _pi_mem_advice PI_MEM_ADVICE_HIP_UNSET_ACCESSED_BY
 
static constexpr _pi_mem_advice PI_MEM_ADVICE_HIP_SET_PREFERRED_LOCATION_HOST
 
static constexpr _pi_mem_advice PI_MEM_ADVICE_HIP_UNSET_PREFERRED_LOCATION_HOST
 
static constexpr _pi_mem_advice PI_MEM_ADVICE_HIP_SET_ACCESSED_BY_HOST
 
static constexpr _pi_mem_advice PI_MEM_ADVICE_HIP_UNSET_ACCESSED_BY_HOST
 
const pi_bool PI_TRUE = 1
 
const pi_bool PI_FALSE = 0
 
constexpr pi_device_exec_capabilities PI_DEVICE_EXEC_CAPABILITIES_KERNEL
 
constexpr pi_device_exec_capabilities PI_DEVICE_EXEC_CAPABILITIES_NATIVE_KERNEL = (1 << 1)
 
constexpr pi_sampler_properties PI_SAMPLER_PROPERTIES_NORMALIZED_COORDS
 
constexpr pi_sampler_properties PI_SAMPLER_PROPERTIES_ADDRESSING_MODE = 0x1153
 
constexpr pi_sampler_properties PI_SAMPLER_PROPERTIES_FILTER_MODE = 0x1154
 
constexpr pi_sampler_properties PI_SAMPLER_PROPERTIES_MIP_FILTER_MODE = 0x1155
 
constexpr pi_sampler_properties PI_SAMPLER_PROPERTIES_CUBEMAP_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_memory_scope_capabilities PI_MEMORY_SCOPE_WORK_ITEM = 0x01
 
constexpr pi_memory_scope_capabilities PI_MEMORY_SCOPE_SUB_GROUP = 0x02
 
constexpr pi_memory_scope_capabilities PI_MEMORY_SCOPE_WORK_GROUP = 0x04
 
constexpr pi_memory_scope_capabilities PI_MEMORY_SCOPE_DEVICE = 0x08
 
constexpr pi_memory_scope_capabilities PI_MEMORY_SCOPE_SYSTEM = 0x10
 
constexpr pi_mem_flags PI_MEM_FLAGS_ACCESS_RW = (1 << 0)
 
constexpr pi_mem_flags PI_MEM_ACCESS_READ_ONLY = (1 << 2)
 
constexpr pi_mem_flags PI_MEM_FLAGS_HOST_PTR_USE = (1 << 3)
 
constexpr pi_mem_flags PI_MEM_FLAGS_HOST_PTR_COPY = (1 << 5)
 
constexpr pi_mem_flags PI_MEM_FLAGS_HOST_PTR_ALLOC = (1 << 4)
 
constexpr pi_map_flags PI_MAP_READ = (1 << 0)
 
constexpr pi_map_flags PI_MAP_WRITE = (1 << 1)
 
constexpr pi_map_flags PI_MAP_WRITE_INVALIDATE_REGION = (1 << 2)
 
constexpr pi_mem_properties PI_MEM_PROPERTIES_CHANNEL = 0x4213
 
constexpr pi_mem_properties PI_MEM_PROPERTIES_ALLOC_BUFFER_LOCATION = 0x419E
 
constexpr pi_usm_mem_properties PI_MEM_ALLOC_FLAGS = 0x4195
 
constexpr pi_usm_mem_properties PI_MEM_ALLOC_WRTITE_COMBINED = (1 << 0)
 
constexpr pi_usm_mem_properties PI_MEM_ALLOC_INITIAL_PLACEMENT_DEVICE
 
constexpr pi_usm_mem_properties PI_MEM_ALLOC_INITIAL_PLACEMENT_HOST = (1 << 2)
 
constexpr pi_usm_mem_properties PI_MEM_ALLOC_DEVICE_READ_ONLY = (1 << 3)
 
constexpr pi_usm_mem_properties PI_MEM_USM_ALLOC_BUFFER_LOCATION = 0x419E
 
constexpr pi_queue_properties PI_QUEUE_FLAGS = -1
 
constexpr pi_queue_properties PI_QUEUE_COMPUTE_INDEX = -2
 
constexpr pi_queue_properties PI_QUEUE_FLAG_OUT_OF_ORDER_EXEC_MODE_ENABLE = (1 << 0)
 
constexpr pi_queue_properties PI_QUEUE_FLAG_PROFILING_ENABLE = (1 << 1)
 
constexpr pi_queue_properties PI_QUEUE_FLAG_ON_DEVICE = (1 << 2)
 
constexpr pi_queue_properties PI_QUEUE_FLAG_ON_DEVICE_DEFAULT = (1 << 3)
 
constexpr pi_queue_properties PI_EXT_ONEAPI_QUEUE_FLAG_DISCARD_EVENTS = (1 << 4)
 
constexpr pi_queue_properties PI_EXT_ONEAPI_QUEUE_FLAG_PRIORITY_LOW = (1 << 5)
 
constexpr pi_queue_properties PI_EXT_ONEAPI_QUEUE_FLAG_PRIORITY_HIGH = (1 << 6)
 
constexpr pi_queue_properties PI_EXT_QUEUE_FLAG_SUBMISSION_NO_IMMEDIATE = (1 << 7)
 
constexpr pi_queue_properties PI_EXT_QUEUE_FLAG_SUBMISSION_IMMEDIATE = (1 << 8)
 
static constexpr pi_device_partition_property PI_DEVICE_PARTITION_EQUALLY
 
static constexpr pi_device_partition_property PI_DEVICE_PARTITION_BY_COUNTS
 
static constexpr pi_device_partition_property PI_DEVICE_PARTITION_BY_COUNTS_LIST_END = 0x0
 
static constexpr pi_device_partition_property PI_DEVICE_PARTITION_BY_AFFINITY_DOMAIN = 0x1088
 
static constexpr pi_device_partition_property PI_EXT_INTEL_DEVICE_PARTITION_BY_CSLICE = 0x1089
 
static constexpr pi_device_affinity_domain PI_DEVICE_AFFINITY_DOMAIN_NUMA
 
static constexpr pi_device_affinity_domain PI_DEVICE_AFFINITY_DOMAIN_L4_CACHE
 
static constexpr pi_device_affinity_domain PI_DEVICE_AFFINITY_DOMAIN_L3_CACHE
 
static constexpr pi_device_affinity_domain PI_DEVICE_AFFINITY_DOMAIN_L2_CACHE
 
static constexpr pi_device_affinity_domain PI_DEVICE_AFFINITY_DOMAIN_L1_CACHE
 
static constexpr pi_device_affinity_domain PI_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE = (1 << 5)
 
static constexpr pi_device_fp_config PI_FP_DENORM = (1 << 0)
 
static constexpr pi_device_fp_config PI_FP_INF_NAN = (1 << 1)
 
static constexpr pi_device_fp_config PI_FP_ROUND_TO_NEAREST = (1 << 2)
 
static constexpr pi_device_fp_config PI_FP_ROUND_TO_ZERO = (1 << 3)
 
static constexpr pi_device_fp_config PI_FP_ROUND_TO_INF = (1 << 4)
 
static constexpr pi_device_fp_config PI_FP_FMA = (1 << 5)
 
static constexpr pi_device_fp_config PI_FP_SOFT_FLOAT = (1 << 6)
 
static constexpr pi_device_fp_config PI_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT
 
static constexpr pi_device_exec_capabilities PI_EXEC_KERNEL = (1 << 0)
 
static constexpr pi_device_exec_capabilities PI_EXEC_NATIVE_KERNEL = (1 << 1)
 
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 1002 of file pi.h.

◆ __SYCL_PI_DEVICE_BINARY_TARGET_NATIVE_CPU

#define __SYCL_PI_DEVICE_BINARY_TARGET_NATIVE_CPU   "native_cpu"

Definition at line 1003 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 1001 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 992 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 994 of file pi.h.

◆ __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_FPGA

#define __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_FPGA   "spir64_fpga"

Definition at line 999 of file pi.h.

◆ __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_GEN

#define __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_GEN   "spir64_gen"

Definition at line 998 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 997 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 990 of file pi.h.

◆ __SYCL_PI_PROGRAM_METADATA_GLOBAL_ID_MAPPING

#define __SYCL_PI_PROGRAM_METADATA_GLOBAL_ID_MAPPING   "@global_id_mapping"

Definition at line 1043 of file pi.h.

◆ __SYCL_PI_PROGRAM_METADATA_TAG_NEED_FINALIZATION

#define __SYCL_PI_PROGRAM_METADATA_TAG_NEED_FINALIZATION   "Requires finalization"

Definition at line 1045 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 1041 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 1020 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 1022 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 1024 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 1017 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 1014 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 1028 of file pi.h.

◆ __SYCL_PI_PROPERTY_SET_SYCL_DEVICE_GLOBALS

#define __SYCL_PI_PROPERTY_SET_SYCL_DEVICE_GLOBALS   "SYCL/device globals"

PropertySetRegistry::SYCL_DEVICE_GLOBALS defined in PropertySetIO.h.

Definition at line 1032 of file pi.h.

◆ __SYCL_PI_PROPERTY_SET_SYCL_DEVICE_REQUIREMENTS

#define __SYCL_PI_PROPERTY_SET_SYCL_DEVICE_REQUIREMENTS    "SYCL/device requirements"

PropertySetRegistry::SYCL_DEVICE_REQUIREMENTS defined in PropertySetIO.h.

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

◆ __SYCL_PI_PROPERTY_SET_SYCL_HOST_PIPES

#define __SYCL_PI_PROPERTY_SET_SYCL_HOST_PIPES   "SYCL/host pipes"

PropertySetRegistry::SYCL_HOST_PIPES defined in PropertySetIO.h.

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

◆ _PI_API

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

Definition at line 2961 of file pi.h.

◆ _PI_CONCAT

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

Definition at line 184 of file pi.h.

◆ _PI_ERRC

#define _PI_ERRC (   NAME,
  VAL 
)    NAME = VAL,

Definition at line 236 of file pi.h.

◆ _PI_ERRC_WITH_MSG

#define _PI_ERRC_WITH_MSG (   NAME,
  VAL,
  MSG 
)    NAME = VAL,

Definition at line 237 of file pi.h.

◆ _PI_H_VERSION_MAJOR

#define _PI_H_VERSION_MAJOR   15

Definition at line 180 of file pi.h.

◆ _PI_H_VERSION_MINOR

#define _PI_H_VERSION_MINOR   52

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

◆ _PI_PLUGIN_VERSION_CHECK

#define _PI_PLUGIN_VERSION_CHECK (   PI_API_VERSION,
  PI_PLUGIN_VERSION 
)
Value:
if (strncmp(PI_API_VERSION, PI_PLUGIN_VERSION, \
return PI_ERROR_INVALID_OPERATION; \
}
#define _PI_STRING_SUBSTITUTE(X)
Definition: pi.h:200
#define _PI_H_VERSION_MAJOR
Definition: pi.h:180

Definition at line 201 of file pi.h.

◆ _PI_PLUGIN_VERSION_STRING

#define _PI_PLUGIN_VERSION_STRING (   PluginVersion)     _PI_TRIPLE_CONCAT(_PI_H_VERSION_MAJOR, _PI_H_VERSION_MINOR, PluginVersion)

Definition at line 192 of file pi.h.

◆ _PI_STRING_HELPER

#define _PI_STRING_HELPER (   a)    #a

Definition at line 183 of file pi.h.

◆ _PI_STRING_SUBSTITUTE

#define _PI_STRING_SUBSTITUTE (   X)    _PI_STRING_HELPER(X)

Definition at line 200 of file pi.h.

◆ _PI_TRIPLE_CONCAT

#define _PI_TRIPLE_CONCAT (   a,
  b,
 
)    _PI_STRING_HELPER(a.b.c)

Definition at line 185 of file pi.h.

◆ PI_BIT

#define PI_BIT (   _i)    (1 << _i)

Definition at line 1931 of file pi.h.

◆ PI_DEVICE_INFO_EXTENSION_DEVICELIB_ASSERT

#define PI_DEVICE_INFO_EXTENSION_DEVICELIB_ASSERT   "cl_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 1008 of file pi.h.

Typedef Documentation

◆ _pi_offload_entry

Definition at line 933 of file pi.h.

◆ pi_bitfield

Definition at line 227 of file pi.h.

◆ pi_bool

using pi_bool = pi_uint32

Definition at line 226 of file pi.h.

◆ pi_buff_rect_offset

Definition at line 1114 of file pi.h.

◆ pi_buff_rect_region

Definition at line 1123 of file pi.h.

◆ pi_buffer_create_type

Definition at line 864 of file pi.h.

◆ pi_buffer_region

Definition at line 1105 of file pi.h.

◆ pi_command_type

Definition at line 859 of file pi.h.

◆ pi_context

Definition at line 1177 of file pi.h.

◆ pi_context_extended_deleter

typedef void(* pi_context_extended_deleter) (void *user_data)

Definition at line 1368 of file pi.h.

◆ pi_context_info

Definition at line 852 of file pi.h.

◆ pi_context_properties

using pi_context_properties = intptr_t

Definition at line 743 of file pi.h.

◆ pi_device

using pi_device = _pi_device *

Definition at line 1176 of file pi.h.

◆ pi_device_affinity_domain

Definition at line 893 of file pi.h.

◆ pi_device_binaries

Definition at line 1162 of file pi.h.

◆ pi_device_binary

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

◆ pi_device_exec_capabilities

Definition at line 745 of file pi.h.

◆ pi_device_fp_config

Definition at line 908 of file pi.h.

◆ pi_device_info

Definition at line 850 of file pi.h.

◆ pi_device_local_mem_type

Definition at line 849 of file pi.h.

◆ pi_device_mem_cache_type

Definition at line 848 of file pi.h.

◆ pi_device_partition_property

using pi_device_partition_property = intptr_t

Definition at line 880 of file pi.h.

◆ pi_device_type

Definition at line 847 of file pi.h.

◆ pi_event

using pi_event = _pi_event *

Definition at line 1182 of file pi.h.

◆ pi_event_info

Definition at line 858 of file pi.h.

◆ pi_event_status

Definition at line 869 of file pi.h.

◆ pi_ext_command_buffer

Definition at line 2381 of file pi.h.

◆ pi_ext_command_buffer_command

using pi_ext_command_buffer_command = _pi_ext_command_buffer_command *

Definition at line 2382 of file pi.h.

◆ pi_ext_sync_point

Definition at line 2383 of file pi.h.

◆ pi_image_channel_order

Definition at line 862 of file pi.h.

◆ pi_image_channel_type

Definition at line 863 of file pi.h.

◆ pi_image_copy_flags

Definition at line 877 of file pi.h.

◆ pi_image_desc

Definition at line 1208 of file pi.h.

◆ pi_image_format

Definition at line 1207 of file pi.h.

◆ pi_image_handle

Definition at line 1184 of file pi.h.

◆ pi_image_info

Definition at line 854 of file pi.h.

◆ pi_image_mem_handle

using pi_image_mem_handle = void *

Definition at line 1185 of file pi.h.

◆ pi_image_offset

Definition at line 1132 of file pi.h.

◆ pi_image_region

Definition at line 1141 of file pi.h.

◆ pi_int32

using pi_int32 = int32_t

Definition at line 223 of file pi.h.

◆ pi_interop_mem_handle

Definition at line 1186 of file pi.h.

◆ pi_interop_semaphore_handle

Definition at line 1187 of file pi.h.

◆ pi_kernel

using pi_kernel = _pi_kernel *

Definition at line 1181 of file pi.h.

◆ pi_kernel_cache_config

Definition at line 875 of file pi.h.

◆ pi_kernel_exec_info

Definition at line 1637 of file pi.h.

◆ pi_kernel_group_info

Definition at line 856 of file pi.h.

◆ pi_kernel_info

Definition at line 855 of file pi.h.

◆ pi_kernel_sub_group_info

Definition at line 857 of file pi.h.

◆ pi_map_flags

Definition at line 795 of file pi.h.

◆ pi_mem

using pi_mem = _pi_mem *

Definition at line 1179 of file pi.h.

◆ pi_mem_access_flag

typedef uint32_t pi_mem_access_flag

Definition at line 1940 of file pi.h.

◆ pi_mem_advice

Definition at line 861 of file pi.h.

◆ pi_mem_alloc_info

Definition at line 2012 of file pi.h.

◆ pi_mem_flags

Definition at line 785 of file pi.h.

◆ pi_mem_info

Definition at line 1221 of file pi.h.

◆ pi_mem_obj_access

Definition at line 1939 of file pi.h.

◆ pi_mem_obj_property

Definition at line 1953 of file pi.h.

◆ pi_mem_obj_property_type

Definition at line 1946 of file pi.h.

◆ pi_mem_properties

Definition at line 801 of file pi.h.

◆ pi_mem_type

Definition at line 860 of file pi.h.

◆ pi_memory_order_capabilities

Definition at line 760 of file pi.h.

◆ pi_memory_scope_capabilities

Definition at line 767 of file pi.h.

◆ pi_native_handle

using pi_native_handle = uintptr_t

Definition at line 228 of file pi.h.

◆ pi_peer_attr

Definition at line 1222 of file pi.h.

◆ pi_platform

Definition at line 1175 of file pi.h.

◆ pi_platform_backend

Definition at line 846 of file pi.h.

◆ pi_platform_info

Definition at line 845 of file pi.h.

◆ pi_plugin

Definition at line 1238 of file pi.h.

◆ pi_profiling_info

Definition at line 874 of file pi.h.

◆ pi_program

Definition at line 1180 of file pi.h.

◆ pi_program_binary_type

Definition at line 872 of file pi.h.

◆ pi_program_build_info

Definition at line 870 of file pi.h.

◆ pi_program_build_status

Definition at line 871 of file pi.h.

◆ pi_program_info

Definition at line 851 of file pi.h.

◆ pi_queue

using pi_queue = _pi_queue *

Definition at line 1178 of file pi.h.

◆ pi_queue_info

Definition at line 853 of file pi.h.

◆ pi_queue_properties

Definition at line 820 of file pi.h.

◆ pi_result

Definition at line 844 of file pi.h.

◆ pi_sampler

Definition at line 1183 of file pi.h.

◆ pi_sampler_addressing_mode

Definition at line 865 of file pi.h.

◆ pi_sampler_cubemap_filter_mode

◆ pi_sampler_filter_mode

Definition at line 866 of file pi.h.

◆ pi_sampler_info

Definition at line 868 of file pi.h.

◆ pi_sampler_properties

Definition at line 751 of file pi.h.

◆ pi_uint32

using pi_uint32 = uint32_t

Definition at line 224 of file pi.h.

◆ pi_uint64

using pi_uint64 = uint64_t

Definition at line 225 of file pi.h.

◆ pi_usm_capabilities

Definition at line 2011 of file pi.h.

◆ pi_usm_capability_query

Definition at line 2010 of file pi.h.

◆ pi_usm_mem_properties

Definition at line 807 of file pi.h.

◆ pi_usm_migration_flags

Definition at line 2014 of file pi.h.

◆ pi_usm_type

Definition at line 2013 of file pi.h.

Enumeration Type Documentation

◆ _pi_buffer_create_type

Enumerator
PI_BUFFER_CREATE_TYPE_REGION 

Definition at line 709 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 
PI_COMMAND_TYPE_EXT_COMMAND_BUFFER 
PI_COMMAND_TYPE_DEVICE_GLOBAL_VARIABLE_READ 
PI_COMMAND_TYPE_DEVICE_GLOBAL_VARIABLE_WRITE 

Definition at line 580 of file pi.h.

◆ _pi_context_info

Enumerator
PI_CONTEXT_INFO_DEVICES 
PI_CONTEXT_INFO_PLATFORM 
PI_CONTEXT_INFO_NUM_DEVICES 
PI_CONTEXT_INFO_PROPERTIES 
PI_CONTEXT_INFO_REFERENCE_COUNT 
PI_EXT_CONTEXT_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES 
PI_EXT_CONTEXT_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES 
PI_EXT_CONTEXT_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES 
PI_EXT_CONTEXT_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES 
PI_EXT_ONEAPI_CONTEXT_INFO_USM_FILL2D_SUPPORT 
PI_EXT_ONEAPI_CONTEXT_INFO_USM_MEMSET2D_SUPPORT 
PI_EXT_ONEAPI_CONTEXT_INFO_USM_MEMCPY2D_SUPPORT 

Definition at line 506 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_EXT_ONEAPI_DEVICE_INFO_IP_VERSION 
PI_DEVICE_INFO_DEVICE_ID 
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_BUILD_ON_SUBDEVICE 
PI_EXT_INTEL_DEVICE_INFO_FREE_MEMORY 
PI_EXT_INTEL_DEVICE_INFO_MEMORY_CLOCK_RATE 
PI_EXT_INTEL_DEVICE_INFO_MEMORY_BUS_WIDTH 
PI_EXT_INTEL_DEVICE_INFO_MAX_COMPUTE_QUEUE_INDICES 
PI_DEVICE_INFO_ATOMIC_64 
PI_EXT_DEVICE_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES 
PI_EXT_DEVICE_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES 
PI_DEVICE_INFO_GPU_HW_THREADS_PER_EU 
PI_DEVICE_INFO_BACKEND_VERSION 
PI_EXT_ONEAPI_DEVICE_INFO_BFLOAT16_MATH_FUNCTIONS 
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 
PI_EXT_ONEAPI_DEVICE_INFO_CUDA_ASYNC_BARRIER 
PI_EXT_CODEPLAY_DEVICE_INFO_SUPPORTS_FUSION 
PI_EXT_DEVICE_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES 
PI_EXT_DEVICE_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES 
PI_EXT_INTEL_DEVICE_INFO_MEM_CHANNEL_SUPPORT 
PI_EXT_CODEPLAY_DEVICE_INFO_MAX_REGISTERS_PER_WORK_GROUP 
PI_EXT_INTEL_DEVICE_INFO_ESIMD_SUPPORT 
PI_EXT_ONEAPI_DEVICE_INFO_WORK_GROUP_PROGRESS_AT_ROOT_GROUP_LEVEL 
PI_EXT_ONEAPI_DEVICE_INFO_SUB_GROUP_PROGRESS_AT_ROOT_GROUP_LEVEL 
PI_EXT_ONEAPI_DEVICE_INFO_SUB_GROUP_PROGRESS_AT_WORK_GROUP_LEVEL 
PI_EXT_ONEAPI_DEVICE_INFO_WORK_ITEM_PROGRESS_AT_ROOT_GROUP_LEVEL 
PI_EXT_ONEAPI_DEVICE_INFO_WORK_ITEM_PROGRESS_AT_WORK_GROUP_LEVEL 
PI_EXT_ONEAPI_DEVICE_INFO_WORK_ITEM_PROGRESS_AT_SUB_GROUP_LEVEL 
PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_IMAGES_SUPPORT 
PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_IMAGES_SHARED_USM_SUPPORT 
PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_IMAGES_1D_USM_SUPPORT 
PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_IMAGES_2D_USM_SUPPORT 
PI_EXT_ONEAPI_DEVICE_INFO_IMAGE_PITCH_ALIGN 
PI_EXT_ONEAPI_DEVICE_INFO_MAX_IMAGE_LINEAR_WIDTH 
PI_EXT_ONEAPI_DEVICE_INFO_MAX_IMAGE_LINEAR_HEIGHT 
PI_EXT_ONEAPI_DEVICE_INFO_MAX_IMAGE_LINEAR_PITCH 
PI_EXT_ONEAPI_DEVICE_INFO_MIPMAP_SUPPORT 
PI_EXT_ONEAPI_DEVICE_INFO_MIPMAP_ANISOTROPY_SUPPORT 
PI_EXT_ONEAPI_DEVICE_INFO_MIPMAP_MAX_ANISOTROPY 
PI_EXT_ONEAPI_DEVICE_INFO_MIPMAP_LEVEL_REFERENCE_SUPPORT 
PI_EXT_ONEAPI_DEVICE_INFO_INTEROP_MEMORY_IMPORT_SUPPORT 
PI_EXT_ONEAPI_DEVICE_INFO_INTEROP_MEMORY_EXPORT_SUPPORT 
PI_EXT_ONEAPI_DEVICE_INFO_INTEROP_SEMAPHORE_IMPORT_SUPPORT 
PI_EXT_ONEAPI_DEVICE_INFO_INTEROP_SEMAPHORE_EXPORT_SUPPORT 
PI_EXT_ONEAPI_DEVICE_INFO_MATRIX_COMBINATIONS 
PI_EXT_ONEAPI_DEVICE_INFO_COMPONENT_DEVICES 
PI_EXT_ONEAPI_DEVICE_INFO_COMPOSITE_DEVICE 
PI_EXT_ONEAPI_DEVICE_INFO_COMMAND_BUFFER_SUPPORT 
PI_EXT_ONEAPI_DEVICE_INFO_COMMAND_BUFFER_UPDATE_SUPPORT 
PI_EXT_ONEAPI_DEVICE_INFO_CUBEMAP_SUPPORT 
PI_EXT_ONEAPI_DEVICE_INFO_CUBEMAP_SEAMLESS_FILTERING_SUPPORT 
PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_1D_USM 
PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_1D 
PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_2D_USM 
PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_2D 
PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_3D_USM 
PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_SAMPLED_IMAGE_FETCH_3D 
PI_EXT_ONEAPI_DEVICE_INFO_TIMESTAMP_RECORDING_SUPPORT 

Definition at line 315 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 310 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 304 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.

PI_DEVICE_TYPE_CUSTOM 

A PI device that is a custom device.

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

◆ _pi_event_status

Enumerator
PI_EVENT_COMPLETE 
PI_EVENT_RUNNING 
PI_EVENT_SUBMITTED 
PI_EVENT_QUEUED 

Definition at line 243 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 667 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 685 of file pi.h.

◆ _pi_image_copy_flags

Enumerator
PI_IMAGE_COPY_HOST_TO_DEVICE 
PI_IMAGE_COPY_DEVICE_TO_HOST 
PI_IMAGE_COPY_DEVICE_TO_DEVICE 

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

◆ _pi_kernel_cache_config

Enumerator
PI_EXT_KERNEL_EXEC_INFO_CACHE_DEFAULT 
PI_EXT_KERNEL_EXEC_INFO_CACHE_LARGE_SLM 
PI_EXT_KERNEL_EXEC_INFO_CACHE_LARGE_DATA 

Definition at line 835 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

PI_EXT_KERNEL_EXEC_INFO_CACHE_CONFIG 

provides the preferred cache configuration (large slm or large data)

Definition at line 1628 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 544 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 535 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 565 of file pi.h.

◆ _pi_mem_advice

Enumerator
PI_MEM_ADVICE_RESET 
PI_MEM_ADVICE_CUDA_SET_READ_MOSTLY 
PI_MEM_ADVICE_CUDA_UNSET_READ_MOSTLY 
PI_MEM_ADVICE_CUDA_SET_PREFERRED_LOCATION 
PI_MEM_ADVICE_CUDA_UNSET_PREFERRED_LOCATION 
PI_MEM_ADVICE_CUDA_SET_ACCESSED_BY 
PI_MEM_ADVICE_CUDA_UNSET_ACCESSED_BY 
PI_MEM_ADVICE_CUDA_SET_PREFERRED_LOCATION_HOST 
PI_MEM_ADVICE_CUDA_UNSET_PREFERRED_LOCATION_HOST 
PI_MEM_ADVICE_CUDA_SET_ACCESSED_BY_HOST 
PI_MEM_ADVICE_CUDA_UNSET_ACCESSED_BY_HOST 
PI_MEM_ADVICE_HIP_SET_COARSE_GRAINED 
PI_MEM_ADVICE_HIP_UNSET_COARSE_GRAINED 
PI_MEM_ADVICE_UNKNOWN 

Definition at line 626 of file pi.h.

◆ _pi_mem_alloc_info

Enumerator
PI_MEM_ALLOC_TYPE 
PI_MEM_ALLOC_BASE_PTR 
PI_MEM_ALLOC_SIZE 
PI_MEM_ALLOC_DEVICE 

Definition at line 1989 of file pi.h.

◆ _pi_mem_info

Enumerator
PI_MEM_CONTEXT 
PI_MEM_SIZE 

Definition at line 1210 of file pi.h.

◆ _pi_mem_obj_access

Enumerator
PI_ACCESS_READ_WRITE 
PI_ACCESS_WRITE_ONLY 
PI_ACCESS_READ_ONLY 

Definition at line 1934 of file pi.h.

◆ _pi_mem_obj_property_type

Enumerator
PI_KERNEL_ARG_MEM_OBJ_ACCESS 
PI_ENUM_FORCE_UINT32 

Definition at line 1942 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 
PI_MEM_TYPE_IMAGE_CUBEMAP 

Definition at line 615 of file pi.h.

◆ _pi_peer_attr

Enumerator
PI_PEER_ACCESS_SUPPORTED 

returns a uint32_t: 1 if P2P Access is supported otherwise P2P Access is not supported.

PI_PEER_ATOMICS_SUPPORTED 

returns a uint32_t: 1 if Atomic operations are supported over the P2P link, otherwise such operations are not supported.

Definition at line 1212 of file pi.h.

◆ _pi_platform_backend

Enumerator
PI_EXT_PLATFORM_BACKEND_UNKNOWN 

The backend is not a recognized one.

PI_EXT_PLATFORM_BACKEND_LEVEL_ZERO 

The backend is Level Zero.

PI_EXT_PLATFORM_BACKEND_OPENCL 

The backend is OpenCL.

PI_EXT_PLATFORM_BACKEND_CUDA 

The backend is CUDA.

PI_EXT_PLATFORM_BACKEND_HIP 

The backend is HIP.

PI_EXT_PLATFORM_BACKEND_ESIMD 

The backend is ESIMD.

PI_EXT_PLATFORM_BACKEND_NATIVE_CPU 

The backend is NATIVE_CPU.

Definition at line 294 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 
PI_EXT_PLATFORM_INFO_BACKEND 

Definition at line 250 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 774 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 273 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 259 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 266 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 494 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 
PI_EXT_ONEAPI_QUEUE_INFO_EMPTY 

Definition at line 523 of file pi.h.

◆ _pi_result

enum _pi_result

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

◆ _pi_sampler_cubemap_filter_mode

Enumerator
PI_SAMPLER_CUBEMAP_FILTER_MODE_DISJOINTED 
PI_SAMPLER_CUBEMAP_FILTER_MODE_SEAMLESS 

Definition at line 738 of file pi.h.

◆ _pi_sampler_filter_mode

Enumerator
PI_SAMPLER_FILTER_MODE_NEAREST 
PI_SAMPLER_FILTER_MODE_LINEAR 

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

◆ _pi_sanitize_type

Enumerator
_PI_SANITIZE_TYPE_NONE 
_PI_SANITIZE_TYPE_ADDRESS 
_PI_SANITIZE_TYPE_MEMORY 
_PI_SANITIZE_TYPE_THREAD 

Definition at line 2941 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 1982 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 1974 of file pi.h.

◆ _pi_usm_migration_flags

Enumerator
PI_USM_MIGRATION_TBD0 

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

◆ pi_ext_structure_type

Enumerator
PI_EXT_STRUCTURE_TYPE_COMMAND_BUFFER_DESC 

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

Function Documentation

◆ 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()

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 
)

◆ piContextRelease()

pi_result piContextRelease ( pi_context  context)

◆ 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 78 of file pi_cuda.cpp.

References pi2ur::piDeviceGetInfo().

Referenced by sycl::_V1::detail::applyAllowList(), sycl::_V1::device::ext_oneapi_cl_profile(), sycl::_V1::device::ext_oneapi_supports_cl_c_feature(), sycl::_V1::device::ext_oneapi_supports_cl_c_version(), sycl::_V1::device::ext_oneapi_supports_cl_extension(), sycl::_V1::detail::get_device_info_impl< ReturnT, Param >::get(), sycl::_V1::detail::get_device_info_impl< platform, Param >::get(), sycl::_V1::detail::get_device_info_impl< std::vector< info::fp_config >, Param >::get(), sycl::_V1::detail::get_device_info_impl< std::vector< info::fp_config >, info::device::single_fp_config >::get(), sycl::_V1::detail::get_device_info_impl< bool, info::device::queue_profiling >::get(), sycl::_V1::detail::get_device_info_impl< std::vector< memory_order >, info::device::atomic_memory_order_capabilities >::get(), sycl::_V1::detail::get_device_info_impl< std::vector< memory_order >, info::device::atomic_fence_order_capabilities >::get(), sycl::_V1::detail::get_device_info_impl< std::vector< memory_scope >, info::device::atomic_memory_scope_capabilities >::get(), sycl::_V1::detail::get_device_info_impl< std::vector< memory_scope >, info::device::atomic_fence_scope_capabilities >::get(), sycl::_V1::detail::get_device_info_impl< bool, info::device::ext_oneapi_bfloat16_math_functions >::get(), sycl::_V1::detail::get_device_info_impl< std::vector< info::execution_capability >, info::device::execution_capabilities >::get(), sycl::_V1::detail::get_device_info_impl< std::vector< info::partition_property >, info::device::partition_properties >::get(), sycl::_V1::detail::get_device_info_impl< std::vector< info::partition_affinity_domain >, info::device::partition_affinity_domains >::get(), sycl::_V1::detail::get_device_info_impl< info::partition_affinity_domain, info::device::partition_type_affinity_domain >::get(), sycl::_V1::detail::get_device_info_impl< info::partition_property, info::device::partition_type_property >::get(), sycl::_V1::detail::get_device_info_impl< std::vector< size_t >, info::device::sub_group_sizes >::get(), sycl::_V1::detail::get_device_info_impl< range< Dimensions >, info::device::max_work_item_sizes< Dimensions > >::get(), sycl::_V1::detail::get_device_info_impl< ext::oneapi::experimental::architecture, ext::oneapi::experimental::info::device::architecture >::get(), sycl::_V1::detail::get_device_info_impl< id< 1 >, ext::oneapi::experimental::info::device::max_work_groups< 1 > >::get(), sycl::_V1::detail::get_device_info_impl< id< 2 >, ext::oneapi::experimental::info::device::max_work_groups< 2 > >::get(), sycl::_V1::detail::get_device_info_impl< id< 3 >, ext::oneapi::experimental::info::device::max_work_groups< 3 > >::get(), sycl::_V1::detail::get_device_info_impl< device, info::device::parent_device >::get(), sycl::_V1::detail::get_device_info_impl< bool, info::device::usm_device_allocations >::get(), sycl::_V1::detail::get_device_info_impl< bool, info::device::usm_host_allocations >::get(), sycl::_V1::detail::get_device_info_impl< bool, info::device::usm_shared_allocations >::get(), sycl::_V1::detail::get_device_info_impl< bool, info::device::usm_restricted_shared_allocations >::get(), sycl::_V1::detail::get_device_info_impl< bool, info::device::usm_system_allocations >::get(), sycl::_V1::detail::get_device_info_impl< uint32_t, ext::codeplay::experimental::info::device::max_registers_per_work_group >::get(), sycl::_V1::detail::get_device_info_impl< std::vector< sycl::device >, ext::oneapi::experimental::info::device::component_devices >::get(), sycl::_V1::detail::get_device_info_impl< sycl::device, ext::oneapi::experimental::info::device::composite_device >::get(), sycl::_V1::detail::device_impl::get_device_info_string(), sycl::_V1::detail::ProgramManager::getBuiltPIProgram(), sycl::_V1::detail::platform_impl::getPlatformFromPiDevice(), sycl::_V1::detail::ProgramManager::getProgramBuildLog(), sycl::_V1::detail::enqueue_kernel_launch::handleInvalidValue(), sycl::_V1::detail::enqueue_kernel_launch::handleInvalidWorkGroupSize(), sycl::_V1::detail::enqueue_kernel_launch::handleInvalidWorkItemSize(), sycl::_V1::detail::device_impl::has(), sycl::_V1::opencl::has_extension(), and piPluginInit().

◆ piDevicePartition()

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 
)

◆ piDeviceRelease()

◆ piDeviceRetain()

◆ piDevicesGet()

pi_result piDevicesGet ( pi_platform  platform,
pi_device_type  device_type,
pi_uint32  num_entries,
pi_device devices,
pi_uint32 num_devices 
)

Definition at line 63 of file pi_cuda.cpp.

References pi2ur::piDevicesGet().

Referenced by sycl::_V1::detail::platform_impl::get_devices(), and piPluginInit().

◆ piEnqueueEventsWait()

◆ piEnqueueEventsWaitWithBarrier()

pi_result piEnqueueEventsWaitWithBarrier ( pi_queue  command_queue,
pi_uint32  num_events_in_wait_list,
const pi_event event_wait_list,
pi_event event 
)

Definition at line 672 of file pi_cuda.cpp.

References pi2ur::piEnqueueEventsWaitWithBarrier().

Referenced by piPluginInit().

◆ piEnqueueKernelLaunch()

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 
)

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

Definition at line 733 of file pi_cuda.cpp.

References pi2ur::piEnqueueMemBufferCopy().

Referenced by sycl::_V1::detail::copyD2D(), and piPluginInit().

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

Definition at line 744 of file pi_cuda.cpp.

References pi2ur::piEnqueueMemBufferCopyRect().

Referenced by sycl::_V1::detail::copyD2D(), and piPluginInit().

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

Definition at line 757 of file pi_cuda.cpp.

References pi2ur::piEnqueueMemBufferFill().

Referenced by sycl::_V1::detail::MemoryManager::fill(), and piPluginInit().

◆ piEnqueueMemBufferMap()

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 
)

Definition at line 769 of file pi_cuda.cpp.

References pi2ur::piEnqueueMemBufferMap().

Referenced by sycl::_V1::detail::memBufferMapHelper(), and piPluginInit().

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

Definition at line 681 of file pi_cuda.cpp.

References pi2ur::piEnqueueMemBufferRead().

Referenced by sycl::_V1::detail::copyD2H(), and piPluginInit().

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

Definition at line 693 of file pi_cuda.cpp.

References pi2ur::piEnqueueMemBufferReadRect().

Referenced by sycl::_V1::detail::copyD2H(), and piPluginInit().

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

Definition at line 707 of file pi_cuda.cpp.

References pi2ur::piEnqueueMemBufferWrite().

Referenced by sycl::_V1::detail::copyH2D(), and piPluginInit().

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

Definition at line 719 of file pi_cuda.cpp.

References pi2ur::piEnqueueMemBufferWriteRect().

Referenced by sycl::_V1::detail::copyH2D(), and piPluginInit().

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

Definition at line 822 of file pi_cuda.cpp.

References pi2ur::piEnqueueMemImageCopy().

Referenced by sycl::_V1::detail::copyD2D(), and piPluginInit().

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

Definition at line 831 of file pi_cuda.cpp.

References pi2ur::piEnqueueMemImageFill().

Referenced by sycl::_V1::detail::MemoryManager::fill(), and piPluginInit().

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

Definition at line 796 of file pi_cuda.cpp.

References pi2ur::piEnqueueMemImageRead().

Referenced by piPluginInit().

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

Definition at line 808 of file pi_cuda.cpp.

References pi2ur::piEnqueueMemImageWrite().

Referenced by piPluginInit().

◆ piEnqueueMemUnmap()

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 
)

Definition at line 780 of file pi_cuda.cpp.

References pi2ur::piEnqueueMemUnmap().

Referenced by sycl::_V1::detail::memUnmapHelper(), and piPluginInit().

◆ piEnqueueTimestampRecordingExp()

pi_result piEnqueueTimestampRecordingExp ( pi_queue  queue,
pi_bool  blocking,
pi_uint32  num_events_in_wait_list,
const pi_event event_wait_list,
pi_event event 
)

Definition at line 634 of file pi_cuda.cpp.

References pi2ur::piEnqueueTimestampRecordingExp().

Referenced by piPluginInit().

◆ piEventCreate()

pi_result piEventCreate ( pi_context  context,
pi_event ret_event 
)

Create PI event object in a signalled/completed state.

Parameters
contextis the PI context of the event.
ret_eventis the PI even created.

Definition at line 578 of file pi_cuda.cpp.

References pi2ur::piEventCreate().

Referenced by piPluginInit().

◆ piEventGetInfo()

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 
)

◆ piEventGetProfilingInfo()

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 
)

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

◆ piEventSetStatus()

pi_result piEventSetStatus ( pi_event  event,
pi_int32  execution_status 
)

Definition at line 610 of file pi_cuda.cpp.

References pi2ur::piEventSetStatus().

Referenced by piPluginInit().

◆ piEventsWait()

◆ piextBindlessImageSamplerCreate()

pi_result piextBindlessImageSamplerCreate ( pi_context  context,
const pi_sampler_properties sampler_properties,
float  min_mipmap_level_clamp,
float  max_mipmap_level_clamp,
float  max_anisotropy,
pi_sampler result_sampler 
)

API to create samplers for bindless images.

Parameters
contextis the pi_context
deviceis the pi_device
sampler_propertiesis the pointer to the sampler properties bitfield
min_mipmap_level_clampis the minimum mipmap level to sample from
max_mipmap_level_clampis the maximum mipmap level to sample from
max_anisotropyis the maximum anisotropic ratio
result_sampleris the returned sampler

Definition at line 399 of file pi_cuda.cpp.

References pi2ur::piextBindlessImageSamplerCreate().

Referenced by sycl::_V1::ext::oneapi::experimental::create_image().

◆ piextCommandBufferAdviseUSM()

pi_result piextCommandBufferAdviseUSM ( pi_ext_command_buffer  command_buffer,
const void *  ptr,
size_t  length,
pi_mem_advice  advice,
pi_uint32  num_sync_points_in_wait_list,
const pi_ext_sync_point sync_point_wait_list,
pi_ext_sync_point sync_point 
)

API to append a USM Advise command to the command-buffer.

Parameters
command_bufferThe command-buffer to append onto.
ptris the data to be advised.
lengthis the size in bytes of the memory to advise.
adviceis device specific advice.
num_sync_points_in_wait_listThe number of sync points in the provided wait list.
sync_point_wait_listA list of sync points that this command must wait on.
sync_pointThe sync_point associated with this memory operation.

Definition at line 1211 of file pi_cuda.cpp.

References pi2ur::piextCommandBufferAdviseUSM().

Referenced by sycl::_V1::detail::MemoryManager::ext_oneapi_advise_usm_cmd_buffer().

◆ piextCommandBufferCreate()

pi_result piextCommandBufferCreate ( pi_context  context,
pi_device  device,
const pi_ext_command_buffer_desc desc,
pi_ext_command_buffer ret_command_buffer 
)

API to create a command-buffer.

Parameters
contextThe context to associate the command-buffer with.
deviceThe device to associate the command-buffer with.
descDescriptor for the new command-buffer.
ret_command_bufferPointer to fill with the address of the new command-buffer.

Definition at line 1075 of file pi_cuda.cpp.

References pi2ur::piextCommandBufferCreate().

Referenced by sycl::_V1::ext::oneapi::experimental::detail::exec_graph_impl::createCommandBuffers().

◆ piextCommandBufferFillUSM()

pi_result piextCommandBufferFillUSM ( pi_ext_command_buffer  command_buffer,
void *  ptr,
const void *  pattern,
size_t  pattern_size,
size_t  size,
pi_uint32  num_sync_points_in_wait_list,
const pi_ext_sync_point sync_point_wait_list,
pi_ext_sync_point sync_point 
)

API to append a USM fill command to the command-buffer.

Parameters
command_bufferThe command-buffer to append onto.
ptrpointer to the USM allocation to fill.
patternpointer to the pattern to fill ptr with.
pattern_sizesize of the pattern in bytes.
sizefill size in bytes.
num_sync_points_in_wait_listThe number of sync points in the provided wait list.
sync_point_wait_listA list of sync points that this command must wait on.
sync_pointThe sync_point associated with this memory operation.

Definition at line 1191 of file pi_cuda.cpp.

References pi2ur::piextCommandBufferFillUSM().

Referenced by sycl::_V1::detail::MemoryManager::ext_oneapi_fill_usm_cmd_buffer().

◆ piextCommandBufferFinalize()

pi_result piextCommandBufferFinalize ( pi_ext_command_buffer  command_buffer)

API to stop command-buffer recording such that no more commands can be appended, and makes the command-buffer ready to enqueue on a command-queue.

Parameters
command_bufferThe command_buffer to finalize.

Definition at line 1090 of file pi_cuda.cpp.

References pi2ur::piextCommandBufferFinalize().

Referenced by sycl::_V1::ext::oneapi::experimental::detail::exec_graph_impl::createCommandBuffers().

◆ piextCommandBufferMemBufferCopy()

pi_result piextCommandBufferMemBufferCopy ( pi_ext_command_buffer  command_buffer,
pi_mem  src_buffer,
pi_mem  dst_buffer,
size_t  src_offset,
size_t  dst_offset,
size_t  size,
pi_uint32  num_sync_points_in_wait_list,
const pi_ext_sync_point sync_point_wait_list,
pi_ext_sync_point sync_point 
)

API to append a mem buffer copy command to the command-buffer.

Parameters
command_bufferThe command-buffer to append onto.
src_bufferis the data to be copied
dst_bufferis the location the data will be copied
src_offsetoffset into src_buffer
dst_offsetoffset into dst_buffer
sizeis number of bytes to copy
num_sync_points_in_wait_listThe number of sync points in the provided wait list.
sync_point_wait_listA list of sync points that this command must wait on.
sync_pointThe sync_point associated with this memory operation.

Definition at line 1115 of file pi_cuda.cpp.

References pi2ur::piextCommandBufferMemBufferCopy().

Referenced by sycl::_V1::detail::MemoryManager::ext_oneapi_copyD2D_cmd_buffer().

◆ piextCommandBufferMemBufferCopyRect()

pi_result piextCommandBufferMemBufferCopyRect ( pi_ext_command_buffer  command_buffer,
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_sync_points_in_wait_list,
const pi_ext_sync_point sync_point_wait_list,
pi_ext_sync_point sync_point 
)

API to append a rectangular mem buffer copy command to the command-buffer.

Parameters
command_bufferThe command-buffer to append onto.
src_bufferis the data to be copied
dst_bufferis the location the data will be copied
src_originoffset for the start of the region to copy in src_buffer
dst_originoffset for the start of the region to copy in dst_buffer
regionThe size of the region to be copied
src_row_pitchRow pitch for the src data
src_slice_pitchSlice pitch for the src data
dst_row_pitchRow pitch for the dst data
dst_slice_pitchSlice pitch for the dst data
num_sync_points_in_wait_listThe number of sync points in the provided wait list.
sync_point_wait_listA list of sync points that this command must wait on.
sync_pointThe sync_point associated with this memory operation.

Definition at line 1125 of file pi_cuda.cpp.

References pi2ur::piextCommandBufferMemBufferCopyRect().

Referenced by sycl::_V1::detail::MemoryManager::ext_oneapi_copyD2D_cmd_buffer().

◆ piextCommandBufferMemBufferFill()

pi_result piextCommandBufferMemBufferFill ( pi_ext_command_buffer  command_buffer,
pi_mem  buffer,
const void *  pattern,
size_t  pattern_size,
size_t  offset,
size_t  size,
pi_uint32  num_sync_points_in_wait_list,
const pi_ext_sync_point sync_point_wait_list,
pi_ext_sync_point sync_point 
)

API to append a mem buffer fill command to the command-buffer.

Parameters
command_bufferThe command-buffer to append onto.
bufferis the location to fill the data.
patternpointer to the pattern to fill the buffer with.
pattern_sizesize of the pattern in bytes.
offsetOffset into the buffer to fill from.
sizefill size in bytes.
num_sync_points_in_wait_listThe number of sync points in the provided wait list.
sync_point_wait_listA list of sync points that this command must wait on.
sync_pointThe sync_point associated with this memory operation.

Definition at line 1181 of file pi_cuda.cpp.

References pi2ur::piextCommandBufferMemBufferFill().

Referenced by sycl::_V1::detail::MemoryManager::ext_oneapi_fill_cmd_buffer().

◆ piextCommandBufferMemBufferRead()

pi_result piextCommandBufferMemBufferRead ( pi_ext_command_buffer  command_buffer,
pi_mem  buffer,
size_t  offset,
size_t  size,
void *  dst,
pi_uint32  num_sync_points_in_wait_list,
const pi_ext_sync_point sync_point_wait_list,
pi_ext_sync_point sync_point 
)

API to append a mem buffer read command to the command-buffer.

Parameters
command_bufferThe command-buffer to append onto.
bufferis the data to be read
offsetoffset into buffer
sizeis number of bytes to read
dstis the pointer to the destination
num_sync_points_in_wait_listThe number of sync points in the provided wait list.
sync_point_wait_listA list of sync points that this command must wait on.
sync_pointThe sync_point associated with this memory operation.

Definition at line 1137 of file pi_cuda.cpp.

References pi2ur::piextCommandBufferMemBufferRead().

Referenced by sycl::_V1::detail::MemoryManager::ext_oneapi_copyD2H_cmd_buffer().

◆ piextCommandBufferMemBufferReadRect()

pi_result piextCommandBufferMemBufferReadRect ( pi_ext_command_buffer  command_buffer,
pi_mem  buffer,
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_sync_points_in_wait_list,
const pi_ext_sync_point sync_point_wait_list,
pi_ext_sync_point sync_point 
)

API to append a rectangular mem buffer read command to the command-buffer.

Parameters
command_bufferThe command-buffer to append onto.
bufferis the data to be read
buffer_offsetoffset for the start of the region to read in buffer
host_offsetoffset for the start of the region to be written from ptr
regionThe size of the region to read
buffer_row_pitchRow pitch for the source buffer data
buffer_slice_pitchSlice pitch for the source buffer data
host_row_pitchRow pitch for the destination data ptr
host_slice_pitchSlice pitch for the destination data ptr
ptris the location the data will be written
num_sync_points_in_wait_listThe number of sync points in the provided wait list.
sync_point_wait_listA list of sync points that this command must wait on.
sync_pointThe sync_point associated with this memory operation.

Definition at line 1146 of file pi_cuda.cpp.

References pi2ur::piextCommandBufferMemBufferReadRect().

Referenced by sycl::_V1::detail::MemoryManager::ext_oneapi_copyD2H_cmd_buffer().

◆ piextCommandBufferMemBufferWrite()

pi_result piextCommandBufferMemBufferWrite ( pi_ext_command_buffer  command_buffer,
pi_mem  buffer,
size_t  offset,
size_t  size,
const void *  ptr,
pi_uint32  num_sync_points_in_wait_list,
const pi_ext_sync_point sync_point_wait_list,
pi_ext_sync_point sync_point 
)

API to append a mem buffer write command to the command-buffer.

Parameters
command_bufferThe command-buffer to append onto.
bufferis the location to write the data
offsetoffset into buffer
sizeis number of bytes to write
ptris the pointer to the source
num_sync_points_in_wait_listThe number of sync points in the provided wait list.
sync_point_wait_listA list of sync points that this command must wait on.
sync_pointThe sync_point associated with this memory operation.

Definition at line 1159 of file pi_cuda.cpp.

References pi2ur::piextCommandBufferMemBufferWrite().

Referenced by sycl::_V1::detail::MemoryManager::ext_oneapi_copyH2D_cmd_buffer().

◆ piextCommandBufferMemBufferWriteRect()

pi_result piextCommandBufferMemBufferWriteRect ( pi_ext_command_buffer  command_buffer,
pi_mem  buffer,
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_sync_points_in_wait_list,
const pi_ext_sync_point sync_point_wait_list,
pi_ext_sync_point sync_point 
)

API to append a rectangular mem buffer write command to the command-buffer.

Parameters
command_bufferThe command-buffer to append onto.
bufferis the location to write the data
buffer_offsetoffset for the start of the region to write in buffer
host_offsetoffset for the start of the region to be read from ptr
regionThe size of the region to write
buffer_row_pitchRow pitch for the buffer data
buffer_slice_pitchSlice pitch for the buffer data
host_row_pitchRow pitch for the source data ptr
host_slice_pitchSlice pitch for the source data ptr
ptris the pointer to the source
num_sync_points_in_wait_listThe number of sync points in the provided wait list.
sync_point_wait_listA list of sync points that this command must wait on.
sync_pointThe sync_point associated with this memory operation.

Definition at line 1168 of file pi_cuda.cpp.

References pi2ur::piextCommandBufferMemBufferWriteRect().

Referenced by sycl::_V1::detail::MemoryManager::ext_oneapi_copyH2D_cmd_buffer().

◆ piextCommandBufferMemcpyUSM()

pi_result piextCommandBufferMemcpyUSM ( pi_ext_command_buffer  command_buffer,
void *  dst_ptr,
const void *  src_ptr,
size_t  size,
pi_uint32  num_sync_points_in_wait_list,
const pi_ext_sync_point sync_point_wait_list,
pi_ext_sync_point sync_point 
)

API to append a USM memcpy command to the command-buffer.

Parameters
command_bufferThe command-buffer to append onto.
dst_ptris the location the data will be copied
src_ptris the data to be copied
sizeis number of bytes to copy
num_sync_points_in_wait_listThe number of sync points in the provided wait list.
sync_point_wait_listA list of sync points that this command must wait on.
sync_pointThe sync_point associated with this memory operation.

Definition at line 1106 of file pi_cuda.cpp.

References pi2ur::piextCommandBufferMemcpyUSM().

Referenced by sycl::_V1::detail::MemoryManager::ext_oneapi_copy_usm_cmd_buffer().

◆ piextCommandBufferNDRangeKernel()

pi_result piextCommandBufferNDRangeKernel ( pi_ext_command_buffer  command_buffer,
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_sync_points_in_wait_list,
const pi_ext_sync_point sync_point_wait_list,
pi_ext_sync_point sync_point,
pi_ext_command_buffer_command command 
)

API to append a kernel execution command to the command-buffer.

Parameters
command_bufferThe command-buffer to append onto.
kernelThe kernel to append.
work_dimDimension of the kernel execution.
global_work_offsetOffset to use when executing kernel.
global_work_sizeGlobal work size to use when executing kernel.
local_work_sizeLocal work size to use when executing kernel.
num_sync_points_in_wait_listThe number of sync points in the provided wait list.
sync_point_wait_listA list of sync points that this command must wait on.
sync_pointThe sync_point associated with this kernel execution.
commandReturn pointer to the command representing this kernel execution.

Definition at line 1094 of file pi_cuda.cpp.

References pi2ur::piextCommandBufferNDRangeKernel().

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

◆ piextCommandBufferPrefetchUSM()

pi_result piextCommandBufferPrefetchUSM ( pi_ext_command_buffer  command_buffer,
const void *  ptr,
size_t  size,
pi_usm_migration_flags  flags,
pi_uint32  num_sync_points_in_wait_list,
const pi_ext_sync_point sync_point_wait_list,
pi_ext_sync_point sync_point 
)

API to append a USM Prefetch command to the command-buffer.

Parameters
command_bufferThe command-buffer to append onto.
ptrpoints to the memory to migrate.
sizeis the number of bytes to migrate.
flagsis a bitfield used to specify memory migration options.
num_sync_points_in_wait_listThe number of sync points in the provided wait list.
sync_point_wait_listA list of sync points that this command must wait on.
sync_pointThe sync_point associated with this memory operation.

Definition at line 1202 of file pi_cuda.cpp.

References pi2ur::piextCommandBufferPrefetchUSM().

Referenced by sycl::_V1::detail::MemoryManager::ext_oneapi_prefetch_usm_cmd_buffer().

◆ piextCommandBufferRelease()

pi_result piextCommandBufferRelease ( pi_ext_command_buffer  command_buffer)

API to decrement the reference count of the command-buffer.

After the command_buffer reference count becomes zero and has finished execution, the command-buffer is deleted.

Parameters
command_bufferThe command_buffer to release.

Definition at line 1086 of file pi_cuda.cpp.

References pi2ur::piextCommandBufferRelease().

Referenced by sycl::_V1::ext::oneapi::experimental::detail::exec_graph_impl::~exec_graph_impl().

◆ piextCommandBufferReleaseCommand()

pi_result piextCommandBufferReleaseCommand ( pi_ext_command_buffer_command  command)

API to decrement the reference count of a command-buffer command.

After the command reference count becomes zero, the command is deleted.

Parameters
commandThe command to release.

Definition at line 1241 of file pi_cuda.cpp.

References pi2ur::piextCommandBufferReleaseCommand().

Referenced by sycl::_V1::ext::oneapi::experimental::detail::exec_graph_impl::~exec_graph_impl().

◆ piextCommandBufferRetain()

pi_result piextCommandBufferRetain ( pi_ext_command_buffer  command_buffer)

API to increment the reference count of the command-buffer.

Parameters
command_bufferThe command_buffer to retain.

Definition at line 1082 of file pi_cuda.cpp.

References pi2ur::piextCommandBufferRetain().

◆ piextCommandBufferRetainCommand()

pi_result piextCommandBufferRetainCommand ( pi_ext_command_buffer_command  command)

API to increment the reference count of a command-buffer command.

Parameters
commandThe command to release.

Definition at line 1236 of file pi_cuda.cpp.

References pi2ur::piextCommandBufferRetainCommand().

◆ piextCommandBufferUpdateKernelLaunch()

pi_result piextCommandBufferUpdateKernelLaunch ( pi_ext_command_buffer_command  command,
pi_ext_command_buffer_update_kernel_launch_desc desc 
)

API to update a kernel launch command inside of a command-buffer.

Parameters
commandThe command to be updated.
descDescriptor which describes the updated parameters of the kernel launch.

Definition at line 1229 of file pi_cuda.cpp.

References pi2ur::piextCommandBufferUpdateKernelLaunch().

Referenced by sycl::_V1::ext::oneapi::experimental::detail::exec_graph_impl::updateImpl().

◆ 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_ERROR_OUT_OF_HOST_MEMORY if can't allocate memory for the pi_context object. PI_ERROR_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 143 of file pi_cuda.cpp.

References pi2ur::piextContextCreateWithNativeHandle().

Referenced by sycl::_V1::ext::oneapi::level_zero::make_context(), sycl::_V1::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 138 of file pi_cuda.cpp.

References pi2ur::piextContextGetNativeHandle().

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

◆ piextContextSetExtendedDeleter()

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

◆ piextDestroyExternalSemaphore()

pi_result piextDestroyExternalSemaphore ( pi_context  context,
pi_device  device,
pi_interop_semaphore_handle  sem_handle 
)

API to destroy the external semaphore handle.

Parameters
contextis the pi_context
deviceis the pi_device
sem_handleis the interop semaphore handle to the external semaphore to be destroyed

Definition at line 486 of file pi_cuda.cpp.

References pi2ur::piextDestroyExternalSemaphore().

Referenced by sycl::_V1::ext::oneapi::experimental::destroy_external_semaphore().

◆ 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 106 of file pi_cuda.cpp.

References pi2ur::piextDeviceCreateWithNativeHandle().

Referenced by sycl::_V1::ext::oneapi::level_zero::make_device(), sycl::_V1::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 100 of file pi_cuda.cpp.

References pi2ur::piextDeviceGetNativeHandle().

Referenced by sycl::_V1::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.

Definition at line 93 of file pi_cuda.cpp.

References pi2ur::piextDeviceSelectBinary().

Referenced by sycl::_V1::detail::compatibleWithDevice(), sycl::_V1::detail::getBinImageFromMultiMap(), sycl::_V1::detail::ProgramManager::getDeviceImage(), and piPluginInit().

◆ piextDisablePeerAccess()

pi_result piextDisablePeerAccess ( pi_device  command_device,
pi_device  peer_device 
)

◆ piextEnablePeerAccess()

pi_result piextEnablePeerAccess ( pi_device  command_device,
pi_device  peer_device 
)

◆ piextEnqueueCommandBuffer()

pi_result piextEnqueueCommandBuffer ( pi_ext_command_buffer  command_buffer,
pi_queue  queue,
pi_uint32  num_events_in_wait_list,
const pi_event event_wait_list,
pi_event event 
)

API to submit the command-buffer to queue for execution, returns an error if the command-buffer is not finalized or another instance of the same command-buffer is currently executing.

Parameters
command_bufferThe command-buffer to be submitted.
queueThe PI queue to submit on.
num_events_in_wait_listThe number of events that this execution depends on.
event_wait_listList of pi_events to wait on.
eventThe pi_event associated with this enqueue.

Definition at line 1220 of file pi_cuda.cpp.

References pi2ur::piextEnqueueCommandBuffer().

Referenced by sycl::_V1::ext::oneapi::experimental::detail::exec_graph_impl::enqueue().

◆ piextEnqueueCooperativeKernelLaunch()

pi_result piextEnqueueCooperativeKernelLaunch ( 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 
)

◆ piextEnqueueDeviceGlobalVariableRead()

pi_result piextEnqueueDeviceGlobalVariableRead ( pi_queue  Queue,
pi_program  Program,
const char *  Name,
pi_bool  BlockingRead,
size_t  Count,
size_t  Offset,
void *  Dst,
pi_uint32  NumEventsInWaitList,
const pi_event EventsWaitList,
pi_event Event 
)

API reading data from a device global variable to host.

Parameters
queueis the queue
programis the program containing the device global variable
blocking_readis true if the read should block
nameis the unique identifier for the device global variable
countis the number of bytes to copy
offsetis the byte offset into the device global variable to start copying
dstis a pointer to where the data must be copied to
num_events_in_wait_listis a number of events in the wait list
event_wait_listis the wait list
eventis the resulting event
Queueis the queue
Programis the program containing the device global variable
Nameis the unique identifier for the device global variable
BlockingReadis true if the read should block
Countis the number of bytes to copy
Offsetis the byte offset into the device global variable to start copying
Dstis a pointer to where the data must be copied to
NumEventsInWaitListis a number of events in the wait list
EventWaitListis the wait list
Eventis the resulting event

Definition at line 1009 of file pi_cuda.cpp.

References pi2ur::piextEnqueueDeviceGlobalVariableRead().

Referenced by sycl::_V1::detail::memcpyFromDeviceGlobalDirect(), and piPluginInit().

◆ piextEnqueueDeviceGlobalVariableWrite()

pi_result piextEnqueueDeviceGlobalVariableWrite ( pi_queue  Queue,
pi_program  Program,
const char *  Name,
pi_bool  BlockingWrite,
size_t  Count,
size_t  Offset,
const void *  Src,
pi_uint32  NumEventsInWaitList,
const pi_event EventsWaitList,
pi_event Event 
)

Device global variable.

API for writing data from host to a device global variable.

Parameters
queueis the queue
programis the program containing the device global variable
blocking_writeis true if the write should block
nameis the unique identifier for the device global variable
countis the number of bytes to copy
offsetis the byte offset into the device global variable to start copying
srcis a pointer to where the data must be copied from
num_events_in_wait_listis a number of events in the wait list
event_wait_listis the wait list
eventis the resulting event

Device global variable.

Parameters
Queueis the queue
Programis the program containing the device global variable
Nameis the unique identifier for the device global variable
BlockingWriteis true if the write should block
Countis the number of bytes to copy
Offsetis the byte offset into the device global variable to start copying
Srcis a pointer to where the data must be copied from
NumEventsInWaitListis a number of events in the wait list
EventWaitListis the wait list
Eventis the resulting event

Definition at line 1000 of file pi_cuda.cpp.

References pi2ur::piextEnqueueDeviceGlobalVariableWrite().

Referenced by sycl::_V1::detail::context_impl::initializeDeviceGlobals(), sycl::_V1::detail::memcpyToDeviceGlobalDirect(), and piPluginInit().

◆ piextEnqueueReadHostPipe()

pi_result piextEnqueueReadHostPipe ( pi_queue  Queue,
pi_program  Program,
const char *  PipeSymbol,
pi_bool  Blocking,
void *  Ptr,
size_t  Size,
pi_uint32  NumEventsInWaitList,
const pi_event EventsWaitList,
pi_event Event 
)

Plugin.

Read from pipe of a given name

Parameters
queuea valid host command-queue in which the read / write command will be queued. command_queue and program must be created with the same OpenCL context.
programa program object with a successfully built executable.
pipe_symbolthe name of the program scope pipe global variable.
blockingindicate if the read and write operations are blocking or non-blocking
ptra pointer to buffer in host memory that will hold resulting data from pipe
sizesize of the memory region to read or write, in bytes.
num_events_in_waitlistnumber of events in the wait list.
events_waitlistspecify events that need to complete before this particular command can be executed.
eventreturns an event object that identifies this read / write command and can be used to query or queue a wait for this command to complete.

Plugin.

Parameters
Queueis the queue
Programis the program containing the device variable
PipeSymbolis the unique identifier for the device variable
Blockingis true if the write should block
Ptris a pointer to where the data will be copied to
Sizeis size of the data that is read/written from/to pipe
NumEventsInWaitListis a number of events in the wait list
EventWaitListis the wait list
Eventis the resulting event

Definition at line 1020 of file pi_cuda.cpp.

References sycl::_V1::detail::pi::die(), PI_ASSERT, and pi2ur::piextEnqueueReadHostPipe().

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

◆ piextEnqueueWriteHostPipe()

pi_result piextEnqueueWriteHostPipe ( pi_queue  Queue,
pi_program  Program,
const char *  PipeSymbol,
pi_bool  Blocking,
void *  Ptr,
size_t  Size,
pi_uint32  NumEventsInWaitList,
const pi_event EventsWaitList,
pi_event Event 
)

Write to pipe of a given name.

Parameters
queuea valid host command-queue in which the read / write command will be queued. command_queue and program must be created with the same OpenCL context.
programa program object with a successfully built executable.
pipe_symbolthe name of the program scope pipe global variable.
blockingindicate if the read and write operations are blocking or non-blocking
ptra pointer to buffer in host memory that holds data to be written to host pipe.
sizesize of the memory region to read or write, in bytes.
num_events_in_waitlistnumber of events in the wait list.
events_waitlistspecify events that need to complete before this particular command can be executed.
eventreturns an event object that identifies this read / write command and can be used to query or queue a wait for this command to complete.

Write to pipe of a given name.

Parameters
Queueis the queue
Programis the program containing the device variable
PipeSymbolis the unique identifier for the device variable
Blockingis true if the write should block
Ptris a pointer to where the data must be copied from
Sizeis size of the data that is read/written from/to pipe
NumEventsInWaitListis a number of events in the wait list
EventWaitListis the wait list
Eventis the resulting event

Definition at line 1040 of file pi_cuda.cpp.

References sycl::_V1::detail::pi::die(), PI_ASSERT, and pi2ur::piextEnqueueWriteHostPipe().

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

◆ 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 626 of file pi_cuda.cpp.

References pi2ur::piextEventCreateWithNativeHandle().

Referenced by sycl::_V1::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 620 of file pi_cuda.cpp.

References pi2ur::piextEventGetNativeHandle().

Referenced by sycl::_V1::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_ERROR_FUNCTION_ADDRESS_IS_NOT_AVAILABLE is returned. If the address does not exist PI_ERROR_INVALID_KERNEL_NAME is returned.

Definition at line 851 of file pi_cuda.cpp.

References pi2ur::piextGetDeviceFunctionPointer().

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

◆ piextGetGlobalVariablePointer()

pi_result piextGetGlobalVariablePointer ( pi_device  Device,
pi_program  Program,
const char *  GlobalVariableName,
size_t *  GlobalVariableSize,
void **  GlobalVariablePointerRet 
)

Definition at line 858 of file pi_cuda.cpp.

References pi2ur::piextGetGlobalVariablePointer().

Referenced by piPluginInit().

◆ piextImportExternalSemaphoreOpaqueFD()

pi_result piextImportExternalSemaphoreOpaqueFD ( pi_context  context,
pi_device  device,
int  file_descriptor,
pi_interop_semaphore_handle ret_handle 
)

API to import an external semaphore in the form of a file descriptor.

Parameters
contextis the pi_context
deviceis the pi_device
file_descriptoris the file descriptor
ret_handleis the returned interop semaphore handle to the external semaphore

Definition at line 478 of file pi_cuda.cpp.

References pi2ur::piextImportExternalSemaphoreOpaqueFD().

Referenced by sycl::_V1::ext::oneapi::experimental::import_external_semaphore().

◆ 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 556 of file pi_cuda.cpp.

References pi2ur::piextKernelCreateWithNativeHandle().

Referenced by sycl::_V1::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 566 of file pi_cuda.cpp.

References pi2ur::piextKernelGetNativeHandle().

Referenced by sycl::_V1::detail::kernel_impl::getNative().

◆ piextKernelSetArgMemObj()

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

Definition at line 353 of file pi_cuda.cpp.

References pi2ur::piextKernelSetArgMemObj().

Referenced by piPluginInit(), and sycl::_V1::detail::SetArgBasedOnType().

◆ 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 907 of file pi_cuda.cpp.

References pi2ur::piextKernelSetArgPointer().

Referenced by piPluginInit(), and sycl::_V1::detail::SetArgBasedOnType().

◆ piextKernelSetArgSampler()

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

Definition at line 360 of file pi_cuda.cpp.

References pi2ur::piextKernelSetArgSampler().

Referenced by piPluginInit(), and sycl::_V1::detail::SetArgBasedOnType().

◆ piextKernelSuggestMaxCooperativeGroupCount()

pi_result piextKernelSuggestMaxCooperativeGroupCount ( pi_kernel  kernel,
size_t  local_work_size,
size_t  dynamic_shared_memory_size,
pi_uint32 group_count_ret 
)

Gets the max work group count for a cooperative kernel.

Parameters
kernelis the PI kernel being queried.
local_work_sizeis the number of work items in a work group that will be used when the kernel is launched.
dynamic_shared_memory_sizeis the size of dynamic shared memory, for each work group, in bytes, that will be used when the kernel is launched."
group_count_retis a pointer to where the query result will be stored.

Definition at line 571 of file pi_cuda.cpp.

References pi2ur::piextKernelSuggestMaxCooperativeGroupCount().

Referenced by sycl::_V1::detail::kernel_impl::ext_oneapi_get_info< ext::oneapi::experimental::info::kernel_queue_specific::max_num_work_group_sync >().

◆ piextMemCreateWithNativeHandle()

pi_result piextMemCreateWithNativeHandle ( pi_native_handle  nativeHandle,
pi_context  context,
bool  ownNativeHandle,
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.
contextThe PI context of the memory allocation.
ownNativeHandleIndicates if we own the native memory handle or it came from interop that asked to not transfer the ownership to SYCL RT.
memis the PI mem created from the native handle.

Definition at line 241 of file pi_cuda.cpp.

References pi2ur::piextMemCreateWithNativeHandle().

Referenced by piPluginInit(), and sycl::_V1::detail::SYCLMemObjT::SYCLMemObjT().

◆ piextMemGetNativeHandle()

pi_result piextMemGetNativeHandle ( pi_mem  mem,
pi_device  dev,
pi_native_handle nativeHandle 
)

Gets the native handle of a PI mem object.

Parameters
memis the PI mem to get the native handle of.
devis the PI device that the native allocation will be resident on
nativeHandleis the native handle of mem.

Definition at line 236 of file pi_cuda.cpp.

References pi2ur::piextMemGetNativeHandle().

Referenced by sycl::_V1::detail::buffer_impl::getNativeVector(), sycl::_V1::detail::memBufferCreateHelper(), sycl::_V1::detail::memReleaseHelper(), and piPluginInit().

◆ piextMemImageAllocate()

pi_result piextMemImageAllocate ( pi_context  context,
pi_device  device,
pi_image_format image_format,
pi_image_desc image_desc,
pi_image_mem_handle ret_mem 
)

API to allocate memory for bindless images.

Parameters
contextis the pi_context
deviceis the pi_device
flagsare extra flags to pass (currently unused)
image_formatformat of the image (channel order and data type)
image_descimage descriptor
ret_memis the returning memory handle to newly allocated memory

Definition at line 374 of file pi_cuda.cpp.

References pi2ur::piextMemImageAllocate().

Referenced by sycl::_V1::ext::oneapi::experimental::alloc_image_mem(), and sycl::_V1::ext::oneapi::experimental::alloc_mipmap_mem().

◆ piextMemImageCopy()

pi_result piextMemImageCopy ( pi_queue  command_queue,
void *  dst_ptr,
void *  src_ptr,
const pi_image_format image_format,
const pi_image_desc image_desc,
const pi_image_copy_flags  flags,
pi_image_offset  src_offset,
pi_image_offset  dst_offset,
pi_image_region  copy_extent,
pi_image_region  host_extent,
pi_uint32  num_events_in_wait_list,
const pi_event event_wait_list,
pi_event event 
)

API to copy image data Host to Device or Device to Host.

Parameters
queueis the queue to submit to
dst_ptris the location the data will be copied to
src_ptris the data to be copied
image_formatformat of the image (channel order and data type)
image_descimage descriptor
flagsflags describing copy direction (H2D or D2H)
src_offsetis the offset into the source image/memory
dst_offsetis the offset into the destination image/memory
copy_extentis the extent (region) of the image/memory to copy
host_extentis the extent (region) of the memory on the host
num_events_in_wait_listis the number of events in the wait list
event_wait_listis the list of events to wait on before copying
eventis the returned event representing this operation

Definition at line 426 of file pi_cuda.cpp.

References pi2ur::piextMemImageCopy().

Referenced by sycl::_V1::detail::MemoryManager::copy_image_bindless().

◆ piextMemImageCreateWithNativeHandle()

pi_result piextMemImageCreateWithNativeHandle ( pi_native_handle  nativeHandle,
pi_context  context,
bool  ownNativeHandle,
const pi_image_format ImageFormat,
const pi_image_desc ImageDesc,
pi_mem img 
)

Creates PI image object from a native handle.

Parameters
nativeHandleis the native handle to create PI image from.
contextThe PI context of the memory allocation.
ownNativeHandleIndicates if we own the native memory handle or it came from interop that asked to not transfer the ownership to SYCL RT.
ImageFormatis the pi_image_format struct that specifies the image channnel order and channel data type that match what the nativeHandle uses
ImageDescis the pi_image_desc struct that specifies the image dimension, pitch, slice and other information about the nativeHandle
imgis the PI img created from the native handle.

Definition at line 264 of file pi_cuda.cpp.

References pi2ur::piextMemImageCreateWithNativeHandle().

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

◆ piextMemImageFree()

pi_result piextMemImageFree ( pi_context  context,
pi_device  device,
pi_image_mem_handle  memory_handle 
)

API to free memory for bindless images.

Parameters
contextis the pi_context
deviceis the pi_device
memory_handleis the handle to image memory to be freed

Definition at line 416 of file pi_cuda.cpp.

References pi2ur::piextMemImageFree().

Referenced by sycl::_V1::ext::oneapi::experimental::free_image_mem().

◆ piextMemImageGetInfo()

pi_result piextMemImageGetInfo ( const pi_image_mem_handle  mem_handle,
pi_image_info  param_name,
void *  param_value,
size_t *  param_value_size_ret 
)

API to query an image memory handle for specific properties.

Parameters
mem_handleis the handle to the image memory
param_nameis the queried info name
param_valueis the returned query value
param_value_size_retis the returned query value size

Definition at line 449 of file pi_cuda.cpp.

References pi2ur::piextMemImageGetInfo().

Referenced by sycl::_V1::ext::oneapi::experimental::get_image_channel_type(), sycl::_V1::ext::oneapi::experimental::get_image_num_channels(), and sycl::_V1::ext::oneapi::experimental::get_image_range().

◆ piextMemImportOpaqueFD()

pi_result piextMemImportOpaqueFD ( pi_context  context,
pi_device  device,
size_t  size,
int  file_descriptor,
pi_interop_mem_handle ret_handle 
)

API to import external memory in the form of a file descriptor.

Parameters
contextis the pi_context
deviceis the pi_device
sizeis the size of the external memory
file_descriptoris the file descriptor
ret_handleis the returned interop memory handle to the external memory

Definition at line 458 of file pi_cuda.cpp.

References pi2ur::piextMemImportOpaqueFD().

Referenced by sycl::_V1::ext::oneapi::experimental::import_external_memory< resource_fd >().

◆ piextMemMapExternalArray()

pi_result piextMemMapExternalArray ( pi_context  context,
pi_device  device,
pi_image_format image_format,
pi_image_desc image_desc,
pi_interop_mem_handle  mem_handle,
pi_image_mem_handle ret_mem 
)

API to map an interop memory handle to an image memory handle.

Parameters
contextis the pi_context
deviceis the pi_device
image_formatformat of the image (channel order and data type)
image_descimage descriptor
mem_handleis the interop memory handle to the external memory
ret_memis the returned image memory handle to the externally allocated memory

Definition at line 464 of file pi_cuda.cpp.

References pi2ur::piextMemMapExternalArray().

Referenced by sycl::_V1::ext::oneapi::experimental::map_external_image_memory().

◆ piextMemMipmapFree()

pi_result piextMemMipmapFree ( pi_context  context,
pi_device  device,
pi_image_mem_handle  memory_handle 
)

API to free mipmap memory for bindless images.

Parameters
contextis the pi_context
deviceis the pi_device
memory_handleis the handle to image memory to be freed

Definition at line 421 of file pi_cuda.cpp.

References pi2ur::piextMemMipmapFree().

Referenced by sycl::_V1::ext::oneapi::experimental::free_image_mem(), and sycl::_V1::ext::oneapi::experimental::free_mipmap_mem().

◆ piextMemMipmapGetLevel()

pi_result piextMemMipmapGetLevel ( pi_context  context,
pi_device  device,
pi_image_mem_handle  mip_mem,
unsigned int  level,
pi_image_mem_handle ret_mem 
)

API to retrieve individual image from mipmap.

Parameters
contextis the pi_context
deviceis the pi_device
mip_memis the memory handle to the mipmap
levelis the requested level of the mipmap
ret_memis the returning memory handle to the individual image

Definition at line 408 of file pi_cuda.cpp.

References pi2ur::piextMemMipmapGetLevel().

Referenced by sycl::_V1::ext::oneapi::experimental::get_mip_level_mem_handle().

◆ piextMemReleaseInterop()

pi_result piextMemReleaseInterop ( pi_context  context,
pi_device  device,
pi_interop_mem_handle  memory_handle 
)

API to destroy interop memory.

Parameters
contextis the pi_context
deviceis the pi_device
memory_handleis the handle to interop memory to be freed

Definition at line 472 of file pi_cuda.cpp.

References pi2ur::piextMemReleaseInterop().

Referenced by sycl::_V1::ext::oneapi::experimental::release_external_memory().

◆ piextMemSampledImageCreate()

pi_result piextMemSampledImageCreate ( pi_context  context,
pi_device  device,
pi_image_mem_handle  img_mem,
pi_image_format image_format,
pi_image_desc image_desc,
pi_sampler  sampler,
pi_image_handle ret_handle 
)

API to create sampled bindless image handles.

Parameters
contextis the pi_context
deviceis the pi_device
img_memis the handle to memory from which to create the image
image_formatformat of the image (channel order and data type)
image_descimage descriptor
sampleris the pi_sampler
ret_memis the returning pi_mem image object
ret_handleis the returning memory handle to newly allocated memory

Definition at line 391 of file pi_cuda.cpp.

References pi2ur::piextMemSampledImageCreate().

Referenced by sycl::_V1::ext::oneapi::experimental::create_image().

◆ piextMemSampledImageHandleDestroy()

pi_result piextMemSampledImageHandleDestroy ( pi_context  context,
pi_device  device,
pi_image_handle  handle 
)

API to destroy bindless sampled image handles.

Parameters
contextis the pi_context
handleis the image handle

Definition at line 444 of file pi_cuda.cpp.

References pi2ur::piextMemSampledImageHandleDestroy().

Referenced by sycl::_V1::ext::oneapi::experimental::destroy_image_handle().

◆ piextMemUnsampledImageCreate()

pi_result piextMemUnsampledImageCreate ( pi_context  context,
pi_device  device,
pi_image_mem_handle  img_mem,
pi_image_format image_format,
pi_image_desc image_desc,
pi_image_handle ret_handle 
)

API to create bindless image handles.

Parameters
contextis the pi_context
deviceis the pi_device
img_memis the handle to memory from which to create the image
image_formatformat of the image (channel order and data type)
image_descimage descriptor
ret_memis the returning pi_mem image object
ret_handleis the returning memory handle to newly allocated memory

Definition at line 383 of file pi_cuda.cpp.

References pi2ur::piextMemUnsampledImageCreate().

Referenced by sycl::_V1::ext::oneapi::experimental::create_image().

◆ piextMemUnsampledImageHandleDestroy()

pi_result piextMemUnsampledImageHandleDestroy ( pi_context  context,
pi_device  device,
pi_image_handle  handle 
)

API to destroy bindless unsampled image handles.

Parameters
contextis the pi_context
deviceis the pi_device
handleis the image handle

Definition at line 439 of file pi_cuda.cpp.

References pi2ur::piextMemUnsampledImageHandleDestroy().

Referenced by sycl::_V1::ext::oneapi::experimental::destroy_image_handle().

◆ piextPeerAccessGetInfo()

pi_result piextPeerAccessGetInfo ( pi_device  command_device,
pi_device  peer_device,
pi_peer_attr  attr,
size_t  param_value_size,
void *  param_value,
size_t *  param_value_size_ret 
)

◆ 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 47 of file pi_cuda.cpp.

References pi2ur::piextPlatformCreateWithNativeHandle().

Referenced by sycl::_V1::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 42 of file pi_cuda.cpp.

References pi2ur::piextPlatformGetNativeHandle().

Referenced by sycl::_V1::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 1245 of file pi_cuda.cpp.

References pi2ur::piextPluginGetOpaqueData().

Referenced by sycl::_V1::detail::getPluginOpaqueData(), and piPluginInit().

◆ 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 333 of file pi_cuda.cpp.

References pi2ur::piextProgramCreateWithNativeHandle().

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

◆ piextProgramGetNativeHandle()

pi_result piextProgramGetNativeHandle ( pi_program  program,
pi_native_handle nativeHandle 
)

Gets the native handle of a PI program object.

Parameters
programis the PI program to get the native handle of.
nativeHandleis the native handle of program.

Definition at line 328 of file pi_cuda.cpp.

References pi2ur::piextProgramGetNativeHandle().

Referenced by sycl::_V1::detail::device_image_impl::getNative(), sycl::_V1::detail::program_impl::getNative(), and piPluginInit().

◆ 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.

Note: Only used when specialization constants are natively supported (SPIR-V binaries), and not when they are emulated (AOT binaries).

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 1067 of file pi_cuda.cpp.

References pi2ur::piextProgramSetSpecializationConstant().

Referenced by sycl::_V1::detail::enableITTAnnotationsIfNeeded(), sycl::_V1::detail::program_impl::flush_spec_constants(), piPluginInit(), and sycl::_V1::detail::setSpecializationConstants().

◆ piextQueueCreate()

pi_result piextQueueCreate ( pi_context  context,
pi_device  device,
pi_queue_properties properties,
pi_queue queue 
)
Parameters
propertiespoints to a zero-terminated array of extra data describing desired queue properties. Format is {[PROPERTY[, property-specific elements of data]*,]* 0}

Definition at line 167 of file pi_cuda.cpp.

References pi2ur::piextQueueCreate().

Referenced by sycl::_V1::detail::queue_impl::createQueue(), piPluginInit(), and piQueueCreate().

◆ piextQueueCreateWithNativeHandle()

pi_result piextQueueCreateWithNativeHandle ( pi_native_handle  nativeHandle,
int32_t  nativeHandleDesc,
pi_context  context,
pi_device  device,
bool  pluginOwnsNativeHandle,
pi_queue_properties Properties,
pi_queue queue 
)

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.
nativeHandleDescprovides additional properties of the native handle.
contextis the PI context of the queue.
deviceis the PI device associated with the native device used when creating the native queue. This parameter is optional but some backends may fail to create the right PI queue if omitted.
pluginOwnsNativeHandleIndicates whether the created PI object should take ownership of the native handle.
Propertiesholds queue properties.
queueis the PI queue created from the native handle.

Definition at line 198 of file pi_cuda.cpp.

References pi2ur::piextQueueCreateWithNativeHandle().

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

◆ piextQueueGetNativeHandle()

pi_result piextQueueGetNativeHandle ( pi_queue  queue,
pi_native_handle nativeHandle,
int32_t *  nativeHandleDesc 
)

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 or commandlist.
nativeHandleDescprovides additional properties of the native handle.

Definition at line 190 of file pi_cuda.cpp.

References pi2ur::piextQueueGetNativeHandle().

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

◆ piextSignalExternalSemaphore()

pi_result piextSignalExternalSemaphore ( pi_queue  command_queue,
pi_interop_semaphore_handle  sem_handle,
pi_uint32  num_events_in_wait_list,
const pi_event event_wait_list,
pi_event event 
)

API to instruct the queue to signal the external semaphore handle once all previous commands have completed execution.

Parameters
command_queueis the queue instructed to signal
sem_handleis the interop semaphore handle to signal
num_events_in_wait_listis the number of events in the wait list
event_wait_listis the list of events to wait on before this operation
eventis the returned event representing this operation

Definition at line 499 of file pi_cuda.cpp.

References pi2ur::piextSignalExternalSemaphore().

◆ 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

Definition at line 867 of file pi_cuda.cpp.

References sycl::_V1::ext::oneapi::experimental::detail::Alignment, and pi2ur::piextUSMDeviceAlloc().

Referenced by sycl::_V1::detail::usm::alignedAllocInternal(), and piPluginInit().

◆ piextUSMEnqueueFill2D()

pi_result piextUSMEnqueueFill2D ( pi_queue  Queue,
void *  Ptr,
size_t  Pitch,
size_t  PatternSize,
const void *  Pattern,
size_t  Width,
size_t  Height,
pi_uint32  NumEventsWaitList,
const pi_event EventsWaitList,
pi_event Event 
)

USM 2D fill API.

Parameters
queueis the queue to submit to
ptris the ptr to fill
pitchis the total width of the destination memory including padding
patternis a pointer with the bytes of the pattern to set
pattern_sizeis the size in bytes of the pattern
widthis width in bytes of each row to fill
heightis height the columns to fill
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

USM 2D fill API.

Parameters
queueis the queue to submit to
ptris the ptr to fill
pitchis the total width of the destination memory including padding
patternis a pointer with the bytes of the pattern to set
pattern_sizeis the size in bytes of the pattern
widthis width in bytes of each row to fill
heightis height the columns to fill
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 948 of file pi_cuda.cpp.

References pi2ur::piextUSMEnqueueFill2D().

Referenced by sycl::_V1::detail::MemoryManager::fill_2d_usm(), and piPluginInit().

◆ piextUSMEnqueueMemAdvise()

pi_result piextUSMEnqueueMemAdvise ( pi_queue  Queue,
const void *  Ptr,
size_t  Length,
pi_mem_advice  Advice,
pi_event OutEvent 
)

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

Definition at line 941 of file pi_cuda.cpp.

References pi2ur::piextUSMEnqueueMemAdvise().

Referenced by sycl::_V1::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 920 of file pi_cuda.cpp.

References pi2ur::piextUSMEnqueueMemcpy().

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

◆ piextUSMEnqueueMemcpy2D()

pi_result piextUSMEnqueueMemcpy2D ( pi_queue  Queue,
pi_bool  Blocking,
void *  DstPtr,
size_t  DstPitch,
const void *  SrcPtr,
size_t  SrcPitch,
size_t  Width,
size_t  Height,
pi_uint32  NumEventsInWaitList,
const pi_event EventsWaitList,
pi_event Event 
)

USM 2D Memcpy API.

Parameters
queueis the queue to submit to
blockingis whether this operation should block the host
dst_ptris the location the data will be copied
dst_pitchis the total width of the destination memory including padding
src_ptris the data to be copied
src_pitchis the total width of the source memory including padding
widthis width in bytes of each row to be copied
heightis height the columns to be copied
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
blockingis whether this operation should block the host
dst_ptris the location the data will be copied
dst_pitchis the total width of the destination memory including padding
src_ptris the data to be copied
dst_pitchis the total width of the source memory including padding
widthis width in bytes of each row to be copied
heightis height the columns to be copied
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 973 of file pi_cuda.cpp.

References pi2ur::piextUSMEnqueueMemcpy2D().

Referenced by sycl::_V1::detail::MemoryManager::copy_2d_usm(), and piPluginInit().

◆ piextUSMEnqueueMemset()

pi_result piextUSMEnqueueMemset ( pi_queue  Queue,
void *  Ptr,
pi_int32  Value,
size_t  Count,
pi_uint32  NumEventsInWaitlist,
const pi_event EventsWaitlist,
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 912 of file pi_cuda.cpp.

References pi2ur::piextUSMEnqueueMemset().

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

◆ piextUSMEnqueueMemset2D()

pi_result piextUSMEnqueueMemset2D ( pi_queue  Queue,
void *  Ptr,
size_t  Pitch,
int  Value,
size_t  Width,
size_t  Height,
pi_uint32  NumEventsWaitList,
const pi_event EventsWaitlist,
pi_event Event 
)

USM 2D Memset API.

Parameters
queueis the queue to submit to
ptris the ptr to fill
pitchis the total width of the destination memory including padding
valuethe value to fill into the region in
ptr
widthis width in bytes of each row to fill
heightis height the columns to fill
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 fill
pitchis the total width of the destination memory including padding
patternis a pointer with the bytes of the pattern to set
pattern_sizeis the size in bytes of the pattern
widthis width in bytes of each row to fill
heightis height the columns to fill
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 961 of file pi_cuda.cpp.

References pi2ur::piextUSMEnqueueMemset2D().

Referenced by sycl::_V1::detail::MemoryManager::memset_2d_usm(), and piPluginInit().

◆ piextUSMEnqueuePrefetch()

pi_result piextUSMEnqueuePrefetch ( pi_queue  Queue,
const void *  Ptr,
size_t  Size,
pi_usm_migration_flags  Flags,
pi_uint32  NumEventsInWaitList,
const pi_event EventWaitList,
pi_event OutEvent 
)

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 931 of file pi_cuda.cpp.

References pi2ur::piextUSMEnqueuePrefetch().

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

◆ piextUSMFree()

pi_result piextUSMFree ( pi_context  context,
void *  ptr 
)

Indicates that the allocated USM memory is no longer needed on the runtime side.

The actual freeing of the memory may be done in a blocking or deferred manner, e.g. to avoid issues with indirect memory access from kernels.

Parameters
contextis the pi_context of the allocation
ptris the memory to be freed

Definition at line 902 of file pi_cuda.cpp.

References pi2ur::piextUSMFree().

Referenced by sycl::_V1::detail::usm::freeInternal(), and piPluginInit().

◆ piextUSMGetMemAllocInfo()

pi_result piextUSMGetMemAllocInfo ( pi_context  Context,
const void *  Ptr,
pi_mem_alloc_info  ParamName,
size_t  ParamValueSize,
void *  ParamValue,
size_t *  ParamValueSizeRet 
)

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

Definition at line 984 of file pi_cuda.cpp.

References pi2ur::piextUSMGetMemAllocInfo().

Referenced by 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

Definition at line 895 of file pi_cuda.cpp.

References sycl::_V1::ext::oneapi::experimental::detail::Alignment, and pi2ur::piextUSMHostAlloc().

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

◆ piextUSMImport()

pi_result piextUSMImport ( const void *  ptr,
size_t  size,
pi_context  context 
)

Import host system memory into USM.

Parameters
ptrstart address of memory range to import
sizeis the number of bytes to import
contextis the pi_context

Definition at line 992 of file pi_cuda.cpp.

References pi2ur::piextUSMImport().

Referenced by piPluginInit().

◆ piextUSMPitchedAlloc()

pi_result piextUSMPitchedAlloc ( void **  result_ptr,
size_t *  result_pitch,
pi_context  context,
pi_device  device,
pi_usm_mem_properties properties,
size_t  width_in_bytes,
size_t  height,
unsigned int  element_size_bytes 
)

Allocates memory accessible on device.

Parameters
result_ptrcontains the allocated memory
result_pitchcontains the returned memory pitch
contextis the pi_context
deviceis the device the memory will be allocated on
propertiesare optional allocation properties
width_in_bytesis the width of the allocation in bytes
heightis the height of the allocation in rows
element_size_bytesis the size in bytes of an element in the allocation

Definition at line 885 of file pi_cuda.cpp.

References pi2ur::piextUSMPitchedAlloc().

Referenced by sycl::_V1::ext::oneapi::experimental::pitched_alloc_device().

◆ piextUSMRelease()

pi_result piextUSMRelease ( const void *  ptr,
pi_context  context 
)

Release host system memory from USM.

Parameters
ptrstart address of imported memory range
contextis the pi_context

Definition at line 996 of file pi_cuda.cpp.

References pi2ur::piextUSMRelease().

Referenced by 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

Definition at line 876 of file pi_cuda.cpp.

References sycl::_V1::ext::oneapi::experimental::detail::Alignment, and pi2ur::piextUSMSharedAlloc().

Referenced by sycl::_V1::detail::usm::alignedAllocInternal(), and piPluginInit().

◆ piextWaitExternalSemaphore()

pi_result piextWaitExternalSemaphore ( pi_queue  command_queue,
pi_interop_semaphore_handle  sem_handle,
pi_uint32  num_events_in_wait_list,
const pi_event event_wait_list,
pi_event event 
)

API to instruct the queue with a non-blocking wait on an external semaphore.

Parameters
command_queueis the queue instructed to wait
sem_handleis the interop semaphore handle
num_events_in_wait_listis the number of events in the wait list
event_wait_listis the list of events to wait on before this operation
eventis the returned event representing this operation

Definition at line 491 of file pi_cuda.cpp.

References pi2ur::piextWaitExternalSemaphore().

◆ piGetDeviceAndHostTimer()

pi_result piGetDeviceAndHostTimer ( pi_device  Device,
uint64_t *  DeviceTime,
uint64_t *  HostTime 
)

Queries device for it's global timestamp in nanoseconds, and updates HostTime with the value of the host timer at the closest possible point in time to that at which DeviceTime was returned.

Parameters
Devicedevice to query for timestamp
DeviceTimepointer to store device timestamp in nanoseconds. Optional argument, can be nullptr
HostTimepointer to store host timestamp in nanoseconds. Optional argurment, can be nullptr in which case timestamp will not be written

Definition at line 1254 of file pi_cuda.cpp.

References pi2ur::piGetDeviceAndHostTimer().

Referenced by sycl::_V1::detail::device_impl::getCurrentDeviceTime(), sycl::_V1::detail::device_impl::isGetDeviceAndHostTimerSupported(), and piPluginInit().

◆ piKernelCreate()

pi_result piKernelCreate ( pi_program  program,
const char *  kernel_name,
pi_kernel ret_kernel 
)

◆ piKernelGetGroupInfo()

◆ piKernelGetInfo()

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 
)

◆ 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 515 of file pi_cuda.cpp.

References pi2ur::piKernelGetSubGroupInfo().

Referenced by sycl::_V1::detail::get_kernel_device_specific_info_helper(), sycl::_V1::detail::get_kernel_device_specific_info_with_input(), and piPluginInit().

◆ piKernelRelease()

◆ piKernelRetain()

◆ piKernelSetArg()

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

Definition at line 347 of file pi_cuda.cpp.

References pi2ur::piKernelSetArg().

Referenced by piPluginInit(), and sycl::_V1::detail::SetArgBasedOnType().

◆ piKernelSetExecInfo()

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.

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 1060 of file pi_cuda.cpp.

References pi2ur::piKernelSetExecInfo().

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

◆ piMemBufferCreate()

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 
)

Definition at line 210 of file pi_cuda.cpp.

References pi2ur::piMemBufferCreate().

Referenced by sycl::_V1::detail::memBufferCreateHelper(), and piPluginInit().

◆ piMemBufferPartition()

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 
)

◆ piMemGetInfo()

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

◆ piMemImageCreate()

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 
)

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

Definition at line 788 of file pi_cuda.cpp.

References pi2ur::piMemImageGetInfo().

Referenced by sycl::_V1::detail::getImageInfo(), and piPluginInit().

◆ piMemRelease()

◆ piMemRetain()

◆ piPlatformGetInfo()

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 
)

◆ piPlatformsGet()

pi_result piPlatformsGet ( pi_uint32  num_entries,
pi_platform platforms,
pi_uint32 num_platforms 
)

◆ piPluginGetBackendOption()

pi_result piPluginGetBackendOption ( pi_platform  platform,
const char *  frontend_option,
const char **  backend_option 
)

API to get backend specific option.

Parameters
frontend_optionis a string that contains frontend option.
backend_optionis used to return the backend option corresponding to frontend option.
Returns
PI_SUCCESS is returned for valid frontend_option. If a valid backend option is not available, an empty string is returned.

Definition at line 56 of file pi_cuda.cpp.

References pi2ur::piPluginGetBackendOption().

Referenced by sycl::_V1::detail::platform_impl::getBackendOption(), and piPluginInit().

◆ piPluginGetLastError()

pi_result piPluginGetLastError ( char **  message)

API to get Plugin specific warning and error messages.

Parameters
messageis a returned address to the first element in the message the plugin owns the error message string. The string is thread-local. As a result, different threads may return different errors. A message is overwritten by the following error or warning that is produced within the given thread. The memory is cleaned up at the end of the thread's lifetime.
Returns
PI_SUCCESS if plugin is indicating non-fatal warning. Any other error code indicates that plugin considers this to be a fatal error and the Returns the global timestamp from
Parameters
device,andsyncronized host timestamp

Definition at line 52 of file pi_cuda.cpp.

References pi2ur::piPluginGetLastError().

Referenced by sycl::_V1::detail::device_impl::getCurrentDeviceTime().

◆ piPluginInit()

pi_result piPluginInit ( pi_plugin plugin_info)

Definition at line 1282 of file pi_cuda.cpp.

References _PI_API, _PI_LEVEL_ZERO_PLUGIN_VERSION_STRING, _PI_PLUGIN_VERSION_CHECK, _PI_SANITIZE_TYPE_ADDRESS, _PI_UNIFIED_RUNTIME_PLUGIN_VERSION_STRING, Adapters, createCUDATracingContext(), enableCUDATracing(), enableZeTracing(), HANDLE_ERRORS, PI_ASSERT, 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(), piEnqueueTimestampRecordingExp(), piEventCreate(), piEventGetInfo(), piEventGetProfilingInfo(), piEventRelease(), piEventRetain(), piEventSetCallback(), piEventSetStatus(), piEventsWait(), piextContextCreateWithNativeHandle(), piextContextGetNativeHandle(), piextContextSetExtendedDeleter(), piextDeviceCreateWithNativeHandle(), piextDeviceGetNativeHandle(), piextDeviceSelectBinary(), piextDisablePeerAccess(), piextEnablePeerAccess(), piextEnqueueDeviceGlobalVariableRead(), piextEnqueueDeviceGlobalVariableWrite(), piextEventCreateWithNativeHandle(), piextEventGetNativeHandle(), piextGetDeviceFunctionPointer(), piextGetGlobalVariablePointer(), piextKernelCreateWithNativeHandle(), piextKernelSetArgMemObj(), piextKernelSetArgPointer(), piextKernelSetArgSampler(), piextMemCreateWithNativeHandle(), piextMemGetNativeHandle(), piextPeerAccessGetInfo(), piextPlatformCreateWithNativeHandle(), piextPlatformGetNativeHandle(), piextPluginGetOpaqueData(), piextProgramCreateWithNativeHandle(), piextProgramGetNativeHandle(), piextProgramSetSpecializationConstant(), piextQueueCreate(), piextQueueCreateWithNativeHandle(), piextQueueGetNativeHandle(), piextUSMDeviceAlloc(), piextUSMEnqueueFill2D(), piextUSMEnqueueMemAdvise(), piextUSMEnqueueMemcpy(), piextUSMEnqueueMemcpy2D(), piextUSMEnqueueMemset(), piextUSMEnqueueMemset2D(), piextUSMEnqueuePrefetch(), piextUSMFree(), piextUSMGetMemAllocInfo(), piextUSMHostAlloc(), piextUSMImport(), piextUSMRelease(), piextUSMSharedAlloc(), _pi_plugin::PiFunctionTable, piGetDeviceAndHostTimer(), piKernelCreate(), piKernelGetGroupInfo(), piKernelGetInfo(), piKernelGetSubGroupInfo(), piKernelRelease(), piKernelRetain(), piKernelSetArg(), piKernelSetExecInfo(), piMemBufferCreate(), piMemBufferPartition(), piMemGetInfo(), piMemImageCreate(), piMemImageGetInfo(), piMemRelease(), piMemRetain(), piPlatformGetInfo(), piPlatformsGet(), piPluginGetBackendOption(), piProgramBuild(), piProgramCompile(), piProgramCreate(), piProgramCreateWithBinary(), piProgramGetBuildInfo(), piProgramGetInfo(), piProgramLink(), piProgramRelease(), piProgramRetain(), piQueueCreate(), piQueueFinish(), piQueueFlush(), piQueueGetInfo(), piQueueRelease(), piQueueRetain(), piSamplerCreate(), piSamplerGetInfo(), piSamplerRelease(), piSamplerRetain(), piTearDown(), _pi_plugin::PiVersion, _pi_plugin::PluginVersion, _pi_plugin::SanitizeType, SupportedVersion, ur2piResult(), and AdapterHolder::Vec.

Referenced by sycl::_V1::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()

pi_result piProgramCreate ( pi_context  context,
const void *  il,
size_t  length,
pi_program res_program 
)

◆ 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 253 of file pi_cuda.cpp.

References pi2ur::piProgramCreateWithBinary().

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

◆ piProgramGetBuildInfo()

pi_result piProgramGetBuildInfo ( pi_program  program,
pi_device  device,
_pi_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()

pi_result piQueueCreate ( pi_context  context,
pi_device  device,
pi_queue_properties  properties,
pi_queue queue 
)

Definition at line 161 of file pi_cuda.cpp.

References PI_QUEUE_FLAGS, piextQueueCreate(), and pi2ur::piQueueCreate().

Referenced by piPluginInit().

◆ piQueueFinish()

◆ piQueueFlush()

pi_result piQueueFlush ( pi_queue  command_queue)

◆ piQueueGetInfo()

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 
)

◆ piQueueRelease()

pi_result piQueueRelease ( pi_queue  command_queue)

Definition at line 182 of file pi_cuda.cpp.

References pi2ur::piQueueRelease().

Referenced by piPluginInit(), and sycl::_V1::detail::queue_impl::~queue_impl().

◆ piQueueRetain()

pi_result piQueueRetain ( pi_queue  command_queue)

◆ piSamplerCreate()

pi_result piSamplerCreate ( pi_context  context,
const pi_sampler_properties sampler_properties,
pi_sampler result_sampler 
)

◆ 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()

pi_result piSamplerRelease ( pi_sampler  sampler)

◆ piSamplerRetain()

pi_result piSamplerRetain ( pi_sampler  sampler)

Definition at line 656 of file pi_cuda.cpp.

References pi2ur::piSamplerRetain().

Referenced by piPluginInit(), and sycl::_V1::detail::sampler_impl::sampler_impl().

◆ 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 1250 of file pi_cuda.cpp.

References Adapters, pi2ur::piTearDown(), releaseAdapters(), and AdapterHolder::Vec.

Referenced by piPluginInit(), and sycl::_V1::detail::GlobalHandler::unloadPlugins().

Variable Documentation

◆ PI_DEVICE_AFFINITY_DOMAIN_L1_CACHE

constexpr pi_device_affinity_domain PI_DEVICE_AFFINITY_DOMAIN_L1_CACHE
staticconstexpr

◆ PI_DEVICE_AFFINITY_DOMAIN_L2_CACHE

constexpr pi_device_affinity_domain PI_DEVICE_AFFINITY_DOMAIN_L2_CACHE
staticconstexpr

◆ PI_DEVICE_AFFINITY_DOMAIN_L3_CACHE

constexpr pi_device_affinity_domain PI_DEVICE_AFFINITY_DOMAIN_L3_CACHE
staticconstexpr

◆ PI_DEVICE_AFFINITY_DOMAIN_L4_CACHE

constexpr pi_device_affinity_domain PI_DEVICE_AFFINITY_DOMAIN_L4_CACHE
staticconstexpr

◆ PI_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE

constexpr pi_device_affinity_domain PI_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE = (1 << 5)
staticconstexpr

Definition at line 905 of file pi.h.

Referenced by sycl::_V1::detail::read_domain_bitfield(), and ur2piDeviceInfoValue().

◆ PI_DEVICE_AFFINITY_DOMAIN_NUMA

◆ PI_DEVICE_BINARIES_VERSION

const uint16_t PI_DEVICE_BINARIES_VERSION = 1
static

◆ 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

◆ PI_DEVICE_BINARY_TYPE_NONE

constexpr pi_device_binary_type PI_DEVICE_BINARY_TYPE_NONE = 0
staticconstexpr

Definition at line 968 of file