Skip to content

Commit 8e47ab5

Browse files
authored
Merge pull request #1694 from Bensuo/ewan/L0_update_query
Set minimum L0 device support to support UR kernel update
2 parents b816fe8 + 3d3aba6 commit 8e47ab5

File tree

2 files changed

+14
-13
lines changed

2 files changed

+14
-13
lines changed

source/adapters/level_zero/command_buffer.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1295,7 +1295,9 @@ UR_APIEXPORT ur_result_t UR_APICALL urCommandBufferUpdateKernelLaunchExp(
12951295
MutableGroupCountDesc->pNext = NextDesc;
12961296
DEBUG_LOG(MutableGroupCountDesc->pNext);
12971297
MutableGroupCountDesc->pGroupCount = &ZeThreadGroupDimensions;
1298-
DEBUG_LOG(MutableGroupCountDesc->pGroupCount);
1298+
DEBUG_LOG(MutableGroupCountDesc->pGroupCount->groupCountX);
1299+
DEBUG_LOG(MutableGroupCountDesc->pGroupCount->groupCountY);
1300+
DEBUG_LOG(MutableGroupCountDesc->pGroupCount->groupCountZ);
12991301
NextDesc = MutableGroupCountDesc.get();
13001302
GroupCountDescs.push_back(std::move(MutableGroupCountDesc));
13011303

source/adapters/level_zero/device.cpp

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -947,18 +947,17 @@ UR_APIEXPORT ur_result_t UR_APICALL urDeviceGetInfo(
947947
case UR_DEVICE_INFO_COMMAND_BUFFER_SUPPORT_EXP:
948948
return ReturnValue(true);
949949
case UR_DEVICE_INFO_COMMAND_BUFFER_UPDATE_SUPPORT_EXP: {
950-
// TODO: Level Zero API allows to check support for all sub-features:
951-
// ZE_MUTABLE_COMMAND_EXP_FLAG_KERNEL_ARGUMENTS,
952-
// ZE_MUTABLE_COMMAND_EXP_FLAG_GROUP_COUNT,
953-
// ZE_MUTABLE_COMMAND_EXP_FLAG_GROUP_SIZE,
954-
// ZE_MUTABLE_COMMAND_EXP_FLAG_GLOBAL_OFFSET,
955-
// ZE_MUTABLE_COMMAND_EXP_FLAG_SIGNAL_EVENT,
956-
// ZE_MUTABLE_COMMAND_EXP_FLAG_WAIT_EVENTS
957-
// but UR has only one property to check the mutable command lists feature
958-
// support. For now return true if kernel arguments can be updated.
959-
auto KernelArgUpdateSupport =
960-
Device->ZeDeviceMutableCmdListsProperties->mutableCommandFlags &
961-
ZE_MUTABLE_COMMAND_EXP_FLAG_KERNEL_ARGUMENTS;
950+
// Update support requires being able to update kernel arguments and all
951+
// aspects of the kernel NDRange.
952+
const ze_mutable_command_exp_flags_t UpdateMask =
953+
ZE_MUTABLE_COMMAND_EXP_FLAG_KERNEL_ARGUMENTS |
954+
ZE_MUTABLE_COMMAND_EXP_FLAG_GROUP_COUNT |
955+
ZE_MUTABLE_COMMAND_EXP_FLAG_GROUP_SIZE |
956+
ZE_MUTABLE_COMMAND_EXP_FLAG_GLOBAL_OFFSET;
957+
958+
const bool KernelArgUpdateSupport =
959+
(Device->ZeDeviceMutableCmdListsProperties->mutableCommandFlags &
960+
UpdateMask) == UpdateMask;
962961
return ReturnValue(KernelArgUpdateSupport &&
963962
Device->Platform->ZeMutableCmdListExt.Supported);
964963
}

0 commit comments

Comments
 (0)