1212#include " ../command_buffer_command.hpp"
1313#include " ../helpers/kernel_helpers.hpp"
1414#include " ../ur_interface_loader.hpp"
15+ #include " command_list_manager.hpp"
1516#include " logger/ur_logger.hpp"
1617#include " queue_handle.hpp"
1718
@@ -323,9 +324,12 @@ ur_result_t urCommandBufferAppendKernelLaunchExp(
323324 auto eventsWaitList = commandBuffer->getWaitListFromSyncPoints (
324325 syncPointWaitList, numSyncPointsInWaitList);
325326
327+ wait_list_view waitListView =
328+ wait_list_view (eventsWaitList, numSyncPointsInWaitList);
329+
326330 UR_CALL (commandListLocked->appendKernelLaunch (
327331 hKernel, workDim, pGlobalWorkOffset, pGlobalWorkSize, pLocalWorkSize, 0 ,
328- nullptr , numSyncPointsInWaitList, eventsWaitList ,
332+ nullptr , waitListView ,
329333 commandBuffer->createEventIfRequested (retSyncPoint)));
330334
331335 return UR_RESULT_SUCCESS;
@@ -348,8 +352,11 @@ ur_result_t urCommandBufferAppendUSMMemcpyExp(
348352 auto eventsWaitList = hCommandBuffer->getWaitListFromSyncPoints (
349353 pSyncPointWaitList, numSyncPointsInWaitList);
350354
355+ wait_list_view waitListView =
356+ wait_list_view (eventsWaitList, numSyncPointsInWaitList);
357+
351358 UR_CALL (commandListLocked->appendUSMMemcpy (
352- false , pDst, pSrc, size, numSyncPointsInWaitList, eventsWaitList ,
359+ false , pDst, pSrc, size, waitListView ,
353360 hCommandBuffer->createEventIfRequested (pSyncPoint)));
354361
355362 return UR_RESULT_SUCCESS;
@@ -375,9 +382,12 @@ ur_result_t urCommandBufferAppendMemBufferCopyExp(
375382 auto eventsWaitList = hCommandBuffer->getWaitListFromSyncPoints (
376383 pSyncPointWaitList, numSyncPointsInWaitList);
377384
385+ wait_list_view waitListView =
386+ wait_list_view (eventsWaitList, numSyncPointsInWaitList);
387+
378388 UR_CALL (commandListLocked->appendMemBufferCopy (
379- hSrcMem, hDstMem, srcOffset, dstOffset, size, numSyncPointsInWaitList ,
380- eventsWaitList, hCommandBuffer->createEventIfRequested (pSyncPoint)));
389+ hSrcMem, hDstMem, srcOffset, dstOffset, size, waitListView ,
390+ hCommandBuffer->createEventIfRequested (pSyncPoint)));
381391
382392 return UR_RESULT_SUCCESS;
383393} catch (...) {
@@ -402,9 +412,12 @@ ur_result_t urCommandBufferAppendMemBufferWriteExp(
402412 auto eventsWaitList = hCommandBuffer->getWaitListFromSyncPoints (
403413 pSyncPointWaitList, numSyncPointsInWaitList);
404414
415+ wait_list_view waitListView =
416+ wait_list_view (eventsWaitList, numSyncPointsInWaitList);
417+
405418 UR_CALL (commandListLocked->appendMemBufferWrite (
406- hBuffer, false , offset, size, pSrc, numSyncPointsInWaitList ,
407- eventsWaitList, hCommandBuffer->createEventIfRequested (pSyncPoint)));
419+ hBuffer, false , offset, size, pSrc, waitListView ,
420+ hCommandBuffer->createEventIfRequested (pSyncPoint)));
408421
409422 return UR_RESULT_SUCCESS;
410423} catch (...) {
@@ -427,9 +440,12 @@ ur_result_t urCommandBufferAppendMemBufferReadExp(
427440 auto eventsWaitList = hCommandBuffer->getWaitListFromSyncPoints (
428441 pSyncPointWaitList, numSyncPointsInWaitList);
429442
443+ wait_list_view waitListView =
444+ wait_list_view (eventsWaitList, numSyncPointsInWaitList);
445+
430446 UR_CALL (commandListLocked->appendMemBufferRead (
431- hBuffer, false , offset, size, pDst, numSyncPointsInWaitList ,
432- eventsWaitList, hCommandBuffer->createEventIfRequested (pSyncPoint)));
447+ hBuffer, false , offset, size, pDst, waitListView ,
448+ hCommandBuffer->createEventIfRequested (pSyncPoint)));
433449
434450 return UR_RESULT_SUCCESS;
435451} catch (...) {
@@ -456,10 +472,13 @@ ur_result_t urCommandBufferAppendMemBufferCopyRectExp(
456472 auto eventsWaitList = hCommandBuffer->getWaitListFromSyncPoints (
457473 pSyncPointWaitList, numSyncPointsInWaitList);
458474
475+ wait_list_view waitListView =
476+ wait_list_view (eventsWaitList, numSyncPointsInWaitList);
477+
459478 UR_CALL (commandListLocked->appendMemBufferCopyRect (
460479 hSrcMem, hDstMem, srcOrigin, dstOrigin, region, srcRowPitch,
461- srcSlicePitch, dstRowPitch, dstSlicePitch, numSyncPointsInWaitList ,
462- eventsWaitList, hCommandBuffer->createEventIfRequested (pSyncPoint)));
480+ srcSlicePitch, dstRowPitch, dstSlicePitch, waitListView ,
481+ hCommandBuffer->createEventIfRequested (pSyncPoint)));
463482
464483 return UR_RESULT_SUCCESS;
465484} catch (...) {
@@ -486,10 +505,12 @@ ur_result_t urCommandBufferAppendMemBufferWriteRectExp(
486505 auto eventsWaitList = hCommandBuffer->getWaitListFromSyncPoints (
487506 pSyncPointWaitList, numSyncPointsInWaitList);
488507
508+ wait_list_view waitListView =
509+ wait_list_view (eventsWaitList, numSyncPointsInWaitList);
510+
489511 UR_CALL (commandListLocked->appendMemBufferWriteRect (
490512 hBuffer, false , bufferOffset, hostOffset, region, bufferRowPitch,
491- bufferSlicePitch, hostRowPitch, hostSlicePitch, pSrc,
492- numSyncPointsInWaitList, eventsWaitList,
513+ bufferSlicePitch, hostRowPitch, hostSlicePitch, pSrc, waitListView,
493514 hCommandBuffer->createEventIfRequested (pSyncPoint)));
494515
495516 return UR_RESULT_SUCCESS;
@@ -517,10 +538,12 @@ ur_result_t urCommandBufferAppendMemBufferReadRectExp(
517538 auto eventsWaitList = hCommandBuffer->getWaitListFromSyncPoints (
518539 pSyncPointWaitList, numSyncPointsInWaitList);
519540
541+ wait_list_view waitListView =
542+ wait_list_view (eventsWaitList, numSyncPointsInWaitList);
543+
520544 UR_CALL (commandListLocked->appendMemBufferReadRect (
521545 hBuffer, false , bufferOffset, hostOffset, region, bufferRowPitch,
522- bufferSlicePitch, hostRowPitch, hostSlicePitch, pDst,
523- numSyncPointsInWaitList, eventsWaitList,
546+ bufferSlicePitch, hostRowPitch, hostSlicePitch, pDst, waitListView,
524547 hCommandBuffer->createEventIfRequested (pSyncPoint)));
525548
526549 return UR_RESULT_SUCCESS;
@@ -543,9 +566,12 @@ ur_result_t urCommandBufferAppendUSMFillExp(
543566 auto eventsWaitList = hCommandBuffer->getWaitListFromSyncPoints (
544567 pSyncPointWaitList, numSyncPointsInWaitList);
545568
569+ wait_list_view waitListView =
570+ wait_list_view (eventsWaitList, numSyncPointsInWaitList);
571+
546572 UR_CALL (commandListLocked->appendUSMFill (
547- pMemory, patternSize, pPattern, size, numSyncPointsInWaitList ,
548- eventsWaitList, hCommandBuffer->createEventIfRequested (pSyncPoint)));
573+ pMemory, patternSize, pPattern, size, waitListView ,
574+ hCommandBuffer->createEventIfRequested (pSyncPoint)));
549575 return UR_RESULT_SUCCESS;
550576} catch (...) {
551577 return exceptionToResult (std::current_exception ());
@@ -567,9 +593,12 @@ ur_result_t urCommandBufferAppendMemBufferFillExp(
567593 auto eventsWaitList = hCommandBuffer->getWaitListFromSyncPoints (
568594 pSyncPointWaitList, numSyncPointsInWaitList);
569595
596+ wait_list_view waitListView =
597+ wait_list_view (eventsWaitList, numSyncPointsInWaitList);
598+
570599 UR_CALL (commandListLocked->appendMemBufferFill (
571- hBuffer, pPattern, patternSize, offset, size, numSyncPointsInWaitList ,
572- eventsWaitList, hCommandBuffer->createEventIfRequested (pSyncPoint)));
600+ hBuffer, pPattern, patternSize, offset, size, waitListView ,
601+ hCommandBuffer->createEventIfRequested (pSyncPoint)));
573602
574603 return UR_RESULT_SUCCESS;
575604} catch (...) {
@@ -593,8 +622,11 @@ ur_result_t urCommandBufferAppendUSMPrefetchExp(
593622 auto eventsWaitList = hCommandBuffer->getWaitListFromSyncPoints (
594623 pSyncPointWaitList, numSyncPointsInWaitList);
595624
625+ wait_list_view waitListView =
626+ wait_list_view (eventsWaitList, numSyncPointsInWaitList);
627+
596628 UR_CALL (commandListLocked->appendUSMPrefetch (
597- pMemory, size, flags, numSyncPointsInWaitList, eventsWaitList ,
629+ pMemory, size, flags, waitListView ,
598630 hCommandBuffer->createEventIfRequested (pSyncPoint)));
599631
600632 return UR_RESULT_SUCCESS;
@@ -617,8 +649,11 @@ ur_result_t urCommandBufferAppendUSMAdviseExp(
617649 auto eventsWaitList = hCommandBuffer->getWaitListFromSyncPoints (
618650 pSyncPointWaitList, numSyncPointsInWaitList);
619651
652+ wait_list_view waitListView =
653+ wait_list_view (eventsWaitList, numSyncPointsInWaitList);
654+
620655 UR_CALL (commandListLocked->appendUSMAdvise (
621- pMemory, size, advice, numSyncPointsInWaitList, eventsWaitList ,
656+ pMemory, size, advice, waitListView ,
622657 hCommandBuffer->createEventIfRequested (pSyncPoint)));
623658
624659 return UR_RESULT_SUCCESS;
@@ -667,15 +702,19 @@ ur_result_t urCommandBufferAppendNativeCommandExp(
667702 auto eventsWaitList = hCommandBuffer->getWaitListFromSyncPoints (
668703 pSyncPointWaitList, numSyncPointsInWaitList);
669704
670- UR_CALL (commandListLocked->appendEventsWaitWithBarrier (
671- numSyncPointsInWaitList, eventsWaitList, nullptr ));
705+ wait_list_view waitListView =
706+ wait_list_view (eventsWaitList, numSyncPointsInWaitList);
707+
708+ UR_CALL (
709+ commandListLocked->appendEventsWaitWithBarrier (waitListView, nullptr ));
672710
673711 // Call user-defined function immediately
674712 pfnNativeCommand (pData);
675713
714+ wait_list_view emptyWaitList = wait_list_view (nullptr , 0 );
676715 // Barrier on all commands after user defined commands.
677716 UR_CALL (commandListLocked->appendEventsWaitWithBarrier (
678- 0 , nullptr , hCommandBuffer->createEventIfRequested (pSyncPoint)));
717+ emptyWaitList , hCommandBuffer->createEventIfRequested (pSyncPoint)));
679718
680719 return UR_RESULT_SUCCESS;
681720}
0 commit comments