Skip to content

Commit c670701

Browse files
committed
[UR][L0] Disable Immediate Command List DG2 Windows
Signed-off-by: Neil R. Spruit <[email protected]>
1 parent ba09d77 commit c670701

File tree

3 files changed

+18
-2
lines changed

3 files changed

+18
-2
lines changed

CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
55

66
cmake_minimum_required(VERSION 3.20.0 FATAL_ERROR)
7-
project(unified-runtime VERSION 0.11.8)
7+
project(unified-runtime VERSION 0.11.9)
88

99
# Check if unified runtime is built as a standalone project.
1010
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR UR_STANDALONE_BUILD)

source/adapters/level_zero/device.cpp

+12-1
Original file line numberDiff line numberDiff line change
@@ -1490,12 +1490,23 @@ ur_device_handle_t_::useImmediateCommandLists() {
14901490
bool isDG2OrNewer = this->isIntelDG2OrNewer();
14911491
bool isDG2SupportedDriver =
14921492
this->Platform->isDriverVersionNewerOrSimilar(1, 5, 30820);
1493-
if ((isDG2SupportedDriver && isDG2OrNewer) || isPVC()) {
1493+
// Disable immediate command lists for DG2 devices on Windows due to driver
1494+
// limitations.
1495+
bool isLinux = true;
1496+
#ifdef _WIN32
1497+
isLinux = false;
1498+
#endif
1499+
if ((isDG2SupportedDriver && isDG2OrNewer && isLinux) || isPVC() ||
1500+
isNewerThanIntelDG2()) {
14941501
return PerQueue;
14951502
} else {
14961503
return NotUsed;
14971504
}
14981505
}
1506+
1507+
logger::info("NOTE: L0 Immediate CommandList Setting: {}",
1508+
ImmediateCommandlistsSetting);
1509+
14991510
switch (ImmediateCommandlistsSetting) {
15001511
case 0:
15011512
return NotUsed;

source/adapters/level_zero/device.hpp

+5
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,11 @@ struct ur_device_handle_t_ : _ur_object {
196196
ZeDeviceIpVersionExt->ipVersion >= 0x030dc000);
197197
}
198198

199+
bool isNewerThanIntelDG2() {
200+
return (ZeDeviceProperties->vendorId == 0x8086 &&
201+
ZeDeviceIpVersionExt->ipVersion >= 0x030f0000);
202+
}
203+
199204
bool isIntegrated() {
200205
return (ZeDeviceProperties->flags & ZE_DEVICE_PROPERTY_FLAG_INTEGRATED);
201206
}

0 commit comments

Comments
 (0)