Skip to content

Commit 6e393d1

Browse files
igchorkbenzie
authored andcommitted
Build L0 v2 adapter by default (#17407)
L0 v2 adapter is expected to be shipped as part of 2025.2 release. Refactor params to configure.py into a single 'choice' param.
1 parent 090a5f5 commit 6e393d1

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

source/adapters/level_zero/v2/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,14 @@ L0 v2 adapter can be enabled by setting passing `UR_BUILD_ADAPTER_L0_V2=1` optio
66

77
Currently, L0 v2 is only available as an experimental adapter to gather feedback and adding missing features. L0 v2 is planned to be the default adapter for L0 in 2026.0 release.
88

9+
To enable L0 v2 adapter at runtime, set, `SYCL_UR_USE_LEVEL_ZERO_V2=1`.
10+
11+
This forces UR and SYCL to use the v2 adapter instead of the legacy version.
12+
13+
Alternatively, `UR_ADAPTER_FORCE_LOAD` env variable can be used.
14+
15+
SYCL E2E tests can be used to test v2 adapter by passing `level_zero_v2:gpu` to llvm-lit `sycl_devices`.
16+
917
# Code structure
1018

1119
v2 adapters is is a standalone adapter but reuses some logic from the legacy L0 adapter implementation - most notably: adapter.cpp, platform.cpp, device.cpp

source/loader/ur_adapter_registry.hpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -324,13 +324,15 @@ class AdapterRegistry {
324324
// Skip legacy L0 adapter if the v2 adapter is requested, and vice versa.
325325
if (std::string(adapterName).find("level_zero") != std::string::npos) {
326326
auto v2Requested = getenv_tobool("UR_LOADER_USE_LEVEL_ZERO_V2", false);
327+
v2Requested |= getenv_tobool("SYCL_UR_USE_LEVEL_ZERO_V2", false);
327328
auto v2Adapter =
328329
std::string(adapterName).find("v2") != std::string::npos;
329330

330331
if (v2Requested != v2Adapter) {
331-
logger::info("The adapter '{}' is skipped because {} {}.",
332-
adapterName, "UR_LOADER_USE_LEVEL_ZERO_V2",
333-
v2Requested ? "is set" : "is not set");
332+
logger::info(
333+
"The adapter '{}' is skipped because {} {}.", adapterName,
334+
"UR_LOADER_USE_LEVEL_ZERO_V2 or SYCL_UR_USE_LEVEL_ZERO_V2",
335+
v2Requested ? "is set" : "is not set");
334336
continue;
335337
}
336338
}

0 commit comments

Comments
 (0)