Skip to content

Commit 3d6a1cf

Browse files
authored
[UR][Offload] Implement stub functions for mem advise/prefetch (#19937)
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 36419ab commit 3d6a1cf

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
@@ -454,3 +454,30 @@ UR_APIEXPORT ur_result_t UR_APICALL urEnqueueUSMMemcpy(
454454

455455
return UR_RESULT_SUCCESS;
456456
}
457+
458+
UR_APIEXPORT ur_result_t UR_APICALL urEnqueueUSMAdvise(
459+
ur_queue_handle_t hQueue, [[maybe_unused]] const void *pMem,
460+
[[maybe_unused]] size_t size, [[maybe_unused]] ur_usm_advice_flags_t advice,
461+
ur_event_handle_t *phEvent) {
462+
// Currently not supported - do nothing
463+
if (phEvent) {
464+
*phEvent =
465+
ur_event_handle_t_::createEmptyEvent(UR_COMMAND_USM_ADVISE, hQueue);
466+
}
467+
return UR_RESULT_SUCCESS;
468+
}
469+
470+
UR_APIEXPORT ur_result_t UR_APICALL urEnqueueUSMPrefetch(
471+
ur_queue_handle_t hQueue, [[maybe_unused]] const void *pMem,
472+
[[maybe_unused]] size_t size,
473+
[[maybe_unused]] ur_usm_migration_flags_t flags,
474+
uint32_t numEventsInWaitList, const ur_event_handle_t *phEventWaitList,
475+
ur_event_handle_t *phEvent) {
476+
// Currently not supported - do nothing
477+
ol_queue_handle_t Queue;
478+
OL_RETURN_ON_ERR(hQueue->nextQueue(Queue));
479+
OL_RETURN_ON_ERR(waitOnEvents(Queue, phEventWaitList, numEventsInWaitList));
480+
OL_RETURN_ON_ERR(makeEvent(UR_COMMAND_USM_PREFETCH, Queue, hQueue, phEvent));
481+
482+
return UR_RESULT_SUCCESS;
483+
}

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

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

0 commit comments

Comments
 (0)