169 #define _PI_H_VERSION_MAJOR 15
170 #define _PI_H_VERSION_MINOR 48
172 #define _PI_STRING_HELPER(a) #a
173 #define _PI_CONCAT(a, b) _PI_STRING_HELPER(a.b)
174 #define _PI_TRIPLE_CONCAT(a, b, c) _PI_STRING_HELPER(a.b.c)
181 #define _PI_PLUGIN_VERSION_STRING(PluginVersion) \
182 _PI_TRIPLE_CONCAT(_PI_H_VERSION_MAJOR, _PI_H_VERSION_MINOR, PluginVersion)
184 #define _PI_H_VERSION_STRING \
185 _PI_CONCAT(_PI_H_VERSION_MAJOR, _PI_H_VERSION_MINOR)
189 #define _PI_STRING_SUBSTITUTE(X) _PI_STRING_HELPER(X)
190 #define _PI_PLUGIN_VERSION_CHECK(PI_API_VERSION, PI_PLUGIN_VERSION) \
191 if (strncmp(PI_API_VERSION, PI_PLUGIN_VERSION, \
192 sizeof(_PI_STRING_SUBSTITUTE(_PI_H_VERSION_MAJOR))) < 0) { \
193 return PI_ERROR_INVALID_OPERATION; \
225 #define _PI_ERRC(NAME, VAL) NAME = VAL,
226 #define _PI_ERRC_WITH_MSG(NAME, VAL, MSG) NAME = VAL,
227 #include <sycl/detail/pi_error.def>
229 #undef _PI_ERRC_WITH_MSG
963 #define __SYCL_PI_DEVICE_BINARY_TARGET_UNKNOWN "<unknown>"
965 #define __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV32 "spir"
967 #define __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64 "spir64"
970 #define __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_X86_64 "spir64_x86_64"
971 #define __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_GEN "spir64_gen"
972 #define __SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64_FPGA "spir64_fpga"
974 #define __SYCL_PI_DEVICE_BINARY_TARGET_NVPTX64 "nvptx64"
975 #define __SYCL_PI_DEVICE_BINARY_TARGET_AMDGCN "amdgcn"
976 #define __SYCL_PI_DEVICE_BINARY_TARGET_NATIVE_CPU "native_cpu"
981 #define PI_DEVICE_INFO_EXTENSION_DEVICELIB_ASSERT "cl_intel_devicelib_assert"
987 #define __SYCL_PI_PROPERTY_SET_SPEC_CONST_MAP "SYCL/specialization constants"
990 #define __SYCL_PI_PROPERTY_SET_SPEC_CONST_DEFAULT_VALUES_MAP \
991 "SYCL/specialization constants default values"
993 #define __SYCL_PI_PROPERTY_SET_DEVICELIB_REQ_MASK "SYCL/devicelib req mask"
995 #define __SYCL_PI_PROPERTY_SET_KERNEL_PARAM_OPT_INFO "SYCL/kernel param opt"
997 #define __SYCL_PI_PROPERTY_SET_PROGRAM_METADATA "SYCL/program metadata"
999 #define __SYCL_PI_PROPERTY_SET_SYCL_MISC_PROP "SYCL/misc properties"
1001 #define __SYCL_PI_PROPERTY_SET_SYCL_ASSERT_USED "SYCL/assert used"
1003 #define __SYCL_PI_PROPERTY_SET_SYCL_EXPORTED_SYMBOLS "SYCL/exported symbols"
1005 #define __SYCL_PI_PROPERTY_SET_SYCL_DEVICE_GLOBALS "SYCL/device globals"
1007 #define __SYCL_PI_PROPERTY_SET_SYCL_DEVICE_REQUIREMENTS \
1008 "SYCL/device requirements"
1010 #define __SYCL_PI_PROPERTY_SET_SYCL_HOST_PIPES "SYCL/host pipes"
1014 #define __SYCL_PI_PROGRAM_METADATA_TAG_REQD_WORK_GROUP_SIZE \
1015 "@reqd_work_group_size"
1016 #define __SYCL_PI_PROGRAM_METADATA_GLOBAL_ID_MAPPING "@global_id_mapping"
1018 #define __SYCL_PI_PROGRAM_METADATA_TAG_NEED_FINALIZATION "Requires finalization"
1229 size_t param_value_size,
1231 size_t *param_value_size_ret);
1259 size_t param_value_size,
void *param_value,
size_t *param_value_size_ret);
1266 size_t param_value_size,
1268 size_t *param_value_size_ret);
1319 size_t *GlobalVariableSize,
void **GlobalVariablePointerRet);
1327 void (*pfn_notify)(
const char *errinfo,
const void *private_info,
size_t cb,
1333 size_t param_value_size,
1335 size_t *param_value_size_ret);
1398 size_t param_value_size,
1400 size_t *param_value_size_ret);
1433 pi_device device,
bool pluginOwnsNativeHandle,
1449 size_t param_value_size,
void *param_value,
1450 size_t *param_value_size_ret);
1454 size_t param_value_size,
1456 size_t *param_value_size_ret);
1464 void *buffer_create_info,
pi_mem *ret_mem);
1529 const size_t *lengths,
const unsigned char **binaries,
1535 size_t param_value_size,
1537 size_t *param_value_size_ret);
1541 const pi_device *device_list,
const char *options,
1543 void (*pfn_notify)(
pi_program program,
void *user_data),
1548 const char *options,
pi_uint32 num_input_headers,
1549 const pi_program *input_headers,
const char **header_include_names,
1550 void (*pfn_notify)(
pi_program program,
void *user_data),
void *user_data);
1554 const char *options,
1555 void (*pfn_notify)(
pi_program program,
void *user_data),
void *user_data);
1559 size_t param_value_size,
void *param_value,
size_t *param_value_size_ret);
1576 size_t spec_size,
const void *spec_value);
1595 bool pluginOwnsNativeHandle,
pi_program *program);
1613 const char *kernel_name,
1617 size_t arg_size,
const void *arg_value);
1621 size_t param_value_size,
1623 size_t *param_value_size_ret);
1627 size_t param_value_size,
1629 size_t *param_value_size_ret);
1651 size_t input_value_size,
const void *input_value,
size_t param_value_size,
1652 void *param_value,
size_t *param_value_size_ret);
1668 const void *arg_value);
1683 size_t param_value_size,
1684 const void *param_value);
1697 bool pluginOwnsNativeHandle,
pi_kernel *kernel);
1715 pi_kernel kernel,
size_t local_work_size,
size_t dynamic_shared_memory_size,
1729 size_t param_value_size,
1731 size_t *param_value_size_ret);
1735 size_t param_value_size,
1737 size_t *param_value_size_ret);
1783 size_t param_value_size,
1785 size_t *param_value_size_ret);
1796 const size_t *global_work_offset,
const size_t *global_work_size,
1797 const size_t *local_work_size,
pi_uint32 num_events_in_wait_list,
1802 const size_t *global_work_offset,
const size_t *global_work_size,
1803 const size_t *local_work_size,
pi_uint32 num_events_in_wait_list,
1817 size_t size,
void *ptr,
pi_uint32 num_events_in_wait_list,
1824 size_t buffer_slice_pitch,
size_t host_row_pitch,
size_t host_slice_pitch,
1825 void *ptr,
pi_uint32 num_events_in_wait_list,
1830 pi_bool blocking_write,
size_t offset,
size_t size,
1831 const void *ptr,
pi_uint32 num_events_in_wait_list,
1838 size_t buffer_slice_pitch,
size_t host_row_pitch,
size_t host_slice_pitch,
1839 const void *ptr,
pi_uint32 num_events_in_wait_list,
1844 pi_mem dst_buffer,
size_t src_offset,
size_t dst_offset,
1845 size_t size,
pi_uint32 num_events_in_wait_list,
1852 size_t dst_row_pitch,
size_t dst_slice_pitch,
1858 const void *pattern,
size_t pattern_size,
size_t offset,
1859 size_t size,
pi_uint32 num_events_in_wait_list,
1865 size_t slice_pitch,
void *ptr,
pi_uint32 num_events_in_wait_list,
1871 size_t input_slice_pitch,
const void *ptr,
1883 const void *fill_color,
const size_t *origin,
1884 const size_t *region,
pi_uint32 num_events_in_wait_list,
1900 #define PI_BIT(_i) (1 << _i)
2036 void **result_ptr,
size_t *result_pitch,
pi_context context,
2038 size_t height,
unsigned int element_size_bytes);
2077 const void *src_ptr,
size_t size,
2105 const void *ptr,
size_t length,
2127 size_t param_value_size,
void *param_value,
size_t *param_value_size_ret);
2142 size_t pitch,
size_t pattern_size,
2143 const void *pattern,
size_t width,
2161 pi_queue queue,
void *ptr,
size_t pitch,
int value,
size_t width,
2162 size_t height,
pi_uint32 num_events_in_waitlist,
2181 const void *src_ptr,
size_t src_pitch,
size_t width,
size_t height,
2218 pi_bool blocking_write,
size_t count,
size_t offset,
const void *src,
2237 size_t count,
size_t offset,
void *dst,
pi_uint32 num_events_in_wait_list,
2267 pi_bool blocking,
void *ptr,
size_t size,
pi_uint32 num_events_in_waitlist,
2290 pi_bool blocking,
void *ptr,
size_t size,
pi_uint32 num_events_in_waitlist,
2300 void **opaque_data_return);
2328 const char *frontend_option,
2329 const char **backend_option);
2342 uint64_t *DeviceTime,
2343 uint64_t *HostTime);
2347 struct _pi_ext_sync_point;
2348 struct _pi_ext_command_buffer_command;
2442 const size_t *global_work_offset,
const size_t *global_work_size,
2443 const size_t *local_work_size,
pi_uint32 num_sync_points_in_wait_list,
2459 size_t size,
pi_uint32 num_sync_points_in_wait_list,
2477 size_t src_offset,
size_t dst_offset,
size_t size,
2502 size_t dst_row_pitch,
size_t dst_slice_pitch,
2520 size_t size,
void *dst,
pi_uint32 num_sync_points_in_wait_list,
2544 size_t buffer_slice_pitch,
size_t host_row_pitch,
size_t host_slice_pitch,
2545 void *ptr,
pi_uint32 num_sync_points_in_wait_list,
2562 size_t size,
const void *ptr,
pi_uint32 num_sync_points_in_wait_list,
2586 size_t buffer_slice_pitch,
size_t host_row_pitch,
size_t host_slice_pitch,
2587 const void *ptr,
pi_uint32 num_sync_points_in_wait_list,
2605 size_t pattern_size,
size_t offset,
size_t size,
2623 size_t pattern_size,
size_t size,
pi_uint32 num_sync_points_in_wait_list,
2790 float min_mipmap_level_clamp,
float max_mipmap_level_clamp,
2791 float max_anisotropy,
pi_sampler *result_sampler);
2809 pi_queue command_queue,
void *dst_ptr,
void *src_ptr,
2824 void *param_value,
size_t *param_value_size_ret);
2928 #define _PI_API(api) decltype(::api) *api;
2929 #include <sycl/detail/pi.def>
constexpr alignment_key::value_t< K > alignment
multi_ptr< ElementType, access::address_space::ext_intel_global_host_space, IsDecorated > host_ptr
const CoordT const float level
ValueT length(const ValueT *a, const int len)
Calculate the square root of the input array.
constexpr pi_queue_properties PI_QUEUE_COMPUTE_INDEX
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.
pi_result piextDisablePeerAccess(pi_device command_device, pi_device peer_device)
@ PI_EXT_KERNEL_EXEC_INFO_CACHE_LARGE_DATA
@ PI_EXT_KERNEL_EXEC_INFO_CACHE_DEFAULT
@ PI_EXT_KERNEL_EXEC_INFO_CACHE_LARGE_SLM
uint32_t pi_mem_access_flag
pi_result piextMemGetNativeHandle(pi_mem mem, pi_device dev, pi_native_handle *nativeHandle)
Gets the native handle of a PI mem object.
static constexpr pi_device_fp_config PI_FP_SOFT_FLOAT
constexpr pi_mem_flags PI_MEM_ACCESS_READ_ONLY
pi_result piKernelCreate(pi_program program, const char *kernel_name, pi_kernel *ret_kernel)
pi_result piextEnablePeerAccess(pi_device command_device, pi_device peer_device)
constexpr pi_memory_scope_capabilities PI_MEMORY_SCOPE_WORK_GROUP
pi_bitfield pi_device_exec_capabilities
constexpr pi_sampler_properties PI_SAMPLER_PROPERTIES_NORMALIZED_COORDS
constexpr pi_memory_scope_capabilities PI_MEMORY_SCOPE_WORK_ITEM
static constexpr _pi_mem_advice PI_MEM_ADVICE_HIP_SET_READ_MOSTLY
pi_result piQueueFinish(pi_queue command_queue)
constexpr pi_usm_mem_properties PI_MEM_ALLOC_INITIAL_PLACEMENT_DEVICE
uintptr_t pi_native_handle
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)
static constexpr pi_device_binary_type PI_DEVICE_BINARY_TYPE_LLVMIR_BITCODE
pi_result piextDeviceGetNativeHandle(pi_device device, pi_native_handle *nativeHandle)
Gets the native handle of a PI device object.
static constexpr _pi_mem_advice PI_MEM_ADVICE_HIP_UNSET_PREFERRED_LOCATION_HOST
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)
static constexpr pi_device_affinity_domain PI_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE
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 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.
pi_result piKernelRelease(pi_kernel kernel)
constexpr pi_sampler_properties PI_SAMPLER_PROPERTIES_ADDRESSING_MODE
static constexpr pi_device_partition_property PI_EXT_INTEL_DEVICE_PARTITION_BY_CSLICE
constexpr pi_usm_mem_properties PI_MEM_USM_ALLOC_BUFFER_LOCATION
pi_result piextUSMFree(pi_context context, void *ptr)
Indicates that the allocated USM memory is no longer needed on the runtime side.
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.
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.
static constexpr _pi_mem_advice PI_MEM_ADVICE_HIP_UNSET_ACCESSED_BY
constexpr pi_queue_properties PI_EXT_QUEUE_FLAG_SUBMISSION_IMMEDIATE
pi_bitfield pi_usm_mem_properties
@ PI_DEVICE_INFO_PRINTF_BUFFER_SIZE
@ PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_CHAR
@ PI_EXT_ONEAPI_DEVICE_INFO_MAX_IMAGE_LINEAR_WIDTH
@ PI_EXT_ONEAPI_DEVICE_INFO_MAX_WORK_GROUPS_1D
@ PI_DEVICE_INFO_MAX_MEM_BANDWIDTH
@ PI_DEVICE_INFO_GPU_SLICES
@ PI_DEVICE_INFO_PREFERRED_INTEROP_USER_SYNC
@ PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_FLOAT
@ PI_DEVICE_INFO_BUILD_ON_SUBDEVICE
@ PI_EXT_ONEAPI_DEVICE_INFO_INTEROP_MEMORY_IMPORT_SUPPORT
@ PI_DEVICE_INFO_MAX_WORK_GROUP_SIZE
@ PI_DEVICE_INFO_IMAGE_SRGB
@ PI_EXT_ONEAPI_DEVICE_INFO_CUBEMAP_SUPPORT
@ PI_DEVICE_INFO_IMAGE3D_MAX_WIDTH
@ PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_SHORT
@ PI_DEVICE_INFO_IMAGE3D_MAX_HEIGHT
@ PI_DEVICE_INFO_MAX_CLOCK_FREQUENCY
@ PI_DEVICE_INFO_USM_SINGLE_SHARED_SUPPORT
@ PI_DEVICE_INFO_MAX_WORK_ITEM_DIMENSIONS
@ PI_DEVICE_INFO_EXECUTION_CAPABILITIES
@ PI_EXT_ONEAPI_DEVICE_INFO_COMMAND_BUFFER_UPDATE_SUPPORT
@ PI_EXT_INTEL_DEVICE_INFO_ESIMD_SUPPORT
@ PI_DEVICE_INFO_QUEUE_PROPERTIES
@ PI_DEVICE_INFO_GPU_EU_COUNT
@ PI_EXT_ONEAPI_DEVICE_INFO_MAX_WORK_GROUPS_2D
@ PI_DEVICE_INFO_COMPILER_AVAILABLE
@ PI_EXT_ONEAPI_DEVICE_INFO_MAX_IMAGE_LINEAR_PITCH
@ PI_DEVICE_INFO_IMAGE_SUPPORT
@ PI_DEVICE_INFO_ERROR_CORRECTION_SUPPORT
@ PI_EXT_INTEL_DEVICE_INFO_FREE_MEMORY
@ PI_EXT_ONEAPI_DEVICE_INFO_INTEROP_MEMORY_EXPORT_SUPPORT
@ PI_DEVICE_INFO_QUEUE_ON_DEVICE_PROPERTIES
@ PI_DEVICE_INFO_PARTITION_MAX_SUB_DEVICES
@ PI_DEVICE_INFO_BUILT_IN_KERNELS
@ PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_FLOAT
@ PI_EXT_ONEAPI_DEVICE_INFO_MAX_IMAGE_LINEAR_HEIGHT
@ PI_DEVICE_INFO_MAX_NUM_SUB_GROUPS
@ PI_EXT_ONEAPI_DEVICE_INFO_MIPMAP_SUPPORT
@ PI_DEVICE_INFO_AVAILABLE
@ PI_DEVICE_INFO_HALF_FP_CONFIG
@ PI_EXT_ONEAPI_DEVICE_INFO_MIPMAP_ANISOTROPY_SUPPORT
@ PI_DEVICE_INFO_PARENT_DEVICE
@ PI_DEVICE_INFO_SUB_GROUP_SIZES_INTEL
@ PI_DEVICE_INFO_GPU_EU_SIMD_WIDTH
@ PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_SHORT
@ PI_DEVICE_INFO_QUEUE_ON_HOST_PROPERTIES
@ PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_DOUBLE
@ PI_DEVICE_INFO_GLOBAL_MEM_CACHE_TYPE
@ PI_DEVICE_INFO_DRIVER_VERSION
@ PI_DEVICE_INFO_MAX_PARAMETER_SIZE
@ PI_DEVICE_INFO_PARTITION_PROPERTIES
@ PI_EXT_DEVICE_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES
@ PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_INT
@ PI_DEVICE_INFO_USM_CROSS_SHARED_SUPPORT
@ PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_HALF
@ PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_IMAGES_SUPPORT
@ PI_EXT_INTEL_DEVICE_INFO_MEM_CHANNEL_SUPPORT
@ PI_DEVICE_INFO_IMAGE3D_MAX_DEPTH
@ PI_DEVICE_INFO_MAX_COMPUTE_UNITS
@ PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_CHAR
@ PI_DEVICE_INFO_IMAGE2D_MAX_HEIGHT
@ PI_DEVICE_INFO_VENDOR_ID
@ PI_DEVICE_INFO_GLOBAL_MEM_CACHELINE_SIZE
@ PI_EXT_DEVICE_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES
@ PI_DEVICE_INFO_GPU_HW_THREADS_PER_EU
@ PI_DEVICE_INFO_BACKEND_VERSION
@ PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_LONG
@ PI_DEVICE_INFO_PLATFORM
@ PI_EXT_ONEAPI_DEVICE_INFO_CUBEMAP_SEAMLESS_FILTERING_SUPPORT
@ PI_DEVICE_INFO_LOCAL_MEM_SIZE
@ PI_DEVICE_INFO_REFERENCE_COUNT
@ PI_DEVICE_INFO_MAX_SAMPLERS
@ PI_DEVICE_INFO_DEVICE_ID
@ PI_EXT_ONEAPI_DEVICE_INFO_INTEROP_SEMAPHORE_EXPORT_SUPPORT
@ PI_DEVICE_INFO_MAX_WORK_ITEM_SIZES
@ PI_DEVICE_INFO_EXTENSIONS
@ PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_INT
@ PI_DEVICE_INFO_HOST_UNIFIED_MEMORY
@ PI_DEVICE_INFO_PCI_ADDRESS
@ PI_DEVICE_INFO_MAX_MEM_ALLOC_SIZE
@ PI_DEVICE_INFO_GLOBAL_MEM_CACHE_SIZE
@ PI_DEVICE_INFO_IMAGE_MAX_ARRAY_SIZE
@ PI_DEVICE_INFO_LINKER_AVAILABLE
@ PI_EXT_ONEAPI_DEVICE_INFO_MAX_WORK_GROUPS_3D
@ PI_EXT_ONEAPI_DEVICE_INFO_CUDA_ASYNC_BARRIER
@ PI_DEVICE_INFO_ADDRESS_BITS
@ PI_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_DOUBLE
@ PI_DEVICE_INFO_ATOMIC_64
@ PI_DEVICE_INFO_USM_HOST_SUPPORT
@ PI_DEVICE_INFO_USM_DEVICE_SUPPORT
@ PI_EXT_INTEL_DEVICE_INFO_MAX_COMPUTE_QUEUE_INDICES
@ PI_DEVICE_INFO_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS
@ PI_DEVICE_INFO_GPU_EU_COUNT_PER_SUBSLICE
@ PI_EXT_ONEAPI_DEVICE_INFO_MIPMAP_LEVEL_REFERENCE_SUPPORT
@ PI_DEVICE_INFO_MAX_WRITE_IMAGE_ARGS
@ PI_EXT_DEVICE_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES
@ PI_EXT_CODEPLAY_DEVICE_INFO_MAX_REGISTERS_PER_WORK_GROUP
@ PI_DEVICE_INFO_IL_VERSION
@ PI_EXT_CODEPLAY_DEVICE_INFO_SUPPORTS_FUSION
@ PI_DEVICE_INFO_PROFILING_TIMER_RESOLUTION
@ PI_DEVICE_INFO_MEM_BASE_ADDR_ALIGN
@ PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_LONG
@ PI_DEVICE_INFO_MAX_READ_IMAGE_ARGS
@ PI_DEVICE_INFO_PARTITION_AFFINITY_DOMAIN
@ PI_DEVICE_INFO_USM_SYSTEM_SHARED_SUPPORT
@ PI_EXT_ONEAPI_DEVICE_INFO_MAX_GLOBAL_WORK_GROUPS
@ PI_DEVICE_INFO_IMAGE_MAX_BUFFER_SIZE
@ PI_EXT_INTEL_DEVICE_INFO_MEMORY_CLOCK_RATE
@ PI_DEVICE_INFO_DOUBLE_FP_CONFIG
@ PI_EXT_ONEAPI_DEVICE_INFO_INTEROP_SEMAPHORE_IMPORT_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_MATRIX_COMBINATIONS
@ PI_EXT_INTEL_DEVICE_INFO_MEMORY_BUS_WIDTH
@ PI_DEVICE_INFO_MAX_CONSTANT_BUFFER_SIZE
@ PI_DEVICE_INFO_PARTITION_TYPE
@ PI_EXT_ONEAPI_DEVICE_INFO_COMPONENT_DEVICES
@ PI_DEVICE_INFO_SINGLE_FP_CONFIG
@ PI_DEVICE_INFO_NATIVE_VECTOR_WIDTH_HALF
@ PI_DEVICE_INFO_GLOBAL_MEM_SIZE
@ PI_EXT_ONEAPI_DEVICE_INFO_COMPOSITE_DEVICE
@ PI_DEVICE_INFO_LOCAL_MEM_TYPE
@ PI_DEVICE_INFO_MAX_CONSTANT_ARGS
@ PI_EXT_ONEAPI_DEVICE_INFO_MIPMAP_MAX_ANISOTROPY
@ PI_EXT_ONEAPI_DEVICE_INFO_BINDLESS_IMAGES_2D_USM_SUPPORT
@ PI_EXT_ONEAPI_DEVICE_INFO_COMMAND_BUFFER_SUPPORT
@ PI_EXT_DEVICE_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES
@ PI_EXT_ONEAPI_DEVICE_INFO_IMAGE_PITCH_ALIGN
@ PI_DEVICE_INFO_OPENCL_C_VERSION
@ PI_DEVICE_INFO_ENDIAN_LITTLE
@ PI_DEVICE_INFO_IMAGE2D_MAX_WIDTH
@ PI_DEVICE_INFO_GPU_SUBSLICES_PER_SLICE
@ PI_EXT_ONEAPI_DEVICE_INFO_IP_VERSION
@ PI_EXT_ONEAPI_DEVICE_INFO_BFLOAT16_MATH_FUNCTIONS
static constexpr pi_device_binary_type PI_DEVICE_BINARY_TYPE_NATIVE
static constexpr pi_device_fp_config PI_FP_DENORM
pi_result piextUSMEnqueueMemAdvise(pi_queue queue, const void *ptr, size_t length, pi_mem_advice advice, pi_event *event)
USM Memadvise API.
constexpr pi_mem_flags PI_MEM_FLAGS_HOST_PTR_ALLOC
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.
@ PI_PROGRAM_BUILD_STATUS_SUCCESS
@ PI_PROGRAM_BUILD_STATUS_ERROR
@ PI_PROGRAM_BUILD_STATUS_IN_PROGRESS
@ PI_PROGRAM_BUILD_STATUS_NONE
static constexpr _pi_mem_advice PI_MEM_ADVICE_HIP_UNSET_ACCESSED_BY_HOST
static constexpr pi_device_affinity_domain PI_DEVICE_AFFINITY_DOMAIN_L2_CACHE
constexpr pi_usm_mem_properties PI_MEM_ALLOC_FLAGS
@ PI_QUEUE_INFO_DEVICE_DEFAULT
@ PI_QUEUE_INFO_PROPERTIES
@ PI_QUEUE_INFO_REFERENCE_COUNT
@ PI_EXT_ONEAPI_QUEUE_INFO_EMPTY
@ PI_MEM_ADVICE_CUDA_UNSET_ACCESSED_BY_HOST
@ PI_MEM_ADVICE_CUDA_UNSET_READ_MOSTLY
@ PI_MEM_ADVICE_CUDA_UNSET_PREFERRED_LOCATION
@ PI_MEM_ADVICE_CUDA_SET_READ_MOSTLY
@ PI_MEM_ADVICE_CUDA_SET_PREFERRED_LOCATION_HOST
@ PI_MEM_ADVICE_HIP_SET_COARSE_GRAINED
@ PI_MEM_ADVICE_HIP_UNSET_COARSE_GRAINED
@ PI_MEM_ADVICE_CUDA_UNSET_ACCESSED_BY
@ PI_MEM_ADVICE_CUDA_SET_ACCESSED_BY_HOST
@ PI_MEM_ADVICE_CUDA_UNSET_PREFERRED_LOCATION_HOST
@ PI_MEM_ADVICE_CUDA_SET_PREFERRED_LOCATION
@ PI_MEM_ADVICE_CUDA_SET_ACCESSED_BY
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)
static constexpr pi_device_affinity_domain PI_DEVICE_AFFINITY_DOMAIN_L3_CACHE
pi_result piextPluginGetOpaqueData(void *opaque_data_param, void **opaque_data_return)
API to get Plugin internal data, opaque to SYCL RT.
@ PI_IMAGE_CHANNEL_TYPE_FLOAT
@ PI_IMAGE_CHANNEL_TYPE_UNORM_SHORT_565
@ PI_IMAGE_CHANNEL_TYPE_UNORM_INT8
@ PI_IMAGE_CHANNEL_TYPE_SIGNED_INT16
@ PI_IMAGE_CHANNEL_TYPE_SNORM_INT16
@ PI_IMAGE_CHANNEL_TYPE_UNSIGNED_INT8
@ PI_IMAGE_CHANNEL_TYPE_SIGNED_INT8
@ PI_IMAGE_CHANNEL_TYPE_UNORM_INT_101010
@ PI_IMAGE_CHANNEL_TYPE_UNSIGNED_INT32
@ PI_IMAGE_CHANNEL_TYPE_UNSIGNED_INT16
@ PI_IMAGE_CHANNEL_TYPE_SNORM_INT8
@ PI_IMAGE_CHANNEL_TYPE_UNORM_SHORT_555
@ PI_IMAGE_CHANNEL_TYPE_SIGNED_INT32
@ PI_IMAGE_CHANNEL_TYPE_HALF_FLOAT
@ PI_IMAGE_CHANNEL_TYPE_UNORM_INT16
_pi_kernel_sub_group_info
@ PI_KERNEL_COMPILE_NUM_SUB_GROUPS
@ PI_KERNEL_MAX_NUM_SUB_GROUPS
@ PI_KERNEL_COMPILE_SUB_GROUP_SIZE_INTEL
@ PI_KERNEL_MAX_SUB_GROUP_SIZE
pi_result piextProgramCreateWithNativeHandle(pi_native_handle nativeHandle, pi_context context, bool pluginOwnsNativeHandle, pi_program *program)
Creates PI program object from a native handle.
pi_bitfield pi_mem_properties
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.
pi_result piKernelSetArg(pi_kernel kernel, pi_uint32 arg_index, size_t arg_size, const void *arg_value)
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 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_KERNEL_GROUP_INFO_WORK_GROUP_SIZE
@ PI_KERNEL_GROUP_INFO_COMPILE_WORK_GROUP_SIZE
@ PI_KERNEL_GROUP_INFO_GLOBAL_WORK_SIZE
@ PI_KERNEL_GROUP_INFO_PRIVATE_MEM_SIZE
@ PI_KERNEL_GROUP_INFO_LOCAL_MEM_SIZE
@ PI_KERNEL_GROUP_INFO_PREFERRED_WORK_GROUP_SIZE_MULTIPLE
@ PI_KERNEL_GROUP_INFO_NUM_REGS
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)
constexpr pi_queue_properties PI_EXT_QUEUE_FLAG_SUBMISSION_NO_IMMEDIATE
constexpr pi_memory_order_capabilities PI_MEMORY_ORDER_ACQUIRE
pi_result piProgramRetain(pi_program program)
pi_uint64 pi_image_handle
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.
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.
_pi_ext_command_buffer_command * pi_ext_command_buffer_command
pi_result piextUSMImport(const void *ptr, size_t size, pi_context context)
Import host system memory into USM.
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_PROPERTY_TYPE_UINT32
@ PI_PROPERTY_TYPE_UNKNOWN
@ PI_PROPERTY_TYPE_BYTE_ARRAY
@ PI_PROPERTY_TYPE_STRING
pi_result piextCommandBufferRetainCommand(pi_ext_command_buffer_command command)
API to increment the reference count of a command-buffer command.
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.
@ PI_USM_INDIRECT_ACCESS
indicates that the kernel might access data through USM ptrs
@ PI_EXT_KERNEL_EXEC_INFO_CACHE_CONFIG
provides the preferred cache configuration (large slm or large data)
@ PI_USM_PTRS
provides an explicit list of pointers that the kernel will access
pi_result piextPlatformGetNativeHandle(pi_platform platform, pi_native_handle *nativeHandle)
Gets the native handle of a PI platform object.
pi_result piProgramRelease(pi_program program)
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 no...
@ PI_PLATFORM_INFO_VENDOR
@ PI_PLATFORM_INFO_EXTENSIONS
@ PI_PLATFORM_INFO_PROFILE
@ PI_EXT_PLATFORM_INFO_BACKEND
@ PI_PLATFORM_INFO_VERSION
pi_result piextKernelSetArgSampler(pi_kernel kernel, pi_uint32 arg_index, const pi_sampler *arg_value)
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.
static constexpr pi_device_partition_property PI_DEVICE_PARTITION_BY_COUNTS
pi_result piSamplerRetain(pi_sampler sampler)
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_mem *ret_mem, pi_image_handle *ret_handle)
API to create sampled bindless image handles.
constexpr pi_queue_properties PI_QUEUE_FLAG_OUT_OF_ORDER_EXEC_MODE_ENABLE
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 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.
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 fo...
pi_result piKernelRetain(pi_kernel kernel)
pi_result piPlatformsGet(pi_uint32 num_entries, pi_platform *platforms, pi_uint32 *num_platforms)
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.
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.
pi_result piextQueueCreate(pi_context context, pi_device device, pi_queue_properties *properties, pi_queue *queue)
pi_result piextDestroyExternalSemaphore(pi_context context, pi_device device, pi_interop_semaphore_handle sem_handle)
API to destroy the external semaphore handle.
static constexpr _pi_mem_advice PI_MEM_ADVICE_HIP_UNSET_READ_MOSTLY
@ PI_IMAGE_INFO_SLICE_PITCH
@ PI_IMAGE_INFO_ROW_PITCH
@ PI_IMAGE_INFO_ELEMENT_SIZE
pi_result piextEventGetNativeHandle(pi_event event, pi_native_handle *nativeHandle)
Gets the native handle of a PI event object.
pi_result piEnqueueEventsWait(pi_queue command_queue, pi_uint32 num_events_in_wait_list, const pi_event *event_wait_list, pi_event *event)
@ PI_USM_CONCURRENT_ACCESS
@ PI_USM_CONCURRENT_ATOMIC_ACCESS
pi_uint32 pi_ext_sync_point
@ PI_IMAGE_CHANNEL_ORDER_RGB
@ PI_IMAGE_CHANNEL_ORDER_RA
@ PI_IMAGE_CHANNEL_ORDER_RGBA
@ PI_IMAGE_CHANNEL_ORDER_INTENSITY
@ PI_IMAGE_CHANNEL_ORDER_R
@ PI_IMAGE_CHANNEL_ORDER_ABGR
@ PI_IMAGE_CHANNEL_ORDER_RGBx
@ PI_IMAGE_CHANNEL_ORDER_RG
@ PI_IMAGE_CHANNEL_ORDER_BGRA
@ PI_IMAGE_CHANNEL_ORDER_Rx
@ PI_IMAGE_CHANNEL_ORDER_A
@ PI_IMAGE_CHANNEL_ORDER_sRGBA
@ PI_IMAGE_CHANNEL_ORDER_LUMINANCE
@ PI_IMAGE_CHANNEL_ORDER_RGx
@ PI_IMAGE_CHANNEL_ORDER_ARGB
constexpr pi_memory_order_capabilities PI_MEMORY_ORDER_ACQ_REL
@ PI_PROFILING_INFO_COMMAND_END
@ PI_PROFILING_INFO_COMMAND_START
@ PI_PROFILING_INFO_COMMAND_SUBMIT
@ PI_PROFILING_INFO_COMMAND_QUEUED
static constexpr pi_device_partition_property PI_DEVICE_PARTITION_BY_COUNTS_LIST_END
_pi_sampler_cubemap_filter_mode
@ PI_SAMPLER_CUBEMAP_FILTER_MODE_SEAMLESS
@ PI_SAMPLER_CUBEMAP_FILTER_MODE_DISJOINTED
pi_result piTearDown(void *PluginParameter)
API to notify that the plugin should clean up its resources.
@ PI_DEVICE_TYPE_ACC
A PI device that is a dedicated accelerator.
@ PI_DEVICE_TYPE_ALL
All devices available in the PI plugin.
@ PI_DEVICE_TYPE_DEFAULT
The default device available in the PI plugin.
@ PI_DEVICE_TYPE_GPU
A PI device that is a GPU.
@ PI_DEVICE_TYPE_CUSTOM
A PI device that is a custom device.
@ PI_DEVICE_TYPE_CPU
A PI device that is the host processor.
static constexpr pi_device_partition_property PI_DEVICE_PARTITION_EQUALLY
pi_result piextUSMRelease(const void *ptr, pi_context context)
Release host system memory from USM.
pi_result piContextRetain(pi_context context)
_pi_device_mem_cache_type
@ PI_DEVICE_MEM_CACHE_TYPE_READ_WRITE_CACHE
@ PI_DEVICE_MEM_CACHE_TYPE_READ_ONLY_CACHE
@ PI_DEVICE_MEM_CACHE_TYPE_NONE
pi_bitfield pi_queue_properties
pi_result piEventCreate(pi_context context, pi_event *ret_event)
Create PI event object in a signalled/completed state.
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.
pi_result piextPlatformCreateWithNativeHandle(pi_native_handle nativeHandle, pi_platform *platform)
Creates PI platform object from a native handle.
uint8_t pi_device_binary_type
Types of device binary.
pi_result piMemRetain(pi_mem mem)
@ PI_IMAGE_COPY_DEVICE_TO_DEVICE
@ PI_IMAGE_COPY_DEVICE_TO_HOST
@ PI_IMAGE_COPY_HOST_TO_DEVICE
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 comman...
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.
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.
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 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.
pi_result piDevicesGet(pi_platform platform, pi_device_type device_type, pi_uint32 num_entries, pi_device *devices, pi_uint32 *num_devices)
pi_result piQueueRelease(pi_queue command_queue)
constexpr pi_queue_properties PI_EXT_ONEAPI_QUEUE_FLAG_PRIORITY_LOW
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.
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.
constexpr pi_memory_order_capabilities PI_MEMORY_ORDER_RELEASE
pi_bitfield pi_sampler_properties
@ PI_USM_SYSTEM_SHARED_SUPPORT
@ PI_USM_SINGLE_SHARED_SUPPORT
@ PI_USM_CROSS_SHARED_SUPPORT
constexpr pi_queue_properties PI_QUEUE_FLAG_ON_DEVICE_DEFAULT
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.
constexpr pi_queue_properties PI_EXT_ONEAPI_QUEUE_FLAG_DISCARD_EVENTS
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.
pi_result piextMemImageFree(pi_context context, pi_device device, pi_image_mem_handle memory_handle)
API to free memory for bindless images.
constexpr pi_queue_properties PI_QUEUE_FLAG_ON_DEVICE
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 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 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)
constexpr pi_mem_flags PI_MEM_FLAGS_HOST_PTR_COPY
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_BUFFER_CREATE_TYPE_REGION
static constexpr pi_device_affinity_domain PI_DEVICE_AFFINITY_DOMAIN_L4_CACHE
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 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.
static constexpr _pi_mem_advice PI_MEM_ADVICE_HIP_SET_ACCESSED_BY
static constexpr pi_device_fp_config PI_FP_ROUND_TO_NEAREST
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 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_device_binary_property_set_struct * pi_device_binary_property_set
static const uint16_t PI_DEVICE_BINARY_VERSION
static constexpr pi_device_partition_property PI_DEVICE_PARTITION_BY_AFFINITY_DOMAIN
constexpr pi_memory_order_capabilities PI_MEMORY_ORDER_RELAXED
@ PI_EVENT_INFO_COMMAND_EXECUTION_STATUS
@ PI_EVENT_INFO_REFERENCE_COUNT
@ PI_EVENT_INFO_COMMAND_TYPE
@ PI_EVENT_INFO_COMMAND_QUEUE
constexpr pi_queue_properties PI_EXT_ONEAPI_QUEUE_FLAG_PRIORITY_HIGH
pi_result piextEventCreateWithNativeHandle(pi_native_handle nativeHandle, pi_context context, bool ownNativeHandle, pi_event *event)
Creates PI event object from a native handle.
constexpr pi_usm_mem_properties PI_MEM_ALLOC_INITIAL_PLACEMENT_HOST
static constexpr pi_device_fp_config PI_FP_ROUND_TO_INF
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_mem *ret_mem, pi_image_handle *ret_handle)
API to create bindless image handles.
pi_result piextGetGlobalVariablePointer(pi_device Device, pi_program Program, const char *GlobalVariableName, size_t *GlobalVariableSize, void **GlobalVariablePointerRet)
pi_result piextMemSampledImageHandleDestroy(pi_context context, pi_device device, pi_image_handle handle)
API to destroy bindless sampled image handles.
intptr_t pi_context_properties
pi_result piEventsWait(pi_uint32 num_events, const pi_event *event_list)
constexpr pi_usm_mem_properties PI_MEM_ALLOC_WRTITE_COMBINED
constexpr pi_queue_properties PI_QUEUE_FLAGS
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 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 piextCommandBufferRelease(pi_ext_command_buffer command_buffer)
API to decrement the reference count of the command-buffer.
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)
static constexpr pi_device_binary_type PI_DEVICE_BINARY_TYPE_SPIRV
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.
constexpr pi_queue_properties PI_QUEUE_FLAG_PROFILING_ENABLE
static constexpr _pi_mem_advice PI_MEM_ADVICE_HIP_SET_PREFERRED_LOCATION_HOST
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.
pi_result piQueueFlush(pi_queue command_queue)
pi_result piMemRelease(pi_mem mem)
constexpr pi_mem_flags PI_MEM_FLAGS_HOST_PTR_USE
void(* pi_context_extended_deleter)(void *user_data)
static constexpr _pi_mem_advice PI_MEM_ADVICE_HIP_SET_ACCESSED_BY_HOST
constexpr pi_map_flags PI_MAP_WRITE
constexpr pi_map_flags PI_MAP_WRITE_INVALIDATE_REGION
@ PI_MEM_TYPE_IMAGE_CUBEMAP
@ PI_MEM_TYPE_IMAGE1D_BUFFER
@ PI_MEM_TYPE_IMAGE1D_ARRAY
@ PI_MEM_TYPE_IMAGE2D_ARRAY
pi_result piSamplerCreate(pi_context context, const pi_sampler_properties *sampler_properties, pi_sampler *result_sampler)
constexpr pi_usm_mem_properties PI_MEM_ALLOC_DEVICE_READ_ONLY
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_device_binary_property_struct * pi_device_binary_property
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.
@ PI_SAMPLER_INFO_CONTEXT
@ PI_SAMPLER_INFO_MIP_FILTER_MODE
@ PI_SAMPLER_INFO_NORMALIZED_COORDS
@ PI_SAMPLER_INFO_FILTER_MODE
@ PI_SAMPLER_INFO_LOD_MIN
@ PI_SAMPLER_INFO_LOD_MAX
@ PI_SAMPLER_INFO_REFERENCE_COUNT
@ PI_SAMPLER_INFO_ADDRESSING_MODE
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 piQueueCreate(pi_context context, pi_device device, pi_queue_properties properties, pi_queue *queue)
pi_result piextMemUnsampledImageHandleDestroy(pi_context context, pi_device device, pi_image_handle handle)
API to destroy bindless unsampled image handles.
pi_result piEventSetStatus(pi_event event, pi_int32 execution_status)
pi_result piextQueueGetNativeHandle(pi_queue queue, pi_native_handle *nativeHandle, int32_t *nativeHandleDesc)
Gets the native handle of a PI queue object.
static constexpr pi_device_fp_config PI_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT
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)
constexpr pi_map_flags PI_MAP_READ
pi_result piextContextGetNativeHandle(pi_context context, pi_native_handle *nativeHandle)
Gets the native handle of a PI context object.
pi_result piextMemMipmapFree(pi_context context, pi_device device, pi_image_mem_handle memory_handle)
API to free mipmap memory for bindless images.
static constexpr pi_device_affinity_domain PI_DEVICE_AFFINITY_DOMAIN_L1_CACHE
static constexpr pi_device_affinity_domain PI_DEVICE_AFFINITY_DOMAIN_NUMA
pi_bitfield pi_memory_scope_capabilities
pi_result piPluginGetLastError(char **message)
API to get Plugin specific warning and error messages.
pi_result piProgramCreate(pi_context context, const void *il, size_t length, pi_program *res_program)
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 piPluginInit(pi_plugin *plugin_info)
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.
pi_result piextDeviceCreateWithNativeHandle(pi_native_handle nativeHandle, pi_platform platform, pi_device *device)
Creates PI device object from a native handle.
pi_result piDeviceRetain(pi_device device)
pi_result piDeviceRelease(pi_device device)
@ _PI_SANITIZE_TYPE_ADDRESS
@ _PI_SANITIZE_TYPE_THREAD
@ _PI_SANITIZE_TYPE_MEMORY
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 piMemBufferPartition(pi_mem buffer, pi_mem_flags flags, pi_buffer_create_type buffer_create_type, void *buffer_create_info, pi_mem *ret_mem)
pi_bitfield pi_device_fp_config
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.
constexpr pi_sampler_properties PI_SAMPLER_PROPERTIES_FILTER_MODE
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.
constexpr pi_mem_flags PI_MEM_FLAGS_ACCESS_RW
@ PI_KERNEL_INFO_FUNCTION_NAME
@ PI_KERNEL_INFO_REFERENCE_COUNT
@ PI_KERNEL_INFO_ATTRIBUTES
@ PI_KERNEL_INFO_NUM_ARGS
constexpr pi_device_exec_capabilities PI_DEVICE_EXEC_CAPABILITIES_NATIVE_KERNEL
constexpr pi_memory_scope_capabilities PI_MEMORY_SCOPE_DEVICE
constexpr pi_sampler_properties PI_SAMPLER_PROPERTIES_CUBEMAP_FILTER_MODE
@ PI_COMMAND_TYPE_SVM_UNMAP
@ PI_COMMAND_TYPE_COPY_IMAGE_TO_BUFFER
@ PI_COMMAND_TYPE_COPY_BUFFER_TO_IMAGE
@ PI_COMMAND_TYPE_RELEASE_GL_OBJECTS
@ PI_COMMAND_TYPE_MIGRATE_MEM_OBJECTS
@ PI_COMMAND_TYPE_IMAGE_WRITE
@ PI_COMMAND_TYPE_SVM_FREE
@ PI_COMMAND_TYPE_MEM_BUFFER_COPY_RECT
@ PI_COMMAND_TYPE_SVM_MAP
@ PI_COMMAND_TYPE_DEVICE_GLOBAL_VARIABLE_WRITE
@ PI_COMMAND_TYPE_MEM_BUFFER_READ
@ PI_COMMAND_TYPE_DEVICE_GLOBAL_VARIABLE_READ
@ PI_COMMAND_TYPE_MEM_BUFFER_UNMAP
@ PI_COMMAND_TYPE_IMAGE_READ
@ PI_COMMAND_TYPE_IMAGE_COPY
@ PI_COMMAND_TYPE_MEM_BUFFER_READ_RECT
@ PI_COMMAND_TYPE_MEM_BUFFER_COPY
@ PI_COMMAND_TYPE_MEM_BUFFER_MAP
@ PI_COMMAND_TYPE_MEM_BUFFER_WRITE
@ PI_COMMAND_TYPE_ACQUIRE_GL_OBJECTS
@ PI_COMMAND_TYPE_BARRIER
@ PI_COMMAND_TYPE_NDRANGE_KERNEL
@ PI_COMMAND_TYPE_NATIVE_KERNEL
@ PI_COMMAND_TYPE_MEM_BUFFER_WRITE_RECT
@ PI_COMMAND_TYPE_EXT_COMMAND_BUFFER
@ PI_COMMAND_TYPE_SVM_MEMFILL
@ PI_COMMAND_TYPE_MEM_BUFFER_FILL
@ PI_COMMAND_TYPE_FILL_IMAGE
@ PI_COMMAND_TYPE_MAP_IMAGE
@ PI_COMMAND_TYPE_SVM_MEMCPY
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 h...
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 com...
pi_result piextMemReleaseInterop(pi_context context, pi_device device, pi_interop_mem_handle memory_handle)
API to destroy interop memory.
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 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.
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)
static const uint8_t PI_DEVICE_BINARY_OFFLOAD_KIND_SYCL
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.
pi_result piextKernelGetNativeHandle(pi_kernel kernel, pi_native_handle *nativeHandle)
Gets the native handle of a PI kernel object.
_pi_device_local_mem_type
@ PI_DEVICE_LOCAL_MEM_TYPE_GLOBAL
@ PI_DEVICE_LOCAL_MEM_TYPE_LOCAL
static constexpr _pi_mem_advice PI_MEM_ADVICE_HIP_UNSET_PREFERRED_LOCATION
constexpr pi_memory_scope_capabilities PI_MEMORY_SCOPE_SYSTEM
constexpr pi_memory_scope_capabilities PI_MEMORY_SCOPE_SUB_GROUP
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_EXT_CONTEXT_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES
@ PI_CONTEXT_INFO_PROPERTIES
@ PI_CONTEXT_INFO_PLATFORM
@ PI_CONTEXT_INFO_NUM_DEVICES
@ PI_EXT_ONEAPI_CONTEXT_INFO_USM_MEMSET2D_SUPPORT
@ PI_EXT_ONEAPI_CONTEXT_INFO_USM_MEMCPY2D_SUPPORT
@ PI_EXT_CONTEXT_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES
@ PI_CONTEXT_INFO_DEVICES
@ PI_CONTEXT_INFO_REFERENCE_COUNT
@ PI_EXT_CONTEXT_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES
@ PI_EXT_ONEAPI_CONTEXT_INFO_USM_FILL2D_SUPPORT
@ PI_EXT_CONTEXT_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES
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.
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 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.
@ PI_SAMPLER_FILTER_MODE_NEAREST
@ PI_SAMPLER_FILTER_MODE_LINEAR
static const uint16_t PI_DEVICE_BINARIES_VERSION
pi_result piEventRelease(pi_event event)
pi_result piPluginGetBackendOption(pi_platform platform, const char *frontend_option, const char **backend_option)
API to get backend specific option.
static constexpr pi_device_exec_capabilities PI_EXEC_NATIVE_KERNEL
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 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.
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.
pi_result piContextRelease(pi_context context)
pi_result piextCommandBufferRetain(pi_ext_command_buffer command_buffer)
API to increment the reference count of the command-buffer.
constexpr pi_mem_properties PI_MEM_PROPERTIES_ALLOC_BUFFER_LOCATION
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 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.
pi_result piextProgramGetNativeHandle(pi_program program, pi_native_handle *nativeHandle)
Gets the native handle of a PI program object.
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.
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.
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.
static constexpr pi_device_fp_config PI_FP_ROUND_TO_ZERO
void * pi_image_mem_handle
static constexpr pi_device_fp_config PI_FP_FMA
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_sampler_addressing_mode
@ PI_SAMPLER_ADDRESSING_MODE_MIRRORED_REPEAT
@ PI_SAMPLER_ADDRESSING_MODE_CLAMP
@ PI_SAMPLER_ADDRESSING_MODE_NONE
@ PI_SAMPLER_ADDRESSING_MODE_REPEAT
@ PI_SAMPLER_ADDRESSING_MODE_CLAMP_TO_EDGE
@ PI_EXT_PLATFORM_BACKEND_OPENCL
The backend is OpenCL.
@ PI_EXT_PLATFORM_BACKEND_NATIVE_CPU
The backend is NATIVE_CPU.
@ 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_ESIMD
The backend is ESIMD.
@ PI_EXT_PLATFORM_BACKEND_HIP
The backend is HIP.
@ PI_EXT_PLATFORM_BACKEND_CUDA
The backend is CUDA.
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.
@ PI_PROGRAM_INFO_NUM_DEVICES
@ PI_PROGRAM_INFO_BINARY_SIZES
@ PI_PROGRAM_INFO_KERNEL_NAMES
@ PI_PROGRAM_INFO_CONTEXT
@ PI_PROGRAM_INFO_REFERENCE_COUNT
@ PI_PROGRAM_INFO_BINARIES
@ PI_PROGRAM_INFO_NUM_KERNELS
@ PI_PROGRAM_INFO_DEVICES
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)
static constexpr _pi_mem_advice PI_MEM_ADVICE_HIP_SET_PREFERRED_LOCATION
intptr_t pi_device_partition_property
static constexpr pi_device_exec_capabilities PI_EXEC_KERNEL
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 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/d...
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.
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)
constexpr pi_sampler_properties PI_SAMPLER_PROPERTIES_MIP_FILTER_MODE
pi_result piextMemCreateWithNativeHandle(pi_native_handle nativeHandle, pi_context context, bool ownNativeHandle, pi_mem *mem)
Creates PI mem object from a native handle.
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.
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.
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 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.
constexpr pi_device_exec_capabilities PI_DEVICE_EXEC_CAPABILITIES_KERNEL
constexpr pi_memory_order_capabilities PI_MEMORY_ORDER_SEQ_CST
@ PI_EXT_STRUCTURE_TYPE_COMMAND_BUFFER_DESC
static constexpr pi_device_fp_config PI_FP_INF_NAN
pi_result piQueueRetain(pi_queue command_queue)
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.
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.
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.
@ PI_PROGRAM_BINARY_TYPE_LIBRARY
@ PI_PROGRAM_BINARY_TYPE_EXECUTABLE
@ PI_PROGRAM_BINARY_TYPE_COMPILED_OBJECT
@ PI_PROGRAM_BINARY_TYPE_NONE
pi_uint64 pi_interop_semaphore_handle
@ 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...
pi_result piextContextSetExtendedDeleter(pi_context context, pi_context_extended_deleter func, void *user_data)
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.
static constexpr pi_device_binary_type PI_DEVICE_BINARY_TYPE_NONE
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.
pi_bitfield pi_device_affinity_domain
pi_result piSamplerRelease(pi_sampler sampler)
pi_result piextCommandBufferReleaseCommand(pi_ext_command_buffer_command command)
API to decrement the reference count of a command-buffer command.
pi_uint64 pi_interop_mem_handle
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_bitfield pi_memory_order_capabilities
_pi_mem_obj_property_type
@ PI_KERNEL_ARG_MEM_OBJ_ACCESS
pi_result piextKernelSetArgMemObj(pi_kernel kernel, pi_uint32 arg_index, const pi_mem_obj_property *arg_properties, const pi_mem *arg_value)
pi_result piEventRetain(pi_event event)
constexpr pi_mem_properties PI_MEM_PROPERTIES_CHANNEL
@ PI_PROGRAM_BUILD_INFO_LOG
@ PI_PROGRAM_BUILD_INFO_OPTIONS
@ PI_PROGRAM_BUILD_INFO_BINARY_TYPE
@ PI_PROGRAM_BUILD_INFO_STATUS
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.
pi_device_binary_property PropertiesBegin
pi_device_binary_property PropertiesEnd
pi_mem_obj_property_type type
pi_mem_access_flag mem_access
_pi_sanitize_type SanitizeType
struct _pi_plugin::FunctionPointers PiFunctionTable
This struct is a record of all the device code that may be offloaded.
uint16_t Version
version of this structure - for backward compatibility; all modifications which change order/type/off...
uint16_t NumDeviceBinaries
Number of device binaries in this descriptor.
pi_device_binary DeviceBinaries
Device binaries data.
_pi_offload_entry * HostEntriesEnd
_pi_offload_entry * HostEntriesBegin
the offload entry table (not used, for compatibility with OpenMP)
This struct is a record of the device binary information.
_pi_offload_entry EntriesEnd
const char * LinkOptions
a null-terminated string; target- and compiler-specific options which are suggested to use to "link" ...
_pi_offload_entry EntriesBegin
the offload entry table
const char * CompileOptions
a null-terminated string; target- and compiler-specific options which are suggested to use to "compil...
const unsigned char * BinaryEnd
Pointer to the target code end.
const char * ManifestStart
Pointer to the manifest data start.
uint16_t Version
version of this structure - for backward compatibility; all modifications which change order/type/off...
const char * DeviceTargetSpec
null-terminated string representation of the device's target architecture which holds one of: __SYCL_...
pi_device_binary_property_set PropertySetsEnd
pi_device_binary_property_set PropertySetsBegin
uint8_t Format
format of the binary data - SPIR-V, LLVM IR bitcode,...
const char * ManifestEnd
Pointer to the manifest data end.
uint8_t Kind
the type of offload model the binary employs; must be 4 for SYCL
const unsigned char * BinaryStart
Pointer to the target code start.
pi_ext_structure_type stype
pi_ext_command_buffer_update_pointer_arg_desc_t * ptr_arg_list
size_t * global_work_size
uint32_t num_mem_obj_args
size_t * global_work_offset
pi_ext_command_buffer_update_memobj_arg_desc_t * mem_obj_arg_list
pi_ext_command_buffer_update_value_arg_desc_t * value_arg_list
const pi_mem_obj_property * properties