Skip to content

Commit cd92304

Browse files
authored
Merge pull request #2026 from igchor/benchmark_v2
[Benchmark] use UR_ADAPTERS_FORCE_LOAD in benchmarks
2 parents 6cb61f1 + 2443646 commit cd92304

File tree

3 files changed

+15
-11
lines changed

3 files changed

+15
-11
lines changed

.github/workflows/benchmarks_compute.yml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -151,9 +151,17 @@ jobs:
151151
- name: Build SYCL
152152
run: cmake --build ${{github.workspace}}/sycl_build -j
153153

154-
- name: Set oneAPI Device Selector
155-
run: |
156-
echo "ONEAPI_DEVICE_SELECTOR=${{ matrix.adapter.str_name }}:${{ matrix.adapter.unit }}" >> $GITHUB_ENV
154+
- name: Configure UR
155+
working-directory: ${{github.workspace}}/ur-repo
156+
run: >
157+
cmake -DCMAKE_BUILD_TYPE=Release
158+
-B${{github.workspace}}/ur-repo/build
159+
-DUR_BUILD_TESTS=OFF
160+
-DUR_BUILD_ADAPTER_L0=ON
161+
-DUR_BUILD_ADAPTER_L0_V2=ON
162+
163+
- name: Build UR
164+
run: cmake --build ${{github.workspace}}/ur-repo/build -j $(nproc)
157165

158166
- name: Run benchmarks
159167
id: benchmarks

scripts/benchmarks/benches/base.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,12 @@
1616
class Benchmark:
1717
def __init__(self, directory):
1818
self.directory = directory
19+
self.adapter_path = os.path.join(options.ur_dir, 'build', 'lib', f"libur_adapter_{options.ur_adapter_name}.so")
1920

2021
def run_bench(self, command, env_vars):
21-
return run(command=command, env_vars=env_vars, add_sycl=True, cwd=options.benchmark_cwd).stdout.decode()
22+
env_vars_with_forced_adapter = env_vars.copy()
23+
env_vars_with_forced_adapter.update({'UR_ADAPTERS_FORCE_LOAD': self.adapter_path})
24+
return run(command=command, env_vars=env_vars_with_forced_adapter, add_sycl=True, cwd=options.benchmark_cwd).stdout.decode()
2225

2326
def create_data_path(self, name):
2427
data_path = os.path.join(self.directory, "data", name)

scripts/benchmarks/benches/compute.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ class ComputeBench:
1515
def __init__(self, directory):
1616
self.directory = directory
1717
self.built = False
18-
self.adapter_short_name = {'level_zero' : 'L0', "level_zero_v2" : 'L0_V2'}
1918
return
2019

2120
def setup(self):
@@ -35,19 +34,16 @@ def setup(self):
3534
f"-DALLOW_WARNINGS=ON",
3635
f"-DBUILD_UR=ON",
3736
f"-DUR_BUILD_TESTS=OFF",
38-
f"-DUR_BUILD_ADAPTER_L0=ON",
3937
f"-DUR_BUILD_TESTS=OFF",
4038
f"-DUMF_DISABLE_HWLOC=ON",
4139
f"-DBENCHMARK_UR_SOURCE_DIR={options.ur_dir}",
42-
f"-DUR_BUILD_ADAPTER_{self.adapter_short_name[options.ur_adapter_name]}=ON"
4340
]
4441
run(configure_command, add_sycl=True)
4542

4643
run(f"cmake --build {build_path} -j", add_sycl=True)
4744

4845
self.built = True
4946
self.bins = os.path.join(build_path, 'bin')
50-
self.libs = os.path.join(build_path, 'lib')
5147

5248
class ComputeBenchmark(Benchmark):
5349
def __init__(self, bench, name, test):
@@ -130,9 +126,6 @@ def name(self):
130126
order = "in order" if self.ioq else "out of order"
131127
return f"api_overhead_benchmark_ur SubmitKernel {order}"
132128

133-
def extra_env_vars(self) -> dict:
134-
return {"UR_ADAPTERS_FORCE_LOAD" : os.path.join(self.bench.libs, f"libur_adapter_{options.ur_adapter_name}.so")}
135-
136129
def bin_args(self) -> list[str]:
137130
return [
138131
f"--Ioq={self.ioq}",

0 commit comments

Comments
 (0)