Skip to content

Commit 5f713e2

Browse files
authored
[SYCL] Use default L0 adapter in tests when level_zero:gpu is specified (#19627)
To force use of legacy or v2 adapter the following target_devices can be used: - level_zero_v1:gpu for the legacy adapter - level_zero_v2:gpu for the v2 adapter
1 parent 9f81215 commit 5f713e2

File tree

4 files changed

+16
-14
lines changed

4 files changed

+16
-14
lines changed

.github/workflows/sycl-linux-precommit.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ jobs:
127127
- name: Intel Battlemage Graphics
128128
runner: '["Linux", "bmg"]'
129129
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
130-
target_devices: level_zero:gpu;level_zero_v2:gpu
130+
target_devices: level_zero_v1:gpu;level_zero_v2:gpu
131131
- name: SPIR-V Backend / Intel Battlemage Graphics
132132
runner: '["Linux", "bmg"]'
133133
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN

sycl/test-e2e/Basic/fill_accessor.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
// UNSUPPORTED: run-mode && arch-intel_gpu_pvc && !igc-dev
55
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/19585
66

7-
// UNSUPPORTED: run-mode && linux && arch-intel_gpu_bmg_g21 && !spirv-backend
7+
// UNSUPPORTED: run-mode && linux && arch-intel_gpu_bmg_g21
88
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/19586
99

1010
#include <sycl/detail/core.hpp>

sycl/test-e2e/format.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414

1515
def remove_level_zero_suffix(devices):
16-
return [device.replace("_v2", "") for device in devices]
16+
return [device.replace("_v2", "").replace("_v1", "") for device in devices]
1717

1818

1919
def parse_min_intel_driver_req(line_number, line, output):
@@ -331,10 +331,9 @@ def get_extra_env(sycl_devices):
331331
if extra_env:
332332
expanded += " {}".format(" ".join(extra_env))
333333

334-
dev_features = test.config.sycl_dev_features[full_dev_name]
335-
if "level_zero_v2_adapter" in dev_features:
334+
if "level_zero_v2" in full_dev_name:
336335
expanded += " env UR_LOADER_USE_LEVEL_ZERO_V2=1"
337-
else:
336+
elif "level_zero_v1" in full_dev_name:
338337
expanded += " env UR_LOADER_USE_LEVEL_ZERO_V2=0"
339338

340339
expanded += " ONEAPI_DEVICE_SELECTOR={} {}".format(

sycl/test-e2e/lit.cfg.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -694,7 +694,7 @@ def open_check_file(file_name):
694694

695695

696696
def remove_level_zero_suffix(devices):
697-
return [device.replace("_v2", "") for device in devices]
697+
return [device.replace("_v2", "").replace("_v1", "") for device in devices]
698698

699699

700700
available_devices = {
@@ -981,15 +981,11 @@ def get_sycl_ls_verbose(sycl_device, env):
981981
):
982982
env = copy.copy(llvm_config.config.environment)
983983

984-
if "v2" in full_name:
985-
env["UR_LOADER_ENABLE_LEVEL_ZERO_V2"] = "1"
986-
else:
987-
env["UR_LOADER_ENABLE_LEVEL_ZERO_V2"] = "0"
988-
989984
env["ONEAPI_DEVICE_SELECTOR"] = sycl_device
990985
if sycl_device.startswith("cuda:"):
991986
env["SYCL_UR_CUDA_ENABLE_IMAGE_SUPPORT"] = "1"
992987

988+
features = set()
993989
dev_aspects = []
994990
dev_sg_sizes = []
995991
architectures = set()
@@ -1030,6 +1026,8 @@ def get_sycl_ls_verbose(sycl_device, env):
10301026
if re.match(r" *Architecture:", line):
10311027
_, architecture = line.strip().split(":", 1)
10321028
architectures.add(architecture.strip())
1029+
if re.match(r" *Name *:", line) and "Level-Zero V2" in line:
1030+
features.add("level_zero_v2_adapter")
10331031

10341032
if dev_aspects == []:
10351033
lit_config.error(
@@ -1093,16 +1091,21 @@ def get_sycl_ls_verbose(sycl_device, env):
10931091
)
10941092
)
10951093

1096-
features = set()
10971094
features.update(aspect_features)
10981095
features.update(sg_size_features)
10991096
features.update(architecture_feature)
11001097
features.update(device_family)
11011098

11021099
be, dev = sycl_device.split(":")
11031100
features.add(dev.replace("fpga", "accelerator"))
1104-
if "v2" in full_name:
1101+
if "level_zero_v2" in full_name:
11051102
features.add("level_zero_v2_adapter")
1103+
elif "level_zero_v1" in full_name:
1104+
features.discard("level_zero_v2_adapter")
1105+
1106+
if "level_zero_v2_adapter" in features:
1107+
lit_config.note("Using Level Zero V2 adapter for {}".format(sycl_device))
1108+
11061109
# Use short names for LIT rules.
11071110
features.add(be)
11081111
# Add corresponding target feature

0 commit comments

Comments
 (0)