#include <cstring>
#include <pi2ur.hpp>
#include <pi_unified_runtime.hpp>
#include <sycl/detail/pi.def>
Go to the source code of this file.
Classes | |
struct | AdapterHolder |
Macros | |
#define | _PI_API(api) (PluginInit->PiFunctionTable).api = (decltype(&::api))(&DieUnsupported); |
#define | _PI_API(api) (PluginInit->PiFunctionTable).api = (decltype(&::api))(&api); |
Functions | |
static void | DieUnsupported () |
static void | releaseAdapters (std::vector< ur_adapter_handle_t > &Vec) |
pi_result | piPlatformsGet (pi_uint32 NumEntries, pi_platform *Platforms, pi_uint32 *NumPlatforms) |
pi_result | piPlatformGetInfo (pi_platform Platform, pi_platform_info ParamName, size_t ParamValueSize, void *ParamValue, size_t *ParamValueSizeRet) |
pi_result | piDevicesGet (pi_platform Platform, pi_device_type DeviceType, pi_uint32 NumEntries, pi_device *Devices, pi_uint32 *NumDevices) |
pi_result | piDeviceRetain (pi_device Device) |
pi_result | piDeviceRelease (pi_device Device) |
pi_result | piDeviceGetInfo (pi_device Device, pi_device_info ParamName, size_t ParamValueSize, void *ParamValue, size_t *ParamValueSizeRet) |
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 | piDevicePartition (pi_device Device, const pi_device_partition_property *Properties, pi_uint32 NumDevices, pi_device *OutDevices, pi_uint32 *OutNumDevices) |
pi_result | piextDeviceSelectBinary (pi_device Device, pi_device_binary *Binaries, pi_uint32 NumBinaries, pi_uint32 *SelectedBinaryInd) |
Selects the most appropriate device binary based on runtime information and the IR characteristics. More... | |
pi_result | piContextCreate (const pi_context_properties *Properties, pi_uint32 NumDevices, const pi_device *Devices, void(*PFnNotify)(const char *ErrInfo, const void *PrivateInfo, size_t CB, void *UserData), void *UserData, pi_context *RetContext) |
pi_result | piContextGetInfo (pi_context Context, pi_context_info ParamName, size_t ParamValueSize, void *ParamValue, size_t *ParamValueSizeRet) |
pi_result | piContextRelease (pi_context Context) |
pi_result | piQueueCreate (pi_context Context, pi_device Device, pi_queue_properties Flags, pi_queue *Queue) |
pi_result | piextQueueCreate (pi_context Context, pi_device Device, pi_queue_properties *Properties, pi_queue *Queue) |
pi_result | piQueueRelease (pi_queue Queue) |
pi_result | piProgramCreate (pi_context Context, const void *ILBytes, size_t Length, pi_program *Program) |
pi_result | piProgramBuild (pi_program Program, pi_uint32 NumDevices, const pi_device *DeviceList, const char *Options, void(*PFnNotify)(pi_program Program, void *UserData), void *UserData) |
pi_result | piextProgramSetSpecializationConstant (pi_program Prog, pi_uint32 SpecID, size_t Size, const void *SpecValue) |
Sets a specialization constant to a specific value. More... | |
pi_result | piProgramLink (pi_context Context, pi_uint32 NumDevices, const pi_device *DeviceList, const char *Options, pi_uint32 NumInputPrograms, const pi_program *InputPrograms, void(*PFnNotify)(pi_program Program, void *UserData), void *UserData, pi_program *RetProgram) |
pi_result | piKernelCreate (pi_program Program, const char *KernelName, pi_kernel *RetKernel) |
pi_result | piextKernelSetArgMemObj (pi_kernel Kernel, pi_uint32 ArgIndex, const pi_mem_obj_property *ArgProperties, const pi_mem *ArgValue) |
pi_result | piKernelSetArg (pi_kernel Kernel, pi_uint32 ArgIndex, size_t ArgSize, const void *ArgValue) |
pi_result | piKernelGetGroupInfo (pi_kernel Kernel, pi_device Device, pi_kernel_group_info ParamName, size_t ParamValueSize, void *ParamValue, size_t *ParamValueSizeRet) |
pi_result | piMemBufferCreate (pi_context Context, pi_mem_flags Flags, size_t Size, void *HostPtr, pi_mem *RetMem, const pi_mem_properties *properties) |
pi_result | piextUSMHostAlloc (void **ResultPtr, pi_context Context, pi_usm_mem_properties *Properties, size_t Size, pi_uint32 Alignment) |
Allocates host memory accessible by the device. More... | |
pi_result | piMemGetInfo (pi_mem Mem, pi_mem_info ParamName, size_t ParamValueSize, void *ParamValue, size_t *ParamValueSizeRet) |
pi_result | piMemImageCreate (pi_context Context, pi_mem_flags Flags, const pi_image_format *ImageFormat, const pi_image_desc *ImageDesc, void *HostPtr, pi_mem *RetImage) |
pi_result | piMemBufferPartition (pi_mem Buffer, pi_mem_flags Flags, pi_buffer_create_type BufferCreateType, void *BufferCreateInfo, pi_mem *RetMem) |
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 | piEnqueueMemImageCopy (pi_queue Queue, pi_mem SrcImage, pi_mem DstImage, pi_image_offset SrcOrigin, pi_image_offset DstOrigin, pi_image_region Region, pi_uint32 NumEventsInWaitList, const pi_event *EventWaitList, pi_event *Event) |
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 | piEnqueueKernelLaunch (pi_queue Queue, pi_kernel Kernel, pi_uint32 WorkDim, const size_t *GlobalWorkOffset, const size_t *GlobalWorkSize, const size_t *LocalWorkSize, pi_uint32 NumEventsInWaitList, const pi_event *EventWaitList, pi_event *OutEvent) |
pi_result | piEnqueueMemImageWrite (pi_queue Queue, pi_mem Image, pi_bool BlockingWrite, pi_image_offset Origin, pi_image_region Region, size_t InputRowPitch, size_t InputSlicePitch, const void *Ptr, pi_uint32 NumEventsInWaitList, const pi_event *EventWaitList, pi_event *Event) |
pi_result | piEnqueueMemImageRead (pi_queue Queue, pi_mem Image, pi_bool BlockingRead, pi_image_offset Origin, pi_image_region Region, size_t RowPitch, size_t SlicePitch, void *Ptr, pi_uint32 NumEventsInWaitList, const pi_event *EventWaitList, pi_event *Event) |
pi_result | piextKernelCreateWithNativeHandle (pi_native_handle NativeHandle, pi_context Context, pi_program Program, bool OwnNativeHandle, pi_kernel *Kernel) |
Creates PI kernel object from a native handle. More... | |
pi_result | piEnqueueMemUnmap (pi_queue Queue, pi_mem Mem, void *MappedPtr, pi_uint32 NumEventsInWaitList, const pi_event *EventWaitList, pi_event *OutEvent) |
pi_result | piEventsWait (pi_uint32 NumEvents, const pi_event *EventList) |
pi_result | piQueueFinish (pi_queue Queue) |
pi_result | piEventGetInfo (pi_event Event, pi_event_info ParamName, size_t ParamValueSize, void *ParamValue, size_t *ParamValueSizeRet) |
pi_result | piEnqueueMemBufferMap (pi_queue Queue, pi_mem Mem, pi_bool BlockingMap, pi_map_flags MapFlags, size_t Offset, size_t Size, pi_uint32 NumEventsInWaitList, const pi_event *EventWaitList, pi_event *OutEvent, void **RetMap) |
pi_result | piEnqueueMemBufferFill (pi_queue Queue, pi_mem Buffer, const void *Pattern, size_t PatternSize, size_t Offset, size_t Size, pi_uint32 NumEventsInWaitList, const pi_event *EventWaitList, pi_event *Event) |
pi_result | piextUSMDeviceAlloc (void **ResultPtr, pi_context Context, pi_device Device, pi_usm_mem_properties *Properties, size_t Size, pi_uint32 Alignment) |
Allocates device memory. More... | |
pi_result | piKernelRetain (pi_kernel Kernel) |
pi_result | piKernelRelease (pi_kernel Kernel) |
pi_result | piProgramRelease (pi_program Program) |
pi_result | piextUSMSharedAlloc (void **ResultPtr, 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 **ResultPtr, size_t *ResultPitch, pi_context Context, pi_device Device, pi_usm_mem_properties *Properties, size_t WidthInBytes, size_t Height, unsigned int ElementSizeBytes) |
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 | piextUSMImport (const void *HostPtr, size_t Size, pi_context Context) |
Import host system memory into USM. More... | |
pi_result | piextUSMRelease (const void *HostPtr, pi_context Context) |
Release host system memory from USM. More... | |
pi_result | piContextRetain (pi_context Context) |
pi_result | piextKernelSetArgPointer (pi_kernel Kernel, pi_uint32 ArgIndex, size_t ArgSize, const void *ArgValue) |
Sets up pointer arguments for CL kernels. More... | |
pi_result | piextKernelSetArgSampler (pi_kernel Kernel, pi_uint32 ArgIndex, const pi_sampler *ArgValue) |
pi_result | piKernelGetSubGroupInfo (pi_kernel Kernel, pi_device Device, pi_kernel_sub_group_info ParamName, size_t InputValueSize, const void *InputValue, size_t ParamValueSize, void *ParamValue, size_t *ParamValueSizeRet) |
API to query information from the sub-group from a kernel. More... | |
pi_result | piQueueGetInfo (pi_queue Queue, pi_queue_info ParamName, size_t ParamValueSize, void *ParamValue, size_t *ParamValueSizeRet) |
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. More... | |
pi_result | piEnqueueMemBufferCopyRect (pi_queue Queue, pi_mem SrcMem, pi_mem DstMem, pi_buff_rect_offset SrcOrigin, pi_buff_rect_offset DstOrigin, pi_buff_rect_region Region, size_t SrcRowPitch, size_t SrcSlicePitch, size_t DstRowPitch, size_t DstSlicePitch, pi_uint32 NumEventsInWaitList, const pi_event *EventWaitList, pi_event *Event) |
pi_result | piEnqueueMemBufferCopy (pi_queue Queue, pi_mem SrcMem, pi_mem DstMem, size_t SrcOffset, size_t DstOffset, size_t Size, pi_uint32 NumEventsInWaitList, const pi_event *EventWaitList, pi_event *Event) |
pi_result | piextUSMEnqueueMemcpy (pi_queue Queue, pi_bool Blocking, void *DstPtr, const void *SrcPtr, size_t Size, pi_uint32 NumEventsInWaitlist, const pi_event *EventsWaitlist, pi_event *Event) |
USM Memcpy API. More... | |
pi_result | piEnqueueMemBufferWriteRect (pi_queue Queue, pi_mem Buffer, pi_bool BlockingWrite, pi_buff_rect_offset BufferOffset, pi_buff_rect_offset HostOffset, pi_buff_rect_region Region, size_t BufferRowPitch, size_t BufferSlicePitch, size_t HostRowPitch, size_t HostSlicePitch, const void *Ptr, pi_uint32 NumEventsInWaitList, const pi_event *EventWaitList, pi_event *Event) |
pi_result | piEnqueueMemBufferWrite (pi_queue Queue, pi_mem Buffer, pi_bool BlockingWrite, size_t Offset, size_t Size, const void *Ptr, pi_uint32 NumEventsInWaitList, const pi_event *EventWaitList, pi_event *Event) |
pi_result | piEnqueueMemBufferReadRect (pi_queue Queue, pi_mem Buffer, pi_bool BlockingRead, pi_buff_rect_offset BufferOffset, pi_buff_rect_offset HostOffset, pi_buff_rect_region Region, size_t BufferRowPitch, size_t BufferSlicePitch, size_t HostRowPitch, size_t HostSlicePitch, void *Ptr, pi_uint32 NumEventsInWaitList, const pi_event *EventWaitList, pi_event *Event) |
pi_result | piEnqueueMemBufferRead (pi_queue Queue, pi_mem Src, pi_bool BlockingRead, size_t Offset, size_t Size, void *Dst, pi_uint32 NumEventsInWaitList, const pi_event *EventWaitList, pi_event *Event) |
pi_result | piEnqueueEventsWaitWithBarrier (pi_queue Queue, pi_uint32 NumEventsInWaitList, const pi_event *EventWaitList, pi_event *OutEvent) |
pi_result | piEnqueueEventsWait (pi_queue Queue, pi_uint32 NumEventsInWaitList, const pi_event *EventWaitList, pi_event *OutEvent) |
pi_result | piextEventGetNativeHandle (pi_event Event, pi_native_handle *NativeHandle) |
Gets the native handle of a PI event object. More... | |
pi_result | piEventGetProfilingInfo (pi_event Event, pi_profiling_info ParamName, size_t ParamValueSize, void *ParamValue, size_t *ParamValueSizeRet) |
pi_result | piProgramRetain (pi_program Program) |
pi_result | piKernelSetExecInfo (pi_kernel Kernel, pi_kernel_exec_info ParamName, size_t ParamValueSize, const void *ParamValue) |
API to set attributes controlling kernel execution. More... | |
pi_result | piKernelGetInfo (pi_kernel Kernel, pi_kernel_info ParamName, size_t ParamValueSize, void *ParamValue, size_t *ParamValueSizeRet) |
pi_result | piQueueRetain (pi_queue Queue) |
pi_result | piQueueFlush (pi_queue Queue) |
pi_result | piMemRetain (pi_mem Mem) |
pi_result | piProgramCreateWithBinary (pi_context Context, pi_uint32 NumDevices, const pi_device *DeviceList, const size_t *Lengths, const unsigned char **Binaries, size_t NumMetadataEntries, const pi_device_binary_property *Metadata, pi_int32 *BinaryStatus, pi_program *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 ParamName, size_t ParamValueSize, void *ParamValue, size_t *ParamValueSizeRet) |
pi_result | piProgramCompile (pi_program Program, pi_uint32 NumDevices, const pi_device *DeviceList, const char *Options, pi_uint32 NumInputHeaders, const pi_program *InputHeaders, const char **HeaderIncludeNames, void(*PFnNotify)(pi_program Program, void *UserData), void *UserData) |
pi_result | piProgramGetBuildInfo (pi_program Program, pi_device Device, pi_program_build_info ParamName, size_t ParamValueSize, void *ParamValue, size_t *ParamValueSizeRet) |
pi_result | piEventCreate (pi_context Context, pi_event *RetEvent) |
Create PI event object in a signalled/completed state. More... | |
pi_result | piEventSetCallback (pi_event Event, pi_int32 CommandExecCallbackType, void(*PFnNotify)(pi_event Event, pi_int32 EventCommandStatus, void *UserData), void *UserData) |
pi_result | piEventSetStatus (pi_event Event, pi_int32 ExecutionStatus) |
pi_result | piEventRetain (pi_event Event) |
pi_result | piEventRelease (pi_event Event) |
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 | piEnqueueMemImageFill (pi_queue Queue, pi_mem Image, const void *FillColor, const size_t *Origin, const size_t *Region, pi_uint32 NumEventsInWaitList, const pi_event *EventWaitList, pi_event *Event) |
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 | 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 | piextContextSetExtendedDeleter (pi_context Context, pi_context_extended_deleter Function, void *UserData) |
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 OwnNativeHandle, pi_context *RetContext) |
Creates PI context object from a native handle. More... | |
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 OwnNativeHandle, pi_queue_properties *Properties, pi_queue *Queue) |
Creates PI queue object from a native handle. More... | |
pi_result | piMemRelease (pi_mem Mem) |
pi_result | piextGetDeviceFunctionPointer (pi_device Device, pi_program Program, const char *FunctionName, pi_uint64 *FunctionPointerRet) |
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 | 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. More... | |
pi_result | piextUSMEnqueueMemAdvise (pi_queue Queue, const void *Ptr, size_t Length, pi_mem_advice Advice, pi_event *OutEvent) |
USM memadvise API to govern behavior of automatic migration mechanisms. More... | |
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. More... | |
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. More... | |
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. 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 | 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 ownNativeHandle, pi_program *Program) |
Creates PI program object from a native handle. More... | |
pi_result | piSamplerCreate (pi_context Context, const pi_sampler_properties *SamplerProperties, pi_sampler *RetSampler) |
pi_result | piSamplerGetInfo (pi_sampler Sampler, pi_sampler_info ParamName, size_t ParamValueSize, void *ParamValue, size_t *ParamValueSizeRet) |
pi_result | piSamplerRetain (pi_sampler Sampler) |
pi_result | piSamplerRelease (pi_sampler Sampler) |
pi_result | piMemImageGetInfo (pi_mem Image, pi_image_info ParamName, size_t ParamValueSize, void *ParamValue, size_t *ParamValueSizeRet) |
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. More... | |
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) |
API for writing data from host to a device global variable. More... | |
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. 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 | piextCommandBufferCreate (pi_context Context, pi_device Device, const pi_ext_command_buffer_desc *Desc, pi_ext_command_buffer *RetCommandBuffer) |
API to create a command-buffer. More... | |
pi_result | piextCommandBufferRetain (pi_ext_command_buffer CommandBuffer) |
API to increment the reference count of the command-buffer. More... | |
pi_result | piextCommandBufferRelease (pi_ext_command_buffer CommandBuffer) |
API to decrement the reference count of the command-buffer. More... | |
pi_result | piextCommandBufferFinalize (pi_ext_command_buffer CommandBuffer) |
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 CommandBuffer, pi_kernel Kernel, pi_uint32 WorkDim, const size_t *GlobalWorkOffset, const size_t *GlobalWorkSize, const size_t *LocalWorkSize, pi_uint32 NumSyncPointsInWaitList, const pi_ext_sync_point *SyncPointWaitList, pi_ext_sync_point *SyncPoint, 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 CommandBuffer, void *DstPtr, const void *SrcPtr, size_t Size, pi_uint32 NumSyncPointsInWaitList, const pi_ext_sync_point *SyncPointWaitList, pi_ext_sync_point *SyncPoint) |
API to append a USM memcpy command to the command-buffer. More... | |
pi_result | piextCommandBufferMemBufferCopy (pi_ext_command_buffer CommandBuffer, pi_mem SrcMem, pi_mem DstMem, size_t SrcOffset, size_t DstOffset, size_t Size, pi_uint32 NumSyncPointsInWaitList, const pi_ext_sync_point *SyncPointWaitList, pi_ext_sync_point *SyncPoint) |
API to append a mem buffer copy command to the command-buffer. More... | |
pi_result | piextCommandBufferMemBufferCopyRect (pi_ext_command_buffer CommandBuffer, pi_mem SrcMem, pi_mem DstMem, pi_buff_rect_offset SrcOrigin, pi_buff_rect_offset DstOrigin, pi_buff_rect_region Region, size_t SrcRowPitch, size_t SrcSlicePitch, size_t DstRowPitch, size_t DstSlicePitch, pi_uint32 NumSyncPointsInWaitList, const pi_ext_sync_point *SyncPointWaitList, pi_ext_sync_point *SyncPoint) |
API to append a rectangular mem buffer copy command to the command-buffer. More... | |
pi_result | piextCommandBufferMemBufferRead (pi_ext_command_buffer CommandBuffer, pi_mem Buffer, size_t Offset, size_t Size, void *Dst, pi_uint32 NumSyncPointsInWaitList, const pi_ext_sync_point *SyncPointWaitList, pi_ext_sync_point *SyncPoint) |
API to append a mem buffer read command to the command-buffer. More... | |
pi_result | piextCommandBufferMemBufferReadRect (pi_ext_command_buffer CommandBuffer, pi_mem Buffer, pi_buff_rect_offset BufferOffset, pi_buff_rect_offset HostOffset, pi_buff_rect_region Region, size_t BufferRowPitch, size_t BufferSlicePitch, size_t HostRowPitch, size_t HostSlicePitch, void *Ptr, pi_uint32 NumSyncPointsInWaitList, const pi_ext_sync_point *SyncPointWaitList, pi_ext_sync_point *SyncPoint) |
API to append a rectangular mem buffer read command to the command-buffer. More... | |
pi_result | piextCommandBufferMemBufferWrite (pi_ext_command_buffer CommandBuffer, pi_mem Buffer, size_t Offset, size_t Size, const void *Ptr, pi_uint32 NumSyncPointsInWaitList, const pi_ext_sync_point *SyncPointWaitList, pi_ext_sync_point *SyncPoint) |
API to append a mem buffer write command to the command-buffer. More... | |
pi_result | piextCommandBufferMemBufferWriteRect (pi_ext_command_buffer CommandBuffer, pi_mem Buffer, pi_buff_rect_offset BufferOffset, pi_buff_rect_offset HostOffset, pi_buff_rect_region Region, size_t BufferRowPitch, size_t BufferSlicePitch, size_t HostRowPitch, size_t HostSlicePitch, const void *Ptr, pi_uint32 NumSyncPointsInWaitList, const pi_ext_sync_point *SyncPointWaitList, pi_ext_sync_point *SyncPoint) |
API to append a rectangular mem buffer write command to the command-buffer. More... | |
pi_result | piextCommandBufferMemBufferFill (pi_ext_command_buffer CommandBuffer, pi_mem Buffer, const void *Pattern, size_t PatternSize, size_t Offset, size_t Size, pi_uint32 NumSyncPointsInWaitList, const pi_ext_sync_point *SyncPointWaitList, pi_ext_sync_point *SyncPoint) |
API to append a mem buffer fill command to the command-buffer. More... | |
pi_result | piextCommandBufferFillUSM (pi_ext_command_buffer CommandBuffer, void *Ptr, const void *Pattern, size_t PatternSize, size_t Size, pi_uint32 NumSyncPointsInWaitList, const pi_ext_sync_point *SyncPointWaitList, pi_ext_sync_point *SyncPoint) |
API to append a USM fill command to the command-buffer. More... | |
pi_result | piextCommandBufferPrefetchUSM (pi_ext_command_buffer CommandBuffer, const void *Ptr, size_t Size, pi_usm_migration_flags Flags, pi_uint32 NumSyncPointsInWaitList, const pi_ext_sync_point *SyncPointWaitList, pi_ext_sync_point *SyncPoint) |
API to append a USM Prefetch command to the command-buffer. More... | |
pi_result | piextCommandBufferAdviseUSM (pi_ext_command_buffer CommandBuffer, const void *Ptr, size_t Length, pi_mem_advice Advice, pi_uint32 NumSyncPointsInWaitList, const pi_ext_sync_point *SyncPointWaitList, pi_ext_sync_point *SyncPoint) |
API to append a USM Advise command to the command-buffer. More... | |
pi_result | piextEnqueueCommandBuffer (pi_ext_command_buffer CommandBuffer, pi_queue Queue, pi_uint32 NumEventsInWaitList, const pi_event *EventWaitList, 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 | 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 | piPluginGetBackendOption (pi_platform platform, const char *frontend_option, const char **backend_option) |
API to get backend specific option. More... | |
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 ParamValueSize, void *ParamValue, size_t *ParamValueSizeRet) |
pi_result | piTearDown (void *) |
API to notify that the plugin should clean up its resources. More... | |
pi_result | piextMemImageAllocate (pi_context Context, pi_device Device, pi_image_format *ImageFormat, pi_image_desc *ImageDesc, pi_image_mem_handle *RetMem) |
API to allocate memory for bindless images. More... | |
pi_result | piextMemUnsampledImageCreate (pi_context Context, pi_device Device, pi_image_mem_handle ImgMem, pi_image_format *ImageFormat, pi_image_desc *ImageDesc, pi_mem *RetMem, pi_image_handle *RetHandle) |
API to create bindless image handles. More... | |
pi_result | piextMemSampledImageCreate (pi_context Context, pi_device Device, pi_image_mem_handle ImgMem, pi_image_format *ImageFormat, pi_image_desc *ImageDesc, pi_sampler Sampler, pi_mem *RetMem, pi_image_handle *RetHandle) |
API to create sampled bindless image handles. More... | |
pi_result | piextBindlessImageSamplerCreate (pi_context Context, const pi_sampler_properties *SamplerProperties, float MinMipmapLevelClamp, float MaxMipmapLevelClamp, float MaxAnisotropy, pi_sampler *RetSampler) |
API to create samplers for bindless images. More... | |
pi_result | piextMemMipmapGetLevel (pi_context Context, pi_device Device, pi_image_mem_handle MipMem, unsigned int Level, pi_image_mem_handle *RetMem) |
API to retrieve individual image from mipmap. More... | |
pi_result | piextMemImageFree (pi_context Context, pi_device Device, pi_image_mem_handle MemoryHandle) |
API to free memory for bindless images. More... | |
pi_result | piextMemMipmapFree (pi_context Context, pi_device Device, pi_image_mem_handle MemoryHandle) |
API to free mipmap memory for bindless images. More... | |
pi_result | piextMemImageCopy (pi_queue Queue, void *DstPtr, void *SrcPtr, const pi_image_format *ImageFormat, const pi_image_desc *ImageDesc, const pi_image_copy_flags Flags, pi_image_offset SrcOffset, pi_image_offset DstOffset, pi_image_region CopyExtent, pi_image_region HostExtent, pi_uint32 NumEventsInWaitList, const pi_event *EventWaitList, pi_event *Event) |
API to copy image data Host to Device or Device to Host. 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 | piextMemImageGetInfo (pi_image_mem_handle MemHandle, pi_image_info ParamName, void *ParamValue, size_t *ParamValueSizeRet) |
API to query an image memory handle for specific properties. More... | |
pi_result | piextMemImportOpaqueFD (pi_context Context, pi_device Device, size_t Size, int FileDescriptor, pi_interop_mem_handle *RetHandle) |
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 *ImageFormat, pi_image_desc *ImageDesc, pi_interop_mem_handle MemHandle, pi_image_mem_handle *RetMem) |
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 ExtMem) |
API to destroy interop memory. More... | |
pi_result | piextImportExternalSemaphoreOpaqueFD (pi_context Context, pi_device Device, int FileDescriptor, pi_interop_semaphore_handle *RetHandle) |
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 SemHandle) |
API to destroy the external semaphore handle. More... | |
pi_result | piextWaitExternalSemaphore (pi_queue Queue, pi_interop_semaphore_handle SemHandle, pi_uint32 NumEventsInWaitList, const pi_event *EventWaitList, pi_event *Event) |
API to instruct the queue with a non-blocking wait on an external semaphore. More... | |
pi_result | piextSignalExternalSemaphore (pi_queue Queue, pi_interop_semaphore_handle SemHandle, pi_uint32 NumEventsInWaitList, const pi_event *EventWaitList, pi_event *Event) |
API to instruct the queue to signal the external semaphore handle once all previous commands have completed execution. More... | |
pi_result | piPluginInit (pi_plugin *PluginInit) |
Variables | |
struct AdapterHolder | Adapters |
#define _PI_API | ( | api | ) | (PluginInit->PiFunctionTable).api = (decltype(&::api))(&DieUnsupported); |
#define _PI_API | ( | api | ) | (PluginInit->PiFunctionTable).api = (decltype(&::api))(&api); |
|
static |
Definition at line 16 of file pi_unified_runtime.cpp.
References sycl::_V1::detail::pi::die().
pi_result piContextCreate | ( | const pi_context_properties * | Properties, |
pi_uint32 | NumDevices, | ||
const pi_device * | Devices, | ||
void(*)(const char *ErrInfo, const void *PrivateInfo, size_t CB, void *UserData) | PFnNotify, | ||
void * | UserData, | ||
pi_context * | RetContext | ||
) |
Definition at line 100 of file pi_unified_runtime.cpp.
References pi2ur::piContextCreate().
Referenced by piPluginInit().
pi_result piContextGetInfo | ( | pi_context | Context, |
pi_context_info | ParamName, | ||
size_t | ParamValueSize, | ||
void * | ParamValue, | ||
size_t * | ParamValueSizeRet | ||
) |
Definition at line 109 of file pi_unified_runtime.cpp.
References pi2ur::piContextGetInfo().
Referenced by sycl::_V1::detail::context_impl::context_impl(), sycl::_V1::detail::MemoryManager::copy_2d_usm(), sycl::_V1::detail::createBinaryProgram(), sycl::_V1::detail::get_context_info(), and piPluginInit().
pi_result piContextRelease | ( | pi_context | Context | ) |
Definition at line 118 of file pi_unified_runtime.cpp.
References pi2ur::piContextRelease().
Referenced by piPluginInit(), and sycl::_V1::detail::context_impl::~context_impl().
pi_result piContextRetain | ( | pi_context | Context | ) |
Definition at line 403 of file pi_unified_runtime.cpp.
References pi2ur::piContextRetain().
Referenced by sycl::_V1::detail::context_impl::context_impl(), sycl::_V1::detail::context_impl::get(), sycl::_V1::detail::context_impl::getNative(), and piPluginInit().
pi_result piDeviceGetInfo | ( | pi_device | Device, |
pi_device_info | ParamName, | ||
size_t | ParamValueSize, | ||
void * | ParamValue, | ||
size_t * | ParamValueSizeRet | ||
) |
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 75 of file pi_unified_runtime.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().
pi_result piDevicePartition | ( | pi_device | Device, |
const pi_device_partition_property * | Properties, | ||
pi_uint32 | NumDevices, | ||
pi_device * | OutDevices, | ||
pi_uint32 * | OutNumDevices | ||
) |
Definition at line 83 of file pi_unified_runtime.cpp.
References pi2ur::piDevicePartition().
Referenced by sycl::_V1::detail::device_impl::create_sub_devices(), and piPluginInit().
Definition at line 71 of file pi_unified_runtime.cpp.
References pi2ur::piDeviceRelease().
Referenced by sycl::_V1::detail::platform_impl::get_devices(), piPluginInit(), and sycl::_V1::detail::device_impl::~device_impl().
Definition at line 67 of file pi_unified_runtime.cpp.
References pi2ur::piDeviceRetain().
Referenced by sycl::_V1::detail::device_impl::get(), sycl::_V1::detail::device_impl::getNative(), and piPluginInit().
pi_result piDevicesGet | ( | pi_platform | Platform, |
pi_device_type | DeviceType, | ||
pi_uint32 | NumEntries, | ||
pi_device * | Devices, | ||
pi_uint32 * | NumDevices | ||
) |
Definition at line 59 of file pi_unified_runtime.cpp.
References pi2ur::piDevicesGet().
Referenced by sycl::_V1::detail::platform_impl::get_devices(), and piPluginInit().
pi_result piEnqueueEventsWait | ( | pi_queue | Queue, |
pi_uint32 | NumEventsInWaitList, | ||
const pi_event * | EventWaitList, | ||
pi_event * | OutEvent | ||
) |
Definition at line 552 of file pi_unified_runtime.cpp.
References pi2ur::piEnqueueEventsWait().
Referenced by sycl::_V1::detail::MemoryManager::copy_2d_usm(), sycl::_V1::detail::MemoryManager::copy_usm(), sycl::_V1::detail::MemoryManager::fill_2d_usm(), sycl::_V1::detail::MemoryManager::fill_usm(), sycl::_V1::detail::MemoryManager::memset_2d_usm(), piPluginInit(), and sycl::_V1::detail::Command::waitForEvents().
pi_result piEnqueueEventsWaitWithBarrier | ( | pi_queue | Queue, |
pi_uint32 | NumEventsInWaitList, | ||
const pi_event * | EventWaitList, | ||
pi_event * | OutEvent | ||
) |
Definition at line 544 of file pi_unified_runtime.cpp.
References pi2ur::piEnqueueEventsWaitWithBarrier().
Referenced by piPluginInit().
pi_result piEnqueueKernelLaunch | ( | pi_queue | Queue, |
pi_kernel | Kernel, | ||
pi_uint32 | WorkDim, | ||
const size_t * | GlobalWorkOffset, | ||
const size_t * | GlobalWorkSize, | ||
const size_t * | LocalWorkSize, | ||
pi_uint32 | NumEventsInWaitList, | ||
const pi_event * | EventWaitList, | ||
pi_event * | OutEvent | ||
) |
Definition at line 260 of file pi_unified_runtime.cpp.
References pi2ur::piEnqueueKernelLaunch().
Referenced by piPluginInit(), and sycl::_V1::detail::SetKernelParamsAndLaunch().
pi_result piEnqueueMemBufferCopy | ( | pi_queue | Queue, |
pi_mem | SrcMem, | ||
pi_mem | DstMem, | ||
size_t | SrcOffset, | ||
size_t | DstOffset, | ||
size_t | Size, | ||
pi_uint32 | NumEventsInWaitList, | ||
const pi_event * | EventWaitList, | ||
pi_event * | Event | ||
) |
Definition at line 473 of file pi_unified_runtime.cpp.
References pi2ur::piEnqueueMemBufferCopy().
Referenced by sycl::_V1::detail::copyD2D(), and piPluginInit().
pi_result piEnqueueMemBufferCopyRect | ( | pi_queue | Queue, |
pi_mem | SrcMem, | ||
pi_mem | DstMem, | ||
pi_buff_rect_offset | SrcOrigin, | ||
pi_buff_rect_offset | DstOrigin, | ||
pi_buff_rect_region | Region, | ||
size_t | SrcRowPitch, | ||
size_t | SrcSlicePitch, | ||
size_t | DstRowPitch, | ||
size_t | DstSlicePitch, | ||
pi_uint32 | NumEventsInWaitList, | ||
const pi_event * | EventWaitList, | ||
pi_event * | Event | ||
) |
Definition at line 460 of file pi_unified_runtime.cpp.
References pi2ur::piEnqueueMemBufferCopyRect().
Referenced by sycl::_V1::detail::copyD2D(), and piPluginInit().
pi_result piEnqueueMemBufferFill | ( | pi_queue | Queue, |
pi_mem | Buffer, | ||
const void * | Pattern, | ||
size_t | PatternSize, | ||
size_t | Offset, | ||
size_t | Size, | ||
pi_uint32 | NumEventsInWaitList, | ||
const pi_event * | EventWaitList, | ||
pi_event * | Event | ||
) |
Definition at line 337 of file pi_unified_runtime.cpp.
References pi2ur::piEnqueueMemBufferFill().
Referenced by sycl::_V1::detail::MemoryManager::fill(), and piPluginInit().
pi_result piEnqueueMemBufferMap | ( | pi_queue | Queue, |
pi_mem | Mem, | ||
pi_bool | BlockingMap, | ||
pi_map_flags | MapFlags, | ||
size_t | Offset, | ||
size_t | Size, | ||
pi_uint32 | NumEventsInWaitList, | ||
const pi_event * | EventWaitList, | ||
pi_event * | OutEvent, | ||
void ** | RetMap | ||
) |
Definition at line 327 of file pi_unified_runtime.cpp.
References pi2ur::piEnqueueMemBufferMap().
Referenced by sycl::_V1::detail::memBufferMapHelper(), and piPluginInit().
pi_result piEnqueueMemBufferRead | ( | pi_queue | Queue, |
pi_mem | Src, | ||
pi_bool | BlockingRead, | ||
size_t | Offset, | ||
size_t | Size, | ||
void * | Dst, | ||
pi_uint32 | NumEventsInWaitList, | ||
const pi_event * | EventWaitList, | ||
pi_event * | Event | ||
) |
Definition at line 534 of file pi_unified_runtime.cpp.
References pi2ur::piEnqueueMemBufferRead().
Referenced by sycl::_V1::detail::copyD2H(), and piPluginInit().
pi_result piEnqueueMemBufferReadRect | ( | pi_queue | Queue, |
pi_mem | Buffer, | ||
pi_bool | BlockingRead, | ||
pi_buff_rect_offset | BufferOffset, | ||
pi_buff_rect_offset | HostOffset, | ||
pi_buff_rect_region | Region, | ||
size_t | BufferRowPitch, | ||
size_t | BufferSlicePitch, | ||
size_t | HostRowPitch, | ||
size_t | HostSlicePitch, | ||
void * | Ptr, | ||
pi_uint32 | NumEventsInWaitList, | ||
const pi_event * | EventWaitList, | ||
pi_event * | Event | ||
) |
Definition at line 520 of file pi_unified_runtime.cpp.
References pi2ur::piEnqueueMemBufferReadRect().
Referenced by sycl::_V1::detail::copyD2H(), and piPluginInit().
pi_result piEnqueueMemBufferWrite | ( | pi_queue | Queue, |
pi_mem | Buffer, | ||
pi_bool | BlockingWrite, | ||
size_t | Offset, | ||
size_t | Size, | ||
const void * | Ptr, | ||
pi_uint32 | NumEventsInWaitList, | ||
const pi_event * | EventWaitList, | ||
pi_event * | Event | ||
) |
Definition at line 510 of file pi_unified_runtime.cpp.
References pi2ur::piEnqueueMemBufferWrite().
Referenced by sycl::_V1::detail::copyH2D(), and piPluginInit().
pi_result piEnqueueMemBufferWriteRect | ( | pi_queue | Queue, |
pi_mem | Buffer, | ||
pi_bool | BlockingWrite, | ||
pi_buff_rect_offset | BufferOffset, | ||
pi_buff_rect_offset | HostOffset, | ||
pi_buff_rect_region | Region, | ||
size_t | BufferRowPitch, | ||
size_t | BufferSlicePitch, | ||
size_t | HostRowPitch, | ||
size_t | HostSlicePitch, | ||
const void * | Ptr, | ||
pi_uint32 | NumEventsInWaitList, | ||
const pi_event * | EventWaitList, | ||
pi_event * | Event | ||
) |
Definition at line 496 of file pi_unified_runtime.cpp.
References pi2ur::piEnqueueMemBufferWriteRect().
Referenced by sycl::_V1::detail::copyH2D(), and piPluginInit().
pi_result piEnqueueMemImageCopy | ( | pi_queue | Queue, |
pi_mem | SrcImage, | ||
pi_mem | DstImage, | ||
pi_image_offset | SrcOrigin, | ||
pi_image_offset | DstOrigin, | ||
pi_image_region | Region, | ||
pi_uint32 | NumEventsInWaitList, | ||
const pi_event * | EventWaitList, | ||
pi_event * | Event | ||
) |
Definition at line 244 of file pi_unified_runtime.cpp.
References pi2ur::piEnqueueMemImageCopy().
Referenced by sycl::_V1::detail::copyD2D(), and piPluginInit().
pi_result piEnqueueMemImageFill | ( | pi_queue | Queue, |
pi_mem | Image, | ||
const void * | FillColor, | ||
const size_t * | Origin, | ||
const size_t * | Region, | ||
pi_uint32 | NumEventsInWaitList, | ||
const pi_event * | EventWaitList, | ||
pi_event * | Event | ||
) |
Definition at line 685 of file pi_unified_runtime.cpp.
References pi2ur::piEnqueueMemImageFill().
Referenced by sycl::_V1::detail::MemoryManager::fill(), and piPluginInit().
pi_result piEnqueueMemImageRead | ( | pi_queue | Queue, |
pi_mem | Image, | ||
pi_bool | BlockingRead, | ||
pi_image_offset | Origin, | ||
pi_image_region | Region, | ||
size_t | RowPitch, | ||
size_t | SlicePitch, | ||
void * | Ptr, | ||
pi_uint32 | NumEventsInWaitList, | ||
const pi_event * | EventWaitList, | ||
pi_event * | Event | ||
) |
Definition at line 282 of file pi_unified_runtime.cpp.
References pi2ur::piEnqueueMemImageRead().
Referenced by piPluginInit().
pi_result piEnqueueMemImageWrite | ( | pi_queue | Queue, |
pi_mem | Image, | ||
pi_bool | BlockingWrite, | ||
pi_image_offset | Origin, | ||
pi_image_region | Region, | ||
size_t | InputRowPitch, | ||
size_t | InputSlicePitch, | ||
const void * | Ptr, | ||
pi_uint32 | NumEventsInWaitList, | ||
const pi_event * | EventWaitList, | ||
pi_event * | Event | ||
) |
Definition at line 271 of file pi_unified_runtime.cpp.
References pi2ur::piEnqueueMemImageWrite().
Referenced by piPluginInit().
pi_result piEnqueueMemUnmap | ( | pi_queue | Queue, |
pi_mem | Mem, | ||
void * | MappedPtr, | ||
pi_uint32 | NumEventsInWaitList, | ||
const pi_event * | EventWaitList, | ||
pi_event * | OutEvent | ||
) |
Definition at line 300 of file pi_unified_runtime.cpp.
References pi2ur::piEnqueueMemUnmap().
Referenced by sycl::_V1::detail::memUnmapHelper(), and piPluginInit().
pi_result piEventCreate | ( | pi_context | context, |
pi_event * | ret_event | ||
) |
Create PI event object in a signalled/completed state.
context | is the PI context of the event. |
ret_event | is the PI even created. |
Definition at line 651 of file pi_unified_runtime.cpp.
References pi2ur::piEventCreate().
Referenced by piPluginInit().
pi_result piEventGetInfo | ( | pi_event | Event, |
pi_event_info | ParamName, | ||
size_t | ParamValueSize, | ||
void * | ParamValue, | ||
size_t * | ParamValueSizeRet | ||
) |
Definition at line 320 of file pi_unified_runtime.cpp.
References pi2ur::piEventGetInfo().
Referenced by sycl::_V1::detail::event_impl::event_impl(), sycl::_V1::detail::event_impl::flushIfNeeded(), sycl::_V1::detail::get_event_info(), and piPluginInit().
pi_result piEventGetProfilingInfo | ( | pi_event | Event, |
pi_profiling_info | ParamName, | ||
size_t | ParamValueSize, | ||
void * | ParamValue, | ||
size_t * | ParamValueSizeRet | ||
) |
Definition at line 567 of file pi_unified_runtime.cpp.
References pi2ur::piEventGetProfilingInfo().
Referenced by sycl::_V1::detail::get_event_profiling_info(), and piPluginInit().
Definition at line 674 of file pi_unified_runtime.cpp.
References pi2ur::piEventRelease().
Referenced by sycl::_V1::detail::DeviceGlobalUSMMem::getInitEvent(), sycl::_V1::detail::context_impl::initializeDeviceGlobals(), piPluginInit(), sycl::_V1::detail::DeviceGlobalMapEntry::removeAssociatedResources(), sycl::_V1::detail::event_impl::~event_impl(), and sycl::_V1::detail::OwnedPiEvent::~OwnedPiEvent().
Definition at line 670 of file pi_unified_runtime.cpp.
References pi2ur::piEventRetain().
Referenced by sycl::_V1::detail::MemoryManager::allocateInteropMemObject(), sycl::_V1::detail::event_impl::getNative(), sycl::_V1::detail::make_event(), sycl::_V1::detail::OwnedPiEvent::OwnedPiEvent(), and piPluginInit().
pi_result piEventSetCallback | ( | pi_event | Event, |
pi_int32 | CommandExecCallbackType, | ||
void(*)(pi_event Event, pi_int32 EventCommandStatus, void *UserData) | PFnNotify, | ||
void * | UserData | ||
) |
Definition at line 656 of file pi_unified_runtime.cpp.
References pi2ur::piEventSetCallback().
Referenced by piPluginInit().
Definition at line 665 of file pi_unified_runtime.cpp.
References pi2ur::piEventSetStatus().
Referenced by piPluginInit().
Definition at line 310 of file pi_unified_runtime.cpp.
References pi2ur::piEventsWait().
Referenced by sycl::_V1::detail::memUnmapHelper(), piPluginInit(), sycl::_V1::detail::waitForEvents(), sycl::_V1::detail::Command::waitForEvents(), and sycl::_V1::detail::event_impl::waitInternal().
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.
context | is the pi_context |
device | is the pi_device |
sampler_properties | is the pointer to the sampler properties bitfield |
min_mipmap_level_clamp | is the minimum mipmap level to sample from |
max_mipmap_level_clamp | is the maximum mipmap level to sample from |
max_anisotropy | is the maximum anisotropic ratio |
result_sampler | is the returned sampler |
Definition at line 1244 of file pi_unified_runtime.cpp.
References pi2ur::piextBindlessImageSamplerCreate().
Referenced by sycl::_V1::ext::oneapi::experimental::create_image().
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.
command_buffer | The command-buffer to append onto. |
ptr | is the data to be advised. |
length | is the size in bytes of the memory to advise. |
advice | is device specific advice. |
num_sync_points_in_wait_list | The number of sync points in the provided wait list. |
sync_point_wait_list | A list of sync points that this command must wait on. |
sync_point | The sync_point associated with this memory operation. |
Definition at line 1146 of file pi_unified_runtime.cpp.
References pi2ur::piextCommandBufferAdviseUSM().
Referenced by sycl::_V1::detail::MemoryManager::ext_oneapi_advise_usm_cmd_buffer().
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.
context | The context to associate the command-buffer with. |
device | The device to associate the command-buffer with. |
desc | Descriptor for the new command-buffer. |
ret_command_buffer | Pointer to fill with the address of the new command-buffer. |
Definition at line 1010 of file pi_unified_runtime.cpp.
References pi2ur::piextCommandBufferCreate().
Referenced by sycl::_V1::ext::oneapi::experimental::detail::exec_graph_impl::createCommandBuffers().
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.
command_buffer | The command-buffer to append onto. |
ptr | pointer to the USM allocation to fill. |
pattern | pointer to the pattern to fill ptr with. |
pattern_size | size of the pattern in bytes. |
size | fill size in bytes. |
num_sync_points_in_wait_list | The number of sync points in the provided wait list. |
sync_point_wait_list | A list of sync points that this command must wait on. |
sync_point | The sync_point associated with this memory operation. |
Definition at line 1126 of file pi_unified_runtime.cpp.
References pi2ur::piextCommandBufferFillUSM().
Referenced by sycl::_V1::detail::MemoryManager::ext_oneapi_fill_usm_cmd_buffer().
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.
command_buffer | The command_buffer to finalize. |
Definition at line 1025 of file pi_unified_runtime.cpp.
References pi2ur::piextCommandBufferFinalize().
Referenced by sycl::_V1::ext::oneapi::experimental::detail::exec_graph_impl::createCommandBuffers().
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.
command_buffer | The command-buffer to append onto. |
src_buffer | is the data to be copied |
dst_buffer | is the location the data will be copied |
src_offset | offset into src_buffer |
dst_offset | offset into dst_buffer |
size | is number of bytes to copy |
num_sync_points_in_wait_list | The number of sync points in the provided wait list. |
sync_point_wait_list | A list of sync points that this command must wait on. |
sync_point | The sync_point associated with this memory operation. |
Definition at line 1050 of file pi_unified_runtime.cpp.
References pi2ur::piextCommandBufferMemBufferCopy().
Referenced by sycl::_V1::detail::MemoryManager::ext_oneapi_copyD2D_cmd_buffer().
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.
command_buffer | The command-buffer to append onto. |
src_buffer | is the data to be copied |
dst_buffer | is the location the data will be copied |
src_origin | offset for the start of the region to copy in src_buffer |
dst_origin | offset for the start of the region to copy in dst_buffer |
region | The size of the region to be copied |
src_row_pitch | Row pitch for the src data |
src_slice_pitch | Slice pitch for the src data |
dst_row_pitch | Row pitch for the dst data |
dst_slice_pitch | Slice pitch for the dst data |
num_sync_points_in_wait_list | The number of sync points in the provided wait list. |
sync_point_wait_list | A list of sync points that this command must wait on. |
sync_point | The sync_point associated with this memory operation. |
Definition at line 1060 of file pi_unified_runtime.cpp.
References pi2ur::piextCommandBufferMemBufferCopyRect().
Referenced by sycl::_V1::detail::MemoryManager::ext_oneapi_copyD2D_cmd_buffer().
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.
command_buffer | The command-buffer to append onto. |
buffer | is the location to fill the data. |
pattern | pointer to the pattern to fill the buffer with. |
pattern_size | size of the pattern in bytes. |
offset | Offset into the buffer to fill from. |
size | fill size in bytes. |
num_sync_points_in_wait_list | The number of sync points in the provided wait list. |
sync_point_wait_list | A list of sync points that this command must wait on. |
sync_point | The sync_point associated with this memory operation. |
Definition at line 1116 of file pi_unified_runtime.cpp.
References pi2ur::piextCommandBufferMemBufferFill().
Referenced by sycl::_V1::detail::MemoryManager::ext_oneapi_fill_cmd_buffer().
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.
command_buffer | The command-buffer to append onto. |
buffer | is the data to be read |
offset | offset into buffer |
size | is number of bytes to read |
dst | is the pointer to the destination |
num_sync_points_in_wait_list | The number of sync points in the provided wait list. |
sync_point_wait_list | A list of sync points that this command must wait on. |
sync_point | The sync_point associated with this memory operation. |
Definition at line 1072 of file pi_unified_runtime.cpp.
References pi2ur::piextCommandBufferMemBufferRead().
Referenced by sycl::_V1::detail::MemoryManager::ext_oneapi_copyD2H_cmd_buffer().
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.
command_buffer | The command-buffer to append onto. |
buffer | is the data to be read |
buffer_offset | offset for the start of the region to read in buffer |
host_offset | offset for the start of the region to be written from ptr |
region | The size of the region to read |
buffer_row_pitch | Row pitch for the source buffer data |
buffer_slice_pitch | Slice pitch for the source buffer data |
host_row_pitch | Row pitch for the destination data ptr |
host_slice_pitch | Slice pitch for the destination data ptr |
ptr | is the location the data will be written |
num_sync_points_in_wait_list | The number of sync points in the provided wait list. |
sync_point_wait_list | A list of sync points that this command must wait on. |
sync_point | The sync_point associated with this memory operation. |
Definition at line 1081 of file pi_unified_runtime.cpp.
References pi2ur::piextCommandBufferMemBufferReadRect().
Referenced by sycl::_V1::detail::MemoryManager::ext_oneapi_copyD2H_cmd_buffer().
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.
command_buffer | The command-buffer to append onto. |
buffer | is the location to write the data |
offset | offset into buffer |
size | is number of bytes to write |
ptr | is the pointer to the source |
num_sync_points_in_wait_list | The number of sync points in the provided wait list. |
sync_point_wait_list | A list of sync points that this command must wait on. |
sync_point | The sync_point associated with this memory operation. |
Definition at line 1094 of file pi_unified_runtime.cpp.
References pi2ur::piextCommandBufferMemBufferWrite().
Referenced by sycl::_V1::detail::MemoryManager::ext_oneapi_copyH2D_cmd_buffer().
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.
command_buffer | The command-buffer to append onto. |
buffer | is the location to write the data |
buffer_offset | offset for the start of the region to write in buffer |
host_offset | offset for the start of the region to be read from ptr |
region | The size of the region to write |
buffer_row_pitch | Row pitch for the buffer data |
buffer_slice_pitch | Slice pitch for the buffer data |
host_row_pitch | Row pitch for the source data ptr |
host_slice_pitch | Slice pitch for the source data ptr |
ptr | is the pointer to the source |
num_sync_points_in_wait_list | The number of sync points in the provided wait list. |
sync_point_wait_list | A list of sync points that this command must wait on. |
sync_point | The sync_point associated with this memory operation. |
Definition at line 1103 of file pi_unified_runtime.cpp.
References pi2ur::piextCommandBufferMemBufferWriteRect().
Referenced by sycl::_V1::detail::MemoryManager::ext_oneapi_copyH2D_cmd_buffer().
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.
command_buffer | The command-buffer to append onto. |
dst_ptr | is the location the data will be copied |
src_ptr | is the data to be copied |
size | is number of bytes to copy |
num_sync_points_in_wait_list | The number of sync points in the provided wait list. |
sync_point_wait_list | A list of sync points that this command must wait on. |
sync_point | The sync_point associated with this memory operation. |
Definition at line 1041 of file pi_unified_runtime.cpp.
References pi2ur::piextCommandBufferMemcpyUSM().
Referenced by sycl::_V1::detail::MemoryManager::ext_oneapi_copy_usm_cmd_buffer().
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.
command_buffer | The command-buffer to append onto. |
kernel | The kernel to append. |
work_dim | Dimension of the kernel execution. |
global_work_offset | Offset to use when executing kernel. |
global_work_size | Global work size to use when executing kernel. |
local_work_size | Local work size to use when executing kernel. |
num_sync_points_in_wait_list | The number of sync points in the provided wait list. |
sync_point_wait_list | A list of sync points that this command must wait on. |
sync_point | The sync_point associated with this kernel execution. |
command | Return pointer to the command representing this kernel execution. |
Definition at line 1029 of file pi_unified_runtime.cpp.
References pi2ur::piextCommandBufferNDRangeKernel().
Referenced by sycl::_V1::detail::enqueueImpCommandBufferKernel().
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.
command_buffer | The command-buffer to append onto. |
ptr | points to the memory to migrate. |
size | is the number of bytes to migrate. |
flags | is a bitfield used to specify memory migration options. |
num_sync_points_in_wait_list | The number of sync points in the provided wait list. |
sync_point_wait_list | A list of sync points that this command must wait on. |
sync_point | The sync_point associated with this memory operation. |
Definition at line 1137 of file pi_unified_runtime.cpp.
References pi2ur::piextCommandBufferPrefetchUSM().
Referenced by sycl::_V1::detail::MemoryManager::ext_oneapi_prefetch_usm_cmd_buffer().
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.
command_buffer | The command_buffer to release. |
Definition at line 1021 of file pi_unified_runtime.cpp.
References pi2ur::piextCommandBufferRelease().
Referenced by sycl::_V1::ext::oneapi::experimental::detail::exec_graph_impl::~exec_graph_impl().
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.
command | The command to release. |
Definition at line 1176 of file pi_unified_runtime.cpp.
References pi2ur::piextCommandBufferReleaseCommand().
Referenced by sycl::_V1::ext::oneapi::experimental::detail::exec_graph_impl::~exec_graph_impl().
pi_result piextCommandBufferRetain | ( | pi_ext_command_buffer | command_buffer | ) |
API to increment the reference count of the command-buffer.
command_buffer | The command_buffer to retain. |
Definition at line 1017 of file pi_unified_runtime.cpp.
References pi2ur::piextCommandBufferRetain().
pi_result piextCommandBufferRetainCommand | ( | pi_ext_command_buffer_command | command | ) |
API to increment the reference count of a command-buffer command.
command | The command to release. |
Definition at line 1171 of file pi_unified_runtime.cpp.
References pi2ur::piextCommandBufferRetainCommand().
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.
command | The command to be updated. |
desc | Descriptor which describes the updated parameters of the kernel launch. |
Definition at line 1164 of file pi_unified_runtime.cpp.
References pi2ur::piextCommandBufferUpdateKernelLaunch().
Referenced by sycl::_V1::ext::oneapi::experimental::detail::exec_graph_impl::updateImpl().
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.
nativeHandle | is the native handle to create PI context from. |
numDevices | is 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. |
devices | is the list of devices in the context. Parameter is ignored if devices can be queried from the context native handle for a backend. |
pluginOwnsNativeHandle | Indicates whether the created PI object should take ownership of the native handle. |
context | is the PI context created from the native handle. |
Definition at line 732 of file pi_unified_runtime.cpp.
References pi2ur::piextContextCreateWithNativeHandle().
Referenced by sycl::_V1::ext::oneapi::level_zero::make_context(), sycl::_V1::detail::make_context(), and piPluginInit().
pi_result piextContextGetNativeHandle | ( | pi_context | context, |
pi_native_handle * | nativeHandle | ||
) |
Gets the native handle of a PI context object.
context | is the PI context to get the native handle of. |
nativeHandle | is the native handle of context. |
Definition at line 726 of file pi_unified_runtime.cpp.
References pi2ur::piextContextGetNativeHandle().
Referenced by sycl::_V1::detail::context_impl::getNative(), and piPluginInit().
pi_result piextContextSetExtendedDeleter | ( | pi_context | Context, |
pi_context_extended_deleter | Function, | ||
void * | UserData | ||
) |
Definition at line 721 of file pi_unified_runtime.cpp.
References pi2ur::piextContextSetExtendedDeleter().
Referenced by sycl::_V1::detail::pi::contextSetExtendedDeleter(), and piPluginInit().
pi_result piextDestroyExternalSemaphore | ( | pi_context | context, |
pi_device | device, | ||
pi_interop_semaphore_handle | sem_handle | ||
) |
API to destroy the external semaphore handle.
context | is the pi_context |
device | is the pi_device |
sem_handle | is the interop semaphore handle to the external semaphore to be destroyed |
Definition at line 1331 of file pi_unified_runtime.cpp.
References pi2ur::piextDestroyExternalSemaphore().
Referenced by sycl::_V1::ext::oneapi::experimental::destroy_external_semaphore().
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.
nativeHandle | is the native handle to create PI device from. |
platform | is the platform of the device (optional). |
device | is the PI device created from the native handle. |
Definition at line 713 of file pi_unified_runtime.cpp.
References pi2ur::piextDeviceCreateWithNativeHandle().
Referenced by sycl::_V1::ext::oneapi::level_zero::make_device(), sycl::_V1::detail::make_device(), and piPluginInit().
pi_result piextDeviceGetNativeHandle | ( | pi_device | device, |
pi_native_handle * | nativeHandle | ||
) |
Gets the native handle of a PI device object.
device | is the PI device to get the native handle of. |
nativeHandle | is the native handle of device. |
Definition at line 708 of file pi_unified_runtime.cpp.
References pi2ur::piextDeviceGetNativeHandle().
Referenced by sycl::_V1::detail::device_impl::getNative(), and piPluginInit().
pi_result piextDeviceSelectBinary | ( | pi_device | Device, |
pi_device_binary * | Binaries, | ||
pi_uint32 | NumBinaries, | ||
pi_uint32 * | SelectedBinaryInd | ||
) |
Selects the most appropriate device binary based on runtime information and the IR characteristics.
Definition at line 91 of file pi_unified_runtime.cpp.
References pi2ur::piextDeviceSelectBinary().
Referenced by sycl::_V1::detail::compatibleWithDevice(), sycl::_V1::detail::getBinImageFromMultiMap(), sycl::_V1::detail::ProgramManager::getDeviceImage(), and piPluginInit().
Definition at line 1199 of file pi_unified_runtime.cpp.
References pi2ur::piextDisablePeerAccess().
Referenced by sycl::_V1::device::ext_oneapi_disable_peer_access(), and piPluginInit().
Definition at line 1193 of file pi_unified_runtime.cpp.
References pi2ur::piextEnablePeerAccess().
Referenced by sycl::_V1::device::ext_oneapi_enable_peer_access(), and piPluginInit().
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.
command_buffer | The command-buffer to be submitted. |
queue | The PI queue to submit on. |
num_events_in_wait_list | The number of events that this execution depends on. |
event_wait_list | List of pi_events to wait on. |
event | The pi_event associated with this enqueue. |
Definition at line 1155 of file pi_unified_runtime.cpp.
References pi2ur::piextEnqueueCommandBuffer().
Referenced by sycl::_V1::ext::oneapi::experimental::detail::exec_graph_impl::enqueue().
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.
Queue | is the queue |
Program | is the program containing the device global variable |
Name | is the unique identifier for the device global variable |
BlockingRead | is true if the read should block |
Count | is the number of bytes to copy |
Offset | is the byte offset into the device global variable to start copying |
Dst | is a pointer to where the data must be copied to |
NumEventsInWaitList | is a number of events in the wait list |
EventWaitList | is the wait list |
Event | is the resulting event |
Definition at line 991 of file pi_unified_runtime.cpp.
References pi2ur::piextEnqueueDeviceGlobalVariableRead().
Referenced by sycl::_V1::detail::memcpyFromDeviceGlobalDirect(), and piPluginInit().
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 | ||
) |
API for writing data from host to a device global variable.
Device global variable.
Queue | is the queue |
Program | is the program containing the device global variable |
Name | is the unique identifier for the device global variable |
BlockingWrite | is true if the write should block |
Count | is the number of bytes to copy |
Offset | is the byte offset into the device global variable to start copying |
Src | is a pointer to where the data must be copied from |
NumEventsInWaitList | is a number of events in the wait list |
EventWaitList | is the wait list |
Event | is the resulting event |
Definition at line 969 of file pi_unified_runtime.cpp.
References pi2ur::piextEnqueueDeviceGlobalVariableWrite().
Referenced by sycl::_V1::detail::context_impl::initializeDeviceGlobals(), sycl::_V1::detail::memcpyToDeviceGlobalDirect(), and piPluginInit().
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.
nativeHandle | is the native handle to create PI event from. |
context | is the corresponding PI context |
pluginOwnsNativeHandle | Indicates whether the created PI object should take ownership of the native handle. |
event | is the PI event created from the native handle. |
Definition at line 678 of file pi_unified_runtime.cpp.
References pi2ur::piextEventCreateWithNativeHandle().
Referenced by sycl::_V1::detail::make_event(), and piPluginInit().
pi_result piextEventGetNativeHandle | ( | pi_event | event, |
pi_native_handle * | nativeHandle | ||
) |
Gets the native handle of a PI event object.
event | is the PI event to get the native handle of. |
nativeHandle | is the native handle of event. |
Definition at line 562 of file pi_unified_runtime.cpp.
References pi2ur::piextEventGetNativeHandle().
Referenced by sycl::_V1::detail::event_impl::getNative(), and piPluginInit().
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 758 of file pi_unified_runtime.cpp.
References pi2ur::piextGetDeviceFunctionPointer().
Referenced by sycl::_V1::detail::program_impl::has_kernel(), and piPluginInit().
pi_result piextGetGlobalVariablePointer | ( | pi_device | Device, |
pi_program | Program, | ||
const char * | GlobalVariableName, | ||
size_t * | GlobalVariableSize, | ||
void ** | GlobalVariablePointerRet | ||
) |
Definition at line 766 of file pi_unified_runtime.cpp.
References pi2ur::piextGetGlobalVariablePointer().
Referenced by piPluginInit().
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.
context | is the pi_context |
device | is the pi_device |
file_descriptor | is the file descriptor |
ret_handle | is the returned interop semaphore handle to the external semaphore |
Definition at line 1323 of file pi_unified_runtime.cpp.
References pi2ur::piextImportExternalSemaphoreOpaqueFD().
Referenced by sycl::_V1::ext::oneapi::experimental::import_external_semaphore().
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.
nativeHandle | is the native handle to create PI kernel from. |
context | is the PI context of the kernel. |
program | is the PI program of the kernel. |
pluginOwnsNativeHandle | Indicates whether the created PI object should take ownership of the native handle. |
kernel | is the PI kernel created from the native handle. |
Definition at line 292 of file pi_unified_runtime.cpp.
References pi2ur::piextKernelCreateWithNativeHandle().
Referenced by sycl::_V1::detail::make_kernel(), and piPluginInit().
pi_result piextKernelSetArgMemObj | ( | pi_kernel | Kernel, |
pi_uint32 | ArgIndex, | ||
const pi_mem_obj_property * | ArgProperties, | ||
const pi_mem * | ArgValue | ||
) |
Definition at line 175 of file pi_unified_runtime.cpp.
References pi2ur::piextKernelSetArgMemObj().
Referenced by piPluginInit(), and sycl::_V1::detail::SetArgBasedOnType().
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.
kernel | is the kernel to be launched |
arg_index | is the index of the kernel argument |
arg_size | is the size in bytes of the argument (ignored in CL) |
arg_value | is the pointer argument |
Definition at line 407 of file pi_unified_runtime.cpp.
References pi2ur::piextKernelSetArgPointer().
Referenced by piPluginInit(), and sycl::_V1::detail::SetArgBasedOnType().
pi_result piextKernelSetArgSampler | ( | pi_kernel | Kernel, |
pi_uint32 | ArgIndex, | ||
const pi_sampler * | ArgValue | ||
) |
Definition at line 415 of file pi_unified_runtime.cpp.
References pi2ur::piextKernelSetArgSampler().
Referenced by piPluginInit(), and sycl::_V1::detail::SetArgBasedOnType().
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.
nativeHandle | is the native handle to create PI mem from. |
context | The PI context of the memory allocation. |
ownNativeHandle | Indicates if we own the native memory handle or it came from interop that asked to not transfer the ownership to SYCL RT. |
mem | is the PI mem created from the native handle. |
Definition at line 253 of file pi_unified_runtime.cpp.
References pi2ur::piextMemCreateWithNativeHandle().
Referenced by piPluginInit(), and sycl::_V1::detail::SYCLMemObjT::SYCLMemObjT().
pi_result piextMemGetNativeHandle | ( | pi_mem | mem, |
pi_device | dev, | ||
pi_native_handle * | nativeHandle | ||
) |
Gets the native handle of a PI mem object.
mem | is the PI mem to get the native handle of. |
dev | is the PI device that the native allocation will be resident on |
nativeHandle | is the native handle of mem. |
Definition at line 238 of file pi_unified_runtime.cpp.
References pi2ur::piextMemGetNativeHandle().
Referenced by sycl::_V1::detail::buffer_impl::getNativeVector(), sycl::_V1::detail::memBufferCreateHelper(), sycl::_V1::detail::memReleaseHelper(), and piPluginInit().
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.
context | is the pi_context |
device | is the pi_device |
flags | are extra flags to pass (currently unused) |
image_format | format of the image (channel order and data type) |
image_desc | image descriptor |
ret_mem | is the returning memory handle to newly allocated memory |
Definition at line 1218 of file pi_unified_runtime.cpp.
References pi2ur::piextMemImageAllocate().
Referenced by sycl::_V1::ext::oneapi::experimental::alloc_image_mem(), and sycl::_V1::ext::oneapi::experimental::alloc_mipmap_mem().
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.
queue | is the queue to submit to |
dst_ptr | is the location the data will be copied to |
src_ptr | is the data to be copied |
image_format | format of the image (channel order and data type) |
image_desc | image descriptor |
flags | flags describing copy direction (H2D or D2H) |
src_offset | is the offset into the source image/memory |
dst_offset | is the offset into the destination image/memory |
copy_extent | is the extent (region) of the image/memory to copy |
host_extent | is the extent (region) of the memory on the host |
num_events_in_wait_list | is the number of events in the wait list |
event_wait_list | is the list of events to wait on before copying |
event | is the returned event representing this operation |
Definition at line 1271 of file pi_unified_runtime.cpp.
References pi2ur::piextMemImageCopy().
Referenced by sycl::_V1::detail::MemoryManager::copy_image_bindless().
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.
nativeHandle | is the native handle to create PI image from. |
context | The PI context of the memory allocation. |
ownNativeHandle | Indicates if we own the native memory handle or it came from interop that asked to not transfer the ownership to SYCL RT. |
ImageFormat | is the pi_image_format struct that specifies the image channnel order and channel data type that match what the nativeHandle uses |
ImageDesc | is the pi_image_desc struct that specifies the image dimension, pitch, slice and other information about the nativeHandle |
img | is the PI img created from the native handle. |
Definition at line 1001 of file pi_unified_runtime.cpp.
References pi2ur::piextMemImageCreateWithNativeHandle().
Referenced by sycl::_V1::detail::SYCLMemObjT::SYCLMemObjT().
pi_result piextMemImageFree | ( | pi_context | context, |
pi_device | device, | ||
pi_image_mem_handle | memory_handle | ||
) |
API to free memory for bindless images.
context | is the pi_context |
device | is the pi_device |
memory_handle | is the handle to image memory to be freed |
Definition at line 1261 of file pi_unified_runtime.cpp.
References pi2ur::piextMemImageFree().
Referenced by sycl::_V1::ext::oneapi::experimental::free_image_mem().
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.
mem_handle | is the handle to the image memory |
param_name | is the queried info name |
param_value | is the returned query value |
param_value_size_ret | is the returned query value size |
Definition at line 1294 of file pi_unified_runtime.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().
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.
context | is the pi_context |
device | is the pi_device |
size | is the size of the external memory |
file_descriptor | is the file descriptor |
ret_handle | is the returned interop memory handle to the external memory |
Definition at line 1303 of file pi_unified_runtime.cpp.
References pi2ur::piextMemImportOpaqueFD().
Referenced by sycl::_V1::ext::oneapi::experimental::import_external_memory< resource_fd >().
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.
context | is the pi_context |
device | is the pi_device |
image_format | format of the image (channel order and data type) |
image_desc | image descriptor |
mem_handle | is the interop memory handle to the external memory |
ret_mem | is the returned image memory handle to the externally allocated memory |
Definition at line 1309 of file pi_unified_runtime.cpp.
References pi2ur::piextMemMapExternalArray().
Referenced by sycl::_V1::ext::oneapi::experimental::map_external_image_memory().
pi_result piextMemMipmapFree | ( | pi_context | context, |
pi_device | device, | ||
pi_image_mem_handle | memory_handle | ||
) |
API to free mipmap memory for bindless images.
context | is the pi_context |
device | is the pi_device |
memory_handle | is the handle to image memory to be freed |
Definition at line 1266 of file pi_unified_runtime.cpp.
References pi2ur::piextMemMipmapFree().
Referenced by sycl::_V1::ext::oneapi::experimental::free_image_mem(), and sycl::_V1::ext::oneapi::experimental::free_mipmap_mem().
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.
context | is the pi_context |
device | is the pi_device |
mip_mem | is the memory handle to the mipmap |
level | is the requested level of the mipmap |
ret_mem | is the returning memory handle to the individual image |
Definition at line 1253 of file pi_unified_runtime.cpp.
References pi2ur::piextMemMipmapGetLevel().
Referenced by sycl::_V1::ext::oneapi::experimental::get_mip_level_mem_handle().
pi_result piextMemReleaseInterop | ( | pi_context | context, |
pi_device | device, | ||
pi_interop_mem_handle | memory_handle | ||
) |
API to destroy interop memory.
context | is the pi_context |
device | is the pi_device |
memory_handle | is the handle to interop memory to be freed |
Definition at line 1317 of file pi_unified_runtime.cpp.
References pi2ur::piextMemReleaseInterop().
Referenced by sycl::_V1::ext::oneapi::experimental::release_external_memory().
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.
context | is the pi_context |
device | is the pi_device |
img_mem | is the handle to memory from which to create the image |
image_format | format of the image (channel order and data type) |
image_desc | image descriptor |
sampler | is the pi_sampler |
ret_mem | is the returning pi_mem image object |
ret_handle | is the returning memory handle to newly allocated memory |
Definition at line 1235 of file pi_unified_runtime.cpp.
References pi2ur::piextMemSampledImageCreate().
Referenced by sycl::_V1::ext::oneapi::experimental::create_image().
pi_result piextMemSampledImageHandleDestroy | ( | pi_context | context, |
pi_device | device, | ||
pi_image_handle | handle | ||
) |
API to destroy bindless sampled image handles.
context | is the pi_context |
handle | is the image handle |
Definition at line 1289 of file pi_unified_runtime.cpp.
References pi2ur::piextMemSampledImageHandleDestroy().
Referenced by sycl::_V1::ext::oneapi::experimental::destroy_image_handle().
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.
context | is the pi_context |
device | is the pi_device |
img_mem | is the handle to memory from which to create the image |
image_format | format of the image (channel order and data type) |
image_desc | image descriptor |
ret_mem | is the returning pi_mem image object |
ret_handle | is the returning memory handle to newly allocated memory |
Definition at line 1227 of file pi_unified_runtime.cpp.
References pi2ur::piextMemUnsampledImageCreate().
Referenced by sycl::_V1::ext::oneapi::experimental::create_image().
pi_result piextMemUnsampledImageHandleDestroy | ( | pi_context | context, |
pi_device | device, | ||
pi_image_handle | handle | ||
) |
API to destroy bindless unsampled image handles.
context | is the pi_context |
device | is the pi_device |
handle | is the image handle |
Definition at line 1284 of file pi_unified_runtime.cpp.
References pi2ur::piextMemUnsampledImageHandleDestroy().
Referenced by sycl::_V1::ext::oneapi::experimental::destroy_image_handle().
pi_result piextPeerAccessGetInfo | ( | pi_device | command_device, |
pi_device | peer_device, | ||
pi_peer_attr | attr, | ||
size_t | ParamValueSize, | ||
void * | ParamValue, | ||
size_t * | ParamValueSizeRet | ||
) |
Definition at line 1205 of file pi_unified_runtime.cpp.
References pi2ur::piextPeerAccessGetInfo().
Referenced by sycl::_V1::device::ext_oneapi_can_access_peer(), and piPluginInit().
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.
nativeHandle | is the native handle to create PI device from. |
platform | is the PI platform created from the native handle. |
Definition at line 701 of file pi_unified_runtime.cpp.
References pi2ur::piextPlatformCreateWithNativeHandle().
Referenced by sycl::_V1::detail::make_platform(), and piPluginInit().
pi_result piextPlatformGetNativeHandle | ( | pi_platform | platform, |
pi_native_handle * | nativeHandle | ||
) |
Gets the native handle of a PI platform object.
platform | is the PI platform to get the native handle of. |
nativeHandle | is the native handle of platform. |
Definition at line 695 of file pi_unified_runtime.cpp.
References pi2ur::piextPlatformGetNativeHandle().
Referenced by sycl::_V1::detail::platform_impl::getNative(), and piPluginInit().
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.
opaque_data_param | - unspecified argument, interpretation is specific to a plugin |
opaque_data_return | - placeholder for the returned opaque data. |
Definition at line 882 of file pi_unified_runtime.cpp.
References pi2ur::piextPluginGetOpaqueData().
Referenced by sycl::_V1::detail::getPluginOpaqueData(), and piPluginInit().
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.
nativeHandle | is the native handle to create PI program from. |
context | is the PI context of the program. |
pluginOwnsNativeHandle | Indicates whether the created PI object should take ownership of the native handle. |
program | is the PI program created from the native handle. |
Definition at line 893 of file pi_unified_runtime.cpp.
References pi2ur::piextProgramCreateWithNativeHandle().
Referenced by sycl::_V1::detail::make_kernel_bundle(), and piPluginInit().
pi_result piextProgramGetNativeHandle | ( | pi_program | program, |
pi_native_handle * | nativeHandle | ||
) |
Gets the native handle of a PI program object.
program | is the PI program to get the native handle of. |
nativeHandle | is the native handle of program. |
Definition at line 887 of file pi_unified_runtime.cpp.
References pi2ur::piextProgramGetNativeHandle().
Referenced by sycl::_V1::detail::device_image_impl::getNative(), sycl::_V1::detail::program_impl::getNative(), and piPluginInit().
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).
prog | the program object which will use the value |
spec_id | integer ID of the constant |
spec_size | size of the value |
spec_value | bytes of the value |
Definition at line 151 of file pi_unified_runtime.cpp.
References pi2ur::piextProgramSetSpecializationConstant().
Referenced by sycl::_V1::detail::enableITTAnnotationsIfNeeded(), sycl::_V1::detail::program_impl::flush_spec_constants(), piPluginInit(), and sycl::_V1::detail::setSpecializationConstants().
pi_result piextQueueCreate | ( | pi_context | context, |
pi_device | device, | ||
pi_queue_properties * | properties, | ||
pi_queue * | queue | ||
) |
properties | points to a zero-terminated array of extra data describing desired queue properties. Format is {[PROPERTY[, property-specific elements of data]*,]* 0} |
Definition at line 128 of file pi_unified_runtime.cpp.
References pi2ur::piextQueueCreate().
Referenced by sycl::_V1::detail::queue_impl::createQueue(), and piPluginInit().
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.
nativeHandle | is the native handle to create PI queue from. |
nativeHandleDesc | provides additional properties of the native handle. |
context | is the PI context of the queue. |
device | is 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. |
pluginOwnsNativeHandle | Indicates whether the created PI object should take ownership of the native handle. |
Properties | holds queue properties. |
queue | is the PI queue created from the native handle. |
Definition at line 745 of file pi_unified_runtime.cpp.
References pi2ur::piextQueueCreateWithNativeHandle().
Referenced by sycl::_V1::detail::make_queue(), and piPluginInit().
pi_result piextQueueGetNativeHandle | ( | pi_queue | queue, |
pi_native_handle * | nativeHandle, | ||
int32_t * | nativeHandleDesc | ||
) |
Gets the native handle of a PI queue object.
queue | is the PI queue to get the native handle of. |
nativeHandle | is the native handle of queue or commandlist. |
nativeHandleDesc | provides additional properties of the native handle. |
Definition at line 739 of file pi_unified_runtime.cpp.
References pi2ur::piextQueueGetNativeHandle().
Referenced by sycl::_V1::detail::queue_impl::getNative(), and piPluginInit().
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.
command_queue | is the queue instructed to signal |
sem_handle | is the interop semaphore handle to signal |
num_events_in_wait_list | is the number of events in the wait list |
event_wait_list | is the list of events to wait on before this operation |
event | is the returned event representing this operation |
Definition at line 1344 of file pi_unified_runtime.cpp.
References pi2ur::piextSignalExternalSemaphore().
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.
result_ptr | contains the allocated memory |
context | is the pi_context |
device | is the device the memory will be allocated on |
properties | are optional allocation properties |
size | is the size of the allocation |
alignment | is the desired alignment of the allocation |
Definition at line 346 of file pi_unified_runtime.cpp.
References sycl::_V1::ext::oneapi::experimental::detail::Alignment, and pi2ur::piextUSMDeviceAlloc().
Referenced by sycl::_V1::detail::usm::alignedAllocInternal(), and piPluginInit().
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.
USM 2D fill API.
queue | is the queue to submit to |
ptr | is the ptr to fill |
pitch | is the total width of the destination memory including padding |
pattern | is a pointer with the bytes of the pattern to set |
pattern_size | is the size in bytes of the pattern |
width | is width in bytes of each row to fill |
height | is height the columns to fill |
num_events_in_waitlist | is the number of events to wait on |
events_waitlist | is an array of events to wait on |
event | is the event that represents this operation |
Definition at line 823 of file pi_unified_runtime.cpp.
References pi2ur::piextUSMEnqueueFill2D().
Referenced by sycl::_V1::detail::MemoryManager::fill_2d_usm(), and piPluginInit().
pi_result piextUSMEnqueueMemAdvise | ( | pi_queue | Queue, |
const void * | Ptr, | ||
size_t | Length, | ||
pi_mem_advice | Advice, | ||
pi_event * | OutEvent | ||
) |
USM memadvise API to govern behavior of automatic migration mechanisms.
USM Memadvise API.
Queue | is the queue to submit to |
Ptr | is the data to be advised |
Length | is the size in bytes of the meory to advise |
Advice | is device specific advice |
Event | is the event that represents this operation |
Definition at line 803 of file pi_unified_runtime.cpp.
References pi2ur::piextUSMEnqueueMemAdvise().
Referenced by sycl::_V1::detail::MemoryManager::advise_usm(), and piPluginInit().
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.
queue | is the queue to submit to |
blocking | is whether this operation should block the host |
src_ptr | is the data to be copied |
dst_ptr | is the location the data will be copied |
size | is number of bytes to copy |
num_events_in_waitlist | is the number of events to wait on |
events_waitlist | is an array of events to wait on |
event | is the event that represents this operation |
Definition at line 484 of file pi_unified_runtime.cpp.
References pi2ur::piextUSMEnqueueMemcpy().
Referenced by sycl::_V1::detail::MemoryManager::copy_2d_usm(), sycl::_V1::detail::MemoryManager::copy_usm(), and piPluginInit().
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.
queue | is the queue to submit to |
blocking | is whether this operation should block the host |
dst_ptr | is the location the data will be copied |
dst_pitch | is the total width of the destination memory including padding |
src_ptr | is the data to be copied |
dst_pitch | is the total width of the source memory including padding |
width | is width in bytes of each row to be copied |
height | is height the columns to be copied |
num_events_in_waitlist | is the number of events to wait on |
events_waitlist | is an array of events to wait on |
event | is the event that represents this operation |
Definition at line 945 of file pi_unified_runtime.cpp.
References pi2ur::piextUSMEnqueueMemcpy2D().
Referenced by sycl::_V1::detail::MemoryManager::copy_2d_usm(), and piPluginInit().
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.
Queue | is the queue to submit to |
Ptr | is the ptr to memset |
Value | is value to set. It is interpreted as an 8-bit value and the upper 24 bits are ignored |
Count | is the size in bytes to memset |
NumEventsInWaitlist | is the number of events to wait on |
EventsWaitlist | is an array of events to wait on |
Event | is the event that represents this operation |
Definition at line 451 of file pi_unified_runtime.cpp.
References pi2ur::piextUSMEnqueueMemset().
Referenced by sycl::_V1::detail::MemoryManager::fill_usm(), and piPluginInit().
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.
queue | is the queue to submit to |
ptr | is the ptr to fill |
pitch | is the total width of the destination memory including padding |
pattern | is a pointer with the bytes of the pattern to set |
pattern_size | is the size in bytes of the pattern |
width | is width in bytes of each row to fill |
height | is height the columns to fill |
num_events_in_waitlist | is the number of events to wait on |
events_waitlist | is an array of events to wait on |
event | is the event that represents this operation |
Definition at line 848 of file pi_unified_runtime.cpp.
References pi2ur::piextUSMEnqueueMemset2D().
Referenced by sycl::_V1::detail::MemoryManager::memset_2d_usm(), and piPluginInit().
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.
Queue | is the queue to submit to |
Ptr | points to the memory to migrate |
Size | is the number of bytes to migrate |
Flags | is a bitfield used to specify memory migration options |
NumEventsInWaitlist | is the number of events to wait on |
EventsWaitlist | is an array of events to wait on |
Event | is the event that represents this operation |
Definition at line 784 of file pi_unified_runtime.cpp.
References pi2ur::piextUSMEnqueuePrefetch().
Referenced by piPluginInit(), and sycl::_V1::detail::MemoryManager::prefetch_usm().
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.
context | is the pi_context of the allocation |
ptr | is the memory to be freed |
Definition at line 389 of file pi_unified_runtime.cpp.
References pi2ur::piextUSMFree().
Referenced by sycl::_V1::detail::usm::freeInternal(), and piPluginInit().
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.
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
Context | is the pi_context |
Ptr | is the pointer to query |
ParamName | is the type of query to perform |
ParamValueSize | is the size of the result in bytes |
ParamValue | is the result |
ParamValueRet | is how many bytes were written |
Definition at line 875 of file pi_unified_runtime.cpp.
References pi2ur::piextUSMGetMemAllocInfo().
Referenced by piPluginInit().
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.
result_ptr | contains the allocated memory |
context | is the pi_context |
properties | are optional allocation properties |
size | is the size of the allocation |
alignment | is the desired alignment of the allocation |
Definition at line 207 of file pi_unified_runtime.cpp.
References sycl::_V1::ext::oneapi::experimental::detail::Alignment, and pi2ur::piextUSMHostAlloc().
Referenced by sycl::_V1::detail::usm::alignedAllocHost(), and piPluginInit().
pi_result piextUSMImport | ( | const void * | ptr, |
size_t | size, | ||
pi_context | context | ||
) |
Import host system memory into USM.
ptr | start address of memory range to import |
size | is the number of bytes to import |
context | is the pi_context |
Definition at line 393 of file pi_unified_runtime.cpp.
References pi2ur::piextUSMImport().
Referenced by piPluginInit().
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.
result_ptr | contains the allocated memory |
result_pitch | contains the returned memory pitch |
context | is the pi_context |
device | is the device the memory will be allocated on |
properties | are optional allocation properties |
width_in_bytes | is the width of the allocation in bytes |
height | is the height of the allocation in rows |
element_size_bytes | is the size in bytes of an element in the allocation |
Definition at line 379 of file pi_unified_runtime.cpp.
References pi2ur::piextUSMPitchedAlloc().
Referenced by sycl::_V1::ext::oneapi::experimental::pitched_alloc_device().
pi_result piextUSMRelease | ( | const void * | ptr, |
pi_context | context | ||
) |
Release host system memory from USM.
ptr | start address of imported memory range |
context | is the pi_context |
Definition at line 398 of file pi_unified_runtime.cpp.
References pi2ur::piextUSMRelease().
Referenced by piPluginInit().
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.
result_ptr | contains the allocated memory |
context | is the pi_context |
device | is the device the memory will be allocated on |
properties | are optional allocation properties |
size | is the size of the allocation |
alignment | is the desired alignment of the allocation |
Definition at line 369 of file pi_unified_runtime.cpp.
References sycl::_V1::ext::oneapi::experimental::detail::Alignment, and pi2ur::piextUSMSharedAlloc().
Referenced by sycl::_V1::detail::usm::alignedAllocInternal(), and piPluginInit().
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.
command_queue | is the queue instructed to wait |
sem_handle | is the interop semaphore handle |
num_events_in_wait_list | is the number of events in the wait list |
event_wait_list | is the list of events to wait on before this operation |
event | is the returned event representing this operation |
Definition at line 1336 of file pi_unified_runtime.cpp.
References pi2ur::piextWaitExternalSemaphore().
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.
Device | device to query for timestamp |
DeviceTime | pointer to store device timestamp in nanoseconds. Optional argument, can be nullptr |
HostTime | pointer to store host timestamp in nanoseconds. Optional argurment, can be nullptr in which case timestamp will not be written |
Definition at line 1180 of file pi_unified_runtime.cpp.
References pi2ur::piGetDeviceAndHostTimer().
Referenced by sycl::_V1::detail::device_impl::getCurrentDeviceTime(), sycl::_V1::detail::device_impl::isGetDeviceAndHostTimerSupported(), and piPluginInit().
pi_result piKernelCreate | ( | pi_program | Program, |
const char * | KernelName, | ||
pi_kernel * | RetKernel | ||
) |
Definition at line 168 of file pi_unified_runtime.cpp.
References pi2ur::piKernelCreate().
Referenced by sycl::_V1::detail::kernel_bundle_impl::ext_oneapi_get_kernel(), sycl::_V1::detail::ProgramManager::getOrCreateKernel(), and piPluginInit().
pi_result piKernelGetGroupInfo | ( | pi_kernel | Kernel, |
pi_device | Device, | ||
pi_kernel_group_info | ParamName, | ||
size_t | ParamValueSize, | ||
void * | ParamValue, | ||
size_t * | ParamValueSizeRet | ||
) |
Definition at line 189 of file pi_unified_runtime.cpp.
References pi2ur::piKernelGetGroupInfo().
Referenced by sycl::_V1::detail::enqueueImpCommandBufferKernel(), sycl::_V1::detail::get_kernel_device_specific_info_helper(), sycl::_V1::detail::enqueue_kernel_launch::handleInvalidWorkGroupSize(), piPluginInit(), sycl::_V1::detail::SetKernelParamsAndLaunch(), and sycl::_V1::ext::oneapi::experimental::detail::exec_graph_impl::updateImpl().
pi_result piKernelGetInfo | ( | pi_kernel | Kernel, |
pi_kernel_info | ParamName, | ||
size_t | ParamValueSize, | ||
void * | ParamValue, | ||
size_t * | ParamValueSizeRet | ||
) |
Definition at line 590 of file pi_unified_runtime.cpp.
References pi2ur::piKernelGetInfo().
Referenced by sycl::_V1::detail::get_kernel_info(), sycl::_V1::detail::ProgramManager::getPiProgramFromPiKernel(), sycl::_V1::detail::enqueue_kernel_launch::handleInvalidWorkGroupSize(), sycl::_V1::detail::kernel_impl::kernel_impl(), and piPluginInit().
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.
kernel | is the pi_kernel to query |
device | is the device the kernel is executed on |
param_name | is a pi_kernel_sub_group_info enum value that specifies the informtation queried for. |
input_value_size | is the size of input value passed in ptr input_value param |
input_value | is the ptr to the input value passed. |
param_value_size | is the size of the value in bytes. |
param_value | is a pointer to the value to set. |
param_value_size_ret | is 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 422 of file pi_unified_runtime.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().
Definition at line 360 of file pi_unified_runtime.cpp.
References pi2ur::piKernelRelease().
Referenced by sycl::_V1::detail::enqueueImpCommandBufferKernel(), sycl::_V1::detail::enqueueImpKernel(), piPluginInit(), sycl::_V1::detail::kernel_impl::~kernel_impl(), and sycl::_V1::detail::KernelProgramCache::KernelBuildResult::~KernelBuildResult().
Definition at line 356 of file pi_unified_runtime.cpp.
References pi2ur::piKernelRetain().
Referenced by sycl::_V1::detail::kernel_impl::get(), sycl::_V1::detail::kernel_impl::getNative(), sycl::_V1::detail::ProgramManager::getOrCreateKernel(), sycl::_V1::detail::make_kernel(), and piPluginInit().
pi_result piKernelSetArg | ( | pi_kernel | Kernel, |
pi_uint32 | ArgIndex, | ||
size_t | ArgSize, | ||
const void * | ArgValue | ||
) |
Definition at line 183 of file pi_unified_runtime.cpp.
References pi2ur::piKernelSetArg().
Referenced by piPluginInit(), and sycl::_V1::detail::SetArgBasedOnType().
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.
kernel | is the pi kernel to execute |
param_name | is a pi_kernel_exec_info value that specifies the info passed to the kernel |
param_value_size | is the size of the value in bytes |
param_value | is 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 581 of file pi_unified_runtime.cpp.
References pi2ur::piKernelSetExecInfo().
Referenced by sycl::_V1::detail::enqueueImpKernel(), sycl::_V1::detail::ProgramManager::getOrCreateKernel(), sycl::_V1::detail::kernel_impl::kernel_impl(), and piPluginInit().
pi_result piMemBufferCreate | ( | pi_context | Context, |
pi_mem_flags | Flags, | ||
size_t | Size, | ||
void * | HostPtr, | ||
pi_mem * | RetMem, | ||
const pi_mem_properties * | properties | ||
) |
Definition at line 198 of file pi_unified_runtime.cpp.
References pi2ur::piMemBufferCreate().
Referenced by sycl::_V1::detail::memBufferCreateHelper(), and piPluginInit().
pi_result piMemBufferPartition | ( | pi_mem | Buffer, |
pi_mem_flags | Flags, | ||
pi_buffer_create_type | BufferCreateType, | ||
void * | BufferCreateInfo, | ||
pi_mem * | RetMem | ||
) |
Definition at line 231 of file pi_unified_runtime.cpp.
References pi2ur::piMemBufferPartition().
Referenced by sycl::_V1::detail::MemoryManager::allocateMemSubBuffer(), and piPluginInit().
pi_result piMemGetInfo | ( | pi_mem | Mem, |
pi_mem_info | ParamName, | ||
size_t | ParamValueSize, | ||
void * | ParamValue, | ||
size_t * | ParamValueSizeRet | ||
) |
Definition at line 215 of file pi_unified_runtime.cpp.
References pi2ur::piMemGetInfo().
Referenced by sycl::_V1::detail::SYCLMemObjT::getBufSizeForContext(), piPluginInit(), and sycl::_V1::detail::SYCLMemObjT::SYCLMemObjT().
pi_result piMemImageCreate | ( | pi_context | Context, |
pi_mem_flags | Flags, | ||
const pi_image_format * | ImageFormat, | ||
const pi_image_desc * | ImageDesc, | ||
void * | HostPtr, | ||
pi_mem * | RetImage | ||
) |
Definition at line 222 of file pi_unified_runtime.cpp.
References pi2ur::piMemImageCreate().
Referenced by sycl::_V1::detail::MemoryManager::allocateImageObject(), and piPluginInit().
pi_result piMemImageGetInfo | ( | pi_mem | Image, |
pi_image_info | ParamName, | ||
size_t | ParamValueSize, | ||
void * | ParamValue, | ||
size_t * | ParamValueSizeRet | ||
) |
Definition at line 923 of file pi_unified_runtime.cpp.
References pi2ur::piMemImageGetInfo().
Referenced by sycl::_V1::detail::getImageInfo(), and piPluginInit().
Definition at line 754 of file pi_unified_runtime.cpp.
References pi2ur::piMemRelease().
Referenced by sycl::_V1::detail::memReleaseHelper(), piPluginInit(), and sycl::_V1::detail::SYCLMemObjT::updateHostMemory().
Definition at line 606 of file pi_unified_runtime.cpp.
References pi2ur::piMemRetain().
Referenced by sycl::_V1::detail::buffer_impl::addInteropObject(), sycl::_V1::detail::buffer_impl::getNativeVector(), piPluginInit(), and sycl::_V1::detail::SYCLMemObjT::SYCLMemObjT().
pi_result piPlatformGetInfo | ( | pi_platform | Platform, |
pi_platform_info | ParamName, | ||
size_t | ParamValueSize, | ||
void * | ParamValue, | ||
size_t * | ParamValueSizeRet | ||
) |
Definition at line 50 of file pi_unified_runtime.cpp.
References pi2ur::piPlatformGetInfo().
Referenced by sycl::_V1::detail::get_platform_info_string_impl(), sycl::_V1::opencl::has_extension(), piPluginInit(), and sycl::_V1::detail::platform_impl::platform_impl().
pi_result piPlatformsGet | ( | pi_uint32 | NumEntries, |
pi_platform * | Platforms, | ||
pi_uint32 * | NumPlatforms | ||
) |
Definition at line 39 of file pi_unified_runtime.cpp.
References Adapters, pi2ur::piPlatformsGet(), and AdapterHolder::Vec.
Referenced by sycl::_V1::detail::platform_impl::get_platforms(), and piPluginInit().
pi_result piPluginGetBackendOption | ( | pi_platform | platform, |
const char * | frontend_option, | ||
const char ** | backend_option | ||
) |
API to get backend specific option.
frontend_option | is a string that contains frontend option. |
backend_option | is used to return the backend option corresponding to frontend option. |
Definition at line 1186 of file pi_unified_runtime.cpp.
References pi2ur::piPluginGetBackendOption().
Referenced by sycl::_V1::detail::platform_impl::getBackendOption(), and piPluginInit().
Definition at line 1353 of file pi_unified_runtime.cpp.
References _PI_API, _PI_PLUGIN_VERSION_CHECK, _PI_SANITIZE_TYPE_ADDRESS, _PI_UNIFIED_RUNTIME_PLUGIN_VERSION_STRING, Adapters, createCUDATracingContext(), enableCUDATracing(), 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(), 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().
pi_result piProgramBuild | ( | pi_program | Program, |
pi_uint32 | NumDevices, | ||
const pi_device * | DeviceList, | ||
const char * | Options, | ||
void(*)(pi_program Program, void *UserData) | PFnNotify, | ||
void * | UserData | ||
) |
Definition at line 143 of file pi_unified_runtime.cpp.
References pi2ur::piProgramBuild().
Referenced by piPluginInit().
pi_result piProgramCompile | ( | pi_program | Program, |
pi_uint32 | NumDevices, | ||
const pi_device * | DeviceList, | ||
const char * | Options, | ||
pi_uint32 | NumInputHeaders, | ||
const pi_program * | InputHeaders, | ||
const char ** | HeaderIncludeNames, | ||
void(*)(pi_program Program, void *UserData) | PFnNotify, | ||
void * | UserData | ||
) |
Definition at line 631 of file pi_unified_runtime.cpp.
References pi2ur::piProgramCompile().
Referenced by piPluginInit().
pi_result piProgramCreate | ( | pi_context | Context, |
const void * | ILBytes, | ||
size_t | Length, | ||
pi_program * | Program | ||
) |
Definition at line 138 of file pi_unified_runtime.cpp.
References pi2ur::piProgramCreate().
Referenced by sycl::_V1::detail::kernel_bundle_impl::build_from_source(), sycl::_V1::detail::createSpirvProgram(), and piPluginInit().
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.
context | is the PI context to associate the program with. |
num_devices | is the number of devices in device_list. |
device_list | is a pointer to a list of devices. These devices must all be in context. |
lengths | is an array of sizes in bytes of the binary in binaries. |
binaries | is a pointer to a list of program binaries. |
num_metadata_entries | is the number of metadata entries in metadata. |
metadata | is a pointer to a list of program metadata entries. The use of metadata entries is backend-defined. |
binary_status | returns 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_program | is the PI program created from the program binaries. |
Definition at line 610 of file pi_unified_runtime.cpp.
References pi2ur::piProgramCreateWithBinary().
Referenced by sycl::_V1::detail::createBinaryProgram(), and piPluginInit().
pi_result piProgramGetBuildInfo | ( | pi_program | Program, |
pi_device | Device, | ||
pi_program_build_info | ParamName, | ||
size_t | ParamValueSize, | ||
void * | ParamValue, | ||
size_t * | ParamValueSizeRet | ||
) |
Definition at line 642 of file pi_unified_runtime.cpp.
References pi2ur::piProgramGetBuildInfo().
Referenced by sycl::_V1::detail::ProgramManager::getProgramBuildLog(), sycl::_V1::detail::enqueue_kernel_launch::handleInvalidWorkGroupSize(), sycl::_V1::detail::make_kernel_bundle(), and piPluginInit().
pi_result piProgramGetInfo | ( | pi_program | Program, |
pi_program_info | ParamName, | ||
size_t | ParamValueSize, | ||
void * | ParamValue, | ||
size_t * | ParamValueSizeRet | ||
) |
Definition at line 621 of file pi_unified_runtime.cpp.
References pi2ur::piProgramGetInfo().
Referenced by sycl::_V1::detail::kernel_bundle_impl::build_from_source(), sycl::_V1::detail::program_impl::get_binaries(), sycl::_V1::detail::ProgramManager::getProgramBuildLog(), sycl::_V1::detail::make_kernel_bundle(), piPluginInit(), and sycl::_V1::detail::PersistentDeviceCodeCache::putItemToDisc().
pi_result piProgramLink | ( | pi_context | Context, |
pi_uint32 | NumDevices, | ||
const pi_device * | DeviceList, | ||
const char * | Options, | ||
pi_uint32 | NumInputPrograms, | ||
const pi_program * | InputPrograms, | ||
void(*)(pi_program Program, void *UserData) | PFnNotify, | ||
void * | UserData, | ||
pi_program * | RetProgram | ||
) |
Definition at line 158 of file pi_unified_runtime.cpp.
References pi2ur::piProgramLink().
Referenced by piPluginInit().
pi_result piProgramRelease | ( | pi_program | Program | ) |
Definition at line 365 of file pi_unified_runtime.cpp.
References pi2ur::piProgramRelease().
Referenced by sycl::_V1::detail::enqueueImpCommandBufferKernel(), sycl::_V1::detail::enqueueImpKernel(), sycl::_V1::detail::program_impl::link(), piPluginInit(), sycl::_V1::detail::context_impl::~context_impl(), sycl::_V1::detail::device_image_impl::~device_image_impl(), sycl::_V1::detail::program_impl::~program_impl(), and sycl::_V1::detail::KernelProgramCache::ProgramBuildResult::~ProgramBuildResult().
pi_result piProgramRetain | ( | pi_program | Program | ) |
Definition at line 577 of file pi_unified_runtime.cpp.
References pi2ur::piProgramRetain().
Referenced by sycl::_V1::detail::ProgramManager::build(), sycl::_V1::detail::program_impl::get(), sycl::_V1::detail::ProgramManager::getBuiltPIProgram(), sycl::_V1::detail::device_image_impl::getNative(), sycl::_V1::detail::program_impl::getNative(), sycl::_V1::detail::ProgramManager::getOrCreateKernel(), sycl::_V1::detail::make_kernel_bundle(), and piPluginInit().
pi_result piQueueCreate | ( | pi_context | Context, |
pi_device | Device, | ||
pi_queue_properties | Flags, | ||
pi_queue * | Queue | ||
) |
Definition at line 122 of file pi_unified_runtime.cpp.
References PI_QUEUE_FLAGS, piextQueueCreate(), and pi2ur::piQueueCreate().
Referenced by piPluginInit().
Definition at line 316 of file pi_unified_runtime.cpp.
References pi2ur::piQueueFinish().
Referenced by sycl::_V1::detail::queue_impl::getExclusiveQueueHandleRef(), piPluginInit(), and sycl::_V1::detail::queue_impl::wait().
Definition at line 602 of file pi_unified_runtime.cpp.
References pi2ur::piQueueFlush().
Referenced by sycl::_V1::detail::event_impl::flushIfNeeded(), and piPluginInit().
pi_result piQueueGetInfo | ( | pi_queue | Queue, |
pi_queue_info | ParamName, | ||
size_t | ParamValueSize, | ||
void * | ParamValue, | ||
size_t * | ParamValueSizeRet | ||
) |
Definition at line 432 of file pi_unified_runtime.cpp.
References pi2ur::piQueueGetInfo().
Referenced by sycl::_V1::detail::queue_impl::ext_oneapi_empty(), piPluginInit(), and sycl::_V1::detail::queue_impl::get_info< info::queue::reference_count >().
Definition at line 134 of file pi_unified_runtime.cpp.
References pi2ur::piQueueRelease().
Referenced by piPluginInit(), and sycl::_V1::detail::queue_impl::~queue_impl().
Definition at line 598 of file pi_unified_runtime.cpp.
References pi2ur::piQueueRetain().
Referenced by sycl::_V1::detail::queue_impl::get(), sycl::_V1::detail::queue_impl::getNative(), and piPluginInit().
pi_result piSamplerCreate | ( | pi_context | Context, |
const pi_sampler_properties * | SamplerProperties, | ||
pi_sampler * | RetSampler | ||
) |
Definition at line 900 of file pi_unified_runtime.cpp.
References pi2ur::piSamplerCreate().
Referenced by sycl::_V1::detail::sampler_impl::getOrCreateSampler(), and piPluginInit().
pi_result piSamplerGetInfo | ( | pi_sampler | Sampler, |
pi_sampler_info | ParamName, | ||
size_t | ParamValueSize, | ||
void * | ParamValue, | ||
size_t * | ParamValueSizeRet | ||
) |
Definition at line 906 of file pi_unified_runtime.cpp.
References pi2ur::piSamplerGetInfo().
Referenced by piPluginInit(), and sycl::_V1::detail::sampler_impl::sampler_impl().
pi_result piSamplerRelease | ( | pi_sampler | Sampler | ) |
Definition at line 919 of file pi_unified_runtime.cpp.
References pi2ur::piSamplerRelease().
Referenced by piPluginInit(), and sycl::_V1::detail::sampler_impl::~sampler_impl().
pi_result piSamplerRetain | ( | pi_sampler | Sampler | ) |
Definition at line 915 of file pi_unified_runtime.cpp.
References pi2ur::piSamplerRetain().
Referenced by piPluginInit(), and sycl::_V1::detail::sampler_impl::sampler_impl().
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.
PluginParameter | placeholder for future use, currenly not used. |
Definition at line 1213 of file pi_unified_runtime.cpp.
References Adapters, pi2ur::piTearDown(), releaseAdapters(), and AdapterHolder::Vec.
Referenced by piPluginInit(), and sycl::_V1::detail::GlobalHandler::unloadPlugins().
|
static |
Definition at line 22 of file pi_unified_runtime.cpp.
Referenced by piTearDown(), and AdapterHolder::~AdapterHolder().
struct AdapterHolder Adapters |
Referenced by piPlatformsGet(), piPluginInit(), and piTearDown().