Skip to content

Commit 1a5e3f1

Browse files
committed
Merge 'origin/sycl' into duncan/host-to-device-img-map
2 parents f7c0598 + d3b42cd commit 1a5e3f1

File tree

134 files changed

+3502
-1928
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

134 files changed

+3502
-1928
lines changed

.github/scripts/compute_benchmarks.py

Lines changed: 0 additions & 206 deletions
This file was deleted.

.github/workflows/benchmarks_compute.yml

Lines changed: 7 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ permissions:
4242
jobs:
4343
e2e-build-hw:
4444
# Run only on upstream; forks will not have the HW
45-
if: github.repository == 'oneapi-src/unified-runtime'
45+
# if: github.repository == 'oneapi-src/unified-runtime'
4646
name: Build SYCL, UR, run Compute Benchmarks
4747
strategy:
4848
matrix:
@@ -88,6 +88,9 @@ jobs:
8888
with:
8989
path: ur-repo
9090

91+
- name: Install pip packages
92+
run: pip install -r ${{github.workspace}}/ur-repo/third_party/requirements.txt
93+
9194
# We need to fetch special ref for proper PR's merge commit. Note, this ref may be absent if the PR is already merged.
9295
- name: Fetch PR's merge commit
9396
if: ${{ inputs.pr_no != 0 }}
@@ -131,44 +134,13 @@ jobs:
131134
- name: Build SYCL
132135
run: cmake --build ${{github.workspace}}/sycl_build -j
133136

134-
- name: Set additional env. vars
135-
run: |
136-
echo "${{github.workspace}}/sycl_build/bin" >> $GITHUB_PATH
137-
echo "LD_LIBRARY_PATH=${{github.workspace}}/sycl_build/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
138-
139-
# Running (newly built) sycl-ls sets up some extra variables
140-
- name: Setup SYCL variables
141-
run: |
142-
which clang++ sycl-ls
143-
SYCL_PI_TRACE=-1 sycl-ls
144-
145-
- name: Checkout Compute Benchmarks
146-
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
147-
with:
148-
repository: intel/compute-benchmarks
149-
path: compute-benchmarks-repo
150-
submodules: recursive
151-
152-
- name: Configure Compute Benchmarks
153-
run: >
154-
cmake
155-
-B ${{github.workspace}}/compute-benchmarks-build/
156-
-S ${{github.workspace}}/compute-benchmarks-repo/
157-
-DCMAKE_BUILD_TYPE=Release
158-
-DBUILD_SYCL=ON
159-
-DSYCL_COMPILER_ROOT=${{github.workspace}}/sycl_build
160-
-DALLOW_WARNINGS=ON
161-
162-
- name: Build Compute Benchmarks
163-
run: cmake --build ${{github.workspace}}/compute-benchmarks-build/ -j
164-
165137
- name: Set oneAPI Device Selector
166138
run: |
167139
echo "ONEAPI_DEVICE_SELECTOR=${{ matrix.adapter.str_name }}:${{ matrix.adapter.unit }}" >> $GITHUB_ENV
168140
169-
- name: Run SYCL API Overhead benchmark
141+
- name: Run benchmarks
170142
id: benchmarks
171-
run: ${{ github.workspace }}/ur-repo/.github/scripts/compute_benchmarks.py ${{ github.workspace }}/compute-benchmarks-build/bin/ ${{ inputs.bench_script_params }}
143+
run: numactl -N 0 ${{ github.workspace }}/ur-repo/scripts/benchmarks/main.py ~/bench_workdir ${{github.workspace}}/sycl_build ${{ inputs.bench_script_params }}
172144

173145
- name: Add comment to PR
174146
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
@@ -188,7 +160,7 @@ jobs:
188160
const test_status = '${{ steps.benchmarks.outcome }}';
189161
const job_status = '${{ job.status }}';
190162
const params = '${{ inputs.bench_script_params }}';
191-
const body = `Compute Benchmarks ${adapter} run (with params: ${params}):\n${url}\nJob status: ${job_status}. Test status: ${test_status}.\n ${markdown}`;
163+
const body = `Compute Benchmarks ${adapter} run (${params}):\n${url}\nJob status: ${job_status}. Test status: ${test_status}.\n ${markdown}`;
192164
193165
github.rest.issues.createComment({
194166
issue_number: pr_no,

.github/workflows/e2e_level_zero.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ jobs:
2121
config: ""
2222
unit: "gpu"
2323
# Failing tests
24-
xfail: "ESIMD/preemption.cpp;Matrix/SG32/element_wise_all_ops.cpp;Matrix/SG32/get_coord_int8_matB.cpp;Matrix/element_wise_all_ops.cpp;Matrix/element_wise_all_ops_1d.cpp;Matrix/element_wise_all_ops_1d_cont.cpp;Matrix/element_wise_all_ops_scalar.cpp;Matrix/element_wise_ops.cpp;Matrix/get_coord_int8_matB.cpp;Matrix/joint_matrix_apply_bf16.cpp;Matrix/joint_matrix_apply_two_matrices.cpp;Matrix/joint_matrix_bfloat16.cpp;Matrix/joint_matrix_bfloat16_array.cpp;Matrix/joint_matrix_rowmajorA_rowmajorB.cpp;ProgramManager/uneven_kernel_split.cpp"
24+
xfail: "Matrix/SG32/get_coord_int8_matB.cpp;Matrix/element_wise_all_ops_1d.cpp;Matrix/element_wise_all_ops_1d_cont.cpp;Matrix/element_wise_all_ops_scalar.cpp;Matrix/get_coord_int8_matB.cpp;Matrix/joint_matrix_rowmajorA_rowmajorB.cpp;Plugin/level_zero_barrier_optimization.cpp"
2525
# Flaky tests
2626
filter_out: "UserDefinedReductions/user_defined_reductions.cpp"
2727
# These runners by default spawn upwards of 260 workers.
2828
# We also add a time out just in case some test hangs
29-
extra_lit_flags: "-sv -j 100 --max-time 600"
29+
extra_lit_flags: "--param gpu-intel-pvc=True -sv -j 100 --max-time 600"

.github/workflows/multi_device.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
---
2+
name: Multi Device testing
3+
4+
on: [push, pull_request]
5+
6+
concurrency:
7+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
8+
cancel-in-progress: true
9+
10+
permissions:
11+
contents: read
12+
13+
jobs:
14+
examples:
15+
name: Multi Device testing
16+
if: github.repository == 'oneapi-src/unified-runtime' # run only on upstream; forks won't have the HW
17+
strategy:
18+
matrix:
19+
adapter: [
20+
{name: L0}
21+
]
22+
build_type: [Debug, Release]
23+
compiler: [{c: gcc, cxx: g++}] # TODO: investigate why memory-adapter-level_zero hangs with clang
24+
25+
runs-on: "${{matrix.adapter.name}}_2T"
26+
27+
steps:
28+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
29+
30+
- name: Install pip packages
31+
run: pip install -r third_party/requirements.txt
32+
33+
# TODO: enable once test failure are fixed/ignored
34+
# - name: Download DPC++
35+
# run: |
36+
# wget -O ${{github.workspace}}/dpcpp_compiler.tar.gz https://github.com/intel/llvm/releases/download/nightly-2024-01-29/sycl_linux.tar.gz
37+
# mkdir dpcpp_compiler
38+
# tar -xvf ${{github.workspace}}/dpcpp_compiler.tar.gz -C dpcpp_compiler
39+
40+
- name: Configure CMake
41+
shell: bash -el {0}
42+
run: >
43+
cmake
44+
-B${{github.workspace}}/build
45+
-DCMAKE_C_COMPILER=${{matrix.compiler.c}}
46+
-DCMAKE_CXX_COMPILER=${{matrix.compiler.cxx}}
47+
-DCMAKE_BUILD_TYPE=${{matrix.build_type}}
48+
-DUR_DEVELOPER_MODE=ON
49+
-DUR_BUILD_TESTS=ON
50+
-DUR_BUILD_ADAPTER_${{matrix.adapter.name}}=ON
51+
-DUR_TEST_DEVICES_COUNT=2
52+
53+
- name: Build
54+
run: cmake --build ${{github.workspace}}/build -j $(nproc)
55+
56+
- name: Test adapter specific
57+
working-directory: ${{github.workspace}}/build
58+
run: ctest -C ${{matrix.build_type}} --output-on-failure -L "adapter-specific" -E "test-adapter-level_zero_multi_queue" --timeout 180
59+
# TODO: investigate why test-adapter-level_zero_multi_queue fails on newer driver
60+
61+
- name: Test adapters
62+
working-directory: ${{github.workspace}}/build
63+
run: env UR_CTS_ADAPTER_PLATFORM="${{matrix.adapter.platform}}" ctest -C ${{matrix.build_type}} --output-on-failure -L "conformance" --timeout 180

0 commit comments

Comments
 (0)