From 7fc11dd40943ef235238b493c89ccd125a6b14ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20=C5=9Alusarczyk?= Date: Tue, 28 Jan 2025 16:40:09 +0100 Subject: [PATCH] applied Ewan's comments --- source/adapters/level_zero/v2/command_buffer.cpp | 9 +++++---- source/adapters/level_zero/v2/command_list_manager.cpp | 2 +- source/adapters/level_zero/v2/command_list_manager.hpp | 2 +- .../adapters/level_zero/v2/queue_immediate_in_order.cpp | 2 ++ 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/source/adapters/level_zero/v2/command_buffer.cpp b/source/adapters/level_zero/v2/command_buffer.cpp index 1e3484aff9..eace40918b 100644 --- a/source/adapters/level_zero/v2/command_buffer.cpp +++ b/source/adapters/level_zero/v2/command_buffer.cpp @@ -55,7 +55,8 @@ urCommandBufferCreateExp(ur_context_handle_t context, ur_device_handle_t device, ur_exp_command_buffer_handle_t *commandBuffer) try { checkImmediateAppendSupport(context); - if (!context->getPlatform()->ZeMutableCmdListExt.Supported) { + if (commandBufferDesc->isUpdatable && + !context->getPlatform()->ZeMutableCmdListExt.Supported) { throw UR_RESULT_ERROR_UNSUPPORTED_FEATURE; } @@ -112,9 +113,9 @@ ur_result_t urCommandBufferAppendKernelLaunchExp( uint32_t numEventsInWaitList, const ur_event_handle_t *eventWaitList, ur_exp_command_buffer_sync_point_t *retSyncPoint, ur_event_handle_t *event, ur_exp_command_buffer_command_handle_t *command) try { - // Need to know semantics - // - should they be checked before kernel execution or before kernel - // appending to list if latter then it is easy fix, if former then TODO + // TODO: These parameters aren't implemented in V1 yet, and are a fair amount + // of work. Need to know semantics: should they be checked before kernel + // execution (difficult) or before kernel appending to list (easy fix). std::ignore = numEventsInWaitList; std::ignore = eventWaitList; std::ignore = event; diff --git a/source/adapters/level_zero/v2/command_list_manager.cpp b/source/adapters/level_zero/v2/command_list_manager.cpp index e7c0b42bc8..3592a1227e 100644 --- a/source/adapters/level_zero/v2/command_list_manager.cpp +++ b/source/adapters/level_zero/v2/command_list_manager.cpp @@ -17,7 +17,7 @@ ur_command_list_manager::ur_command_list_manager( ur_context_handle_t context, ur_device_handle_t device, v2::raii::command_list_unique_handle &&commandList, v2::event_flags_t flags, - ur_queue_handle_t_ *queue) + ur_queue_handle_t queue) : context(context), device(device), eventPool(context->eventPoolCache.borrow(device->Id.value(), flags)), zeCommandList(std::move(commandList)), queue(queue) { diff --git a/source/adapters/level_zero/v2/command_list_manager.hpp b/source/adapters/level_zero/v2/command_list_manager.hpp index b18bc26f13..b24433044a 100644 --- a/source/adapters/level_zero/v2/command_list_manager.hpp +++ b/source/adapters/level_zero/v2/command_list_manager.hpp @@ -47,6 +47,6 @@ struct ur_command_list_manager : public _ur_object { ur_device_handle_t device; v2::raii::cache_borrowed_event_pool eventPool; v2::raii::command_list_unique_handle zeCommandList; - ur_queue_handle_t_ *queue; + ur_queue_handle_t queue; std::vector waitList; }; diff --git a/source/adapters/level_zero/v2/queue_immediate_in_order.cpp b/source/adapters/level_zero/v2/queue_immediate_in_order.cpp index 1c738edf50..8da52fe6b6 100644 --- a/source/adapters/level_zero/v2/queue_immediate_in_order.cpp +++ b/source/adapters/level_zero/v2/queue_immediate_in_order.cpp @@ -1064,6 +1064,8 @@ ur_result_t ur_queue_immediate_in_order_t::enqueueGenericCommandListsExp( uint32_t numCommandLists, ze_command_list_handle_t *phCommandLists, ur_event_handle_t *phEvent, uint32_t numEventsInWaitList, const ur_event_handle_t *phEventWaitList, ur_command_t callerCommand) { + TRACK_SCOPE_LATENCY( + "ur_queue_immediate_in_order_t::enqueueGenericCommandListsExp"); std::scoped_lock Lock(this->Mutex); auto zeSignalEvent = getSignalEvent(phEvent, callerCommand);