Skip to content

Commit 1059aba

Browse files
committed
[UR][Offload] Implement stub functions for mem advise/prefetch
These functions both do nothing if they aren't supported, so are implemented as functions that do nothing besides fiddle with event dependencies.
1 parent 57fb0b8 commit 1059aba

File tree

2 files changed

+29
-2
lines changed

2 files changed

+29
-2
lines changed

unified-runtime/source/adapters/offload/enqueue.cpp

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -442,3 +442,30 @@ UR_APIEXPORT ur_result_t UR_APICALL urEnqueueUSMMemcpy(
442442

443443
return UR_RESULT_SUCCESS;
444444
}
445+
446+
UR_APIEXPORT ur_result_t UR_APICALL urEnqueueUSMAdvise(
447+
ur_queue_handle_t hQueue, [[maybe_unused]] const void *pMem,
448+
[[maybe_unused]] size_t size, [[maybe_unused]] ur_usm_advice_flags_t advice,
449+
ur_event_handle_t *phEvent) {
450+
// Currently not supported - do nothing
451+
if (phEvent) {
452+
*phEvent =
453+
ur_event_handle_t_::createEmptyEvent(UR_COMMAND_USM_ADVISE, hQueue);
454+
}
455+
return UR_RESULT_SUCCESS;
456+
}
457+
458+
UR_APIEXPORT ur_result_t UR_APICALL urEnqueueUSMPrefetch(
459+
ur_queue_handle_t hQueue, [[maybe_unused]] const void *pMem,
460+
[[maybe_unused]] size_t size,
461+
[[maybe_unused]] ur_usm_migration_flags_t flags,
462+
uint32_t numEventsInWaitList, const ur_event_handle_t *phEventWaitList,
463+
ur_event_handle_t *phEvent) {
464+
// Currently not supported - do nothing
465+
ol_queue_handle_t Queue;
466+
OL_RETURN_ON_ERR(hQueue->nextQueue(Queue));
467+
OL_RETURN_ON_ERR(waitOnEvents(Queue, phEventWaitList, numEventsInWaitList));
468+
OL_RETURN_ON_ERR(makeEvent(UR_COMMAND_USM_PREFETCH, Queue, hQueue, phEvent));
469+
470+
return UR_RESULT_SUCCESS;
471+
}

unified-runtime/source/adapters/offload/ur_interface_loader.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,10 +187,10 @@ UR_DLLEXPORT ur_result_t UR_APICALL urGetEnqueueProcAddrTable(
187187
pDdiTable->pfnMemUnmap = urEnqueueMemUnmap;
188188
pDdiTable->pfnUSMFill2D = urEnqueueUSMFill2D;
189189
pDdiTable->pfnUSMFill = urEnqueueUSMFill;
190-
pDdiTable->pfnUSMAdvise = nullptr;
190+
pDdiTable->pfnUSMAdvise = urEnqueueUSMAdvise;
191191
pDdiTable->pfnUSMMemcpy2D = urEnqueueUSMMemcpy2D;
192192
pDdiTable->pfnUSMMemcpy = urEnqueueUSMMemcpy;
193-
pDdiTable->pfnUSMPrefetch = nullptr;
193+
pDdiTable->pfnUSMPrefetch = urEnqueueUSMPrefetch;
194194
pDdiTable->pfnReadHostPipe = nullptr;
195195
pDdiTable->pfnWriteHostPipe = nullptr;
196196
return UR_RESULT_SUCCESS;

0 commit comments

Comments
 (0)