-
Notifications
You must be signed in to change notification settings - Fork 795
Open
Description
This is an incomplete list of features that the Offload adapter needs to implement:
Entry Points:
- [optional] All bindless image entry points
- [optional] All command buffer entry points
- [optional] All "physical mem" entry points
- [optional] All "virtual mem" entry points
- [optional] Get/Create with native handle for all modules
- [optional] urAdapterGetLastError
- [optional] urContextSetExtendedDeleter
- [optional] urDeviceGetGlobalTimestamps
- urEnqueueDeviceGlobalVariableRead
- urEnqueueDeviceGlobalVariableWrite
- urEnqueueEventsWait
- urEnqueueEventsWaitWithBarrier
- urEnqueueMemBufferCopy
- urEnqueueMemBufferCopyRect
- urEnqueueMemBufferFill
- urEnqueueMemBufferReadRect
- urEnqueueMemBufferWriteRect
- urEnqueueMemImageCopy
- urEnqueueMemImageRead
- urEnqueueMemImageWrite
- [optional] urEnqueueTimestampRecordingExp
- [optional] urEnqueueNativeCommandExp
- urEnqueueUSMFill
- urEnqueueUSMAdvise
- urEnqueueUSMMemcpy
- urEnqueueUSMPrefetch
- urEnqueueReadHostPipe
- urEnqueueWriteHostPipe
- [optional] urEnqueueUSMFill2D
- [optional] urEnqueueUSMMemcpy2D
- [optional] urEventGetProfilingInfo
- urEventSetCallback
- [optional] urKernelGetSubGroupInfo
- urKernelSetArgLocal
- urKernelSetArgMemObj
- urKernelSetArgSampler
- [optional] urKernelSetSpecializationConstants
- [optional] urKernelGetSuggestedLocalWorkSize
- urMemBufferPartition
- urMemImageCreate
- urMemImageGetInfo
- urQueueFlush
- [optional] urProgramBuildExp
- [optional] urProgramCompileExp
- urProgramGetBuildInfo
- urProgramGetGlobalVariablePointer
- urProgramLink
- [optional] urProgramLinkExp
- [optional] urProgramSetSpecializationConstants
- urSamplerCreate
- urSamplerGetInfo
- urSamplerRelease
- urSamplerRetain
- urUSMGetMemAllocInfo
- [optional] urUSMPitchedAllocExp
- urUSMPoolCreate
- urUSMPoolRetain
- urUSMPoolRelease
- urUSMPoolGetInfo
Info Queries:
- Adapter
- Context
- Device
- Event
UR_EVENT_INFO_COMMAND_EXECUTION_STATUS
- Kernel
- Platform
- Program
- Queue
UR_QUEUE_INFO_CONTEXTUR_QUEUE_INFO_DEVICEUR_QUEUE_INFO_DEVICE_DEFAULTUR_QUEUE_INFO_SIZEUR_QUEUE_INFO_EMPTY
Queue Flags:
- UR_QUEUE_FLAG_DISCARD_EVENTS
- UR_QUEUE_FLAG_LOW_POWER_EVENTS_SUPPORT_EXP
- UR_QUEUE_FLAG_ON_DEVICE
- UR_QUEUE_FLAG_ON_DEVICE_DEFAULT
- UR_QUEUE_FLAG_OUT_OF_ORDER_EXEC_MODE_ENABLE
- UR_QUEUE_FLAG_PRIORITY_HIGH
- UR_QUEUE_FLAG_PRIORITY_LOW
- UR_QUEUE_FLAG_PROFILING_ENABLE
- UR_QUEUE_FLAG_SUBMISSION_BATCHED
- UR_QUEUE_FLAG_SUBMISSION_IMMEDIATE
- UR_QUEUE_FLAG_SYNC_WITH_DEFAULT_STREAM
- UR_QUEUE_FLAG_USE_DEFAULT_STREAM
Misc:
- getInfo doesn't seem to verify the property size in all cases
- workDims > 1 support for urEnqueueKernelLaunch
-
UR_DEVICE_INFO_USM_*should return correct capability flags - Ability to report support for different floating point types, sycl currently expects
UR_DEVICE_INFO_*_VECTOR_WIDTHqueries (currently implemented with placeholder values) and an extension string for this (pending [UR] Stop querying adapter fp16/fp64 support via extension. #15811)
uditagarwal97