Skip to content

Commit d501b03

Browse files
committed
Merge branch 'sycl' into simplify-device-global
2 parents 402ade4 + df6da35 commit d501b03

File tree

361 files changed

+12638
-6797
lines changed

Some content is hidden

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

361 files changed

+12638
-6797
lines changed

.github/docker/install_dpcpp.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,5 @@ if [ "${SKIP_DPCPP_BUILD}" ]; then
1616
fi
1717

1818
mkdir -p ${DPCPP_PATH}/dpcpp_compiler
19-
wget -O ${DPCPP_PATH}/dpcpp_compiler.tar.gz https://github.com/intel/llvm/releases/download/nightly-2024-01-29/sycl_linux.tar.gz
19+
wget -O ${DPCPP_PATH}/dpcpp_compiler.tar.gz https://github.com/intel/llvm/releases/download/nightly-2024-09-27/sycl_linux.tar.gz
2020
tar -xvf ${DPCPP_PATH}/dpcpp_compiler.tar.gz -C ${DPCPP_PATH}/dpcpp_compiler

.github/workflows/benchmarks_compute.yml

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -151,13 +151,32 @@ 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+
run: >
156+
cmake -DCMAKE_BUILD_TYPE=Release
157+
-S${{github.workspace}}/ur-repo
158+
-B${{github.workspace}}/ur_build
159+
-DCMAKE_INSTALL_PREFIX=${{github.workspace}}/ur_install
160+
-DUR_BUILD_TESTS=OFF
161+
-DUR_BUILD_ADAPTER_L0=ON
162+
-DUR_BUILD_ADAPTER_L0_V2=ON
163+
-DUMF_DISABLE_HWLOC=ON
164+
165+
- name: Build UR
166+
run: cmake --build ${{github.workspace}}/ur_build -j $(nproc)
167+
168+
- name: Install UR
169+
run: cmake --install ${{github.workspace}}/ur_build
157170

158171
- name: Run benchmarks
159172
id: benchmarks
160-
run: numactl -N 0 ${{ github.workspace }}/ur-repo/scripts/benchmarks/main.py ~/bench_workdir ${{github.workspace}}/sycl_build ${{github.workspace}}/ur-repo ${{ matrix.adapter.str_name }} ${{ inputs.bench_script_params }}
173+
run: >
174+
numactl -N 0 ${{ github.workspace }}/ur-repo/scripts/benchmarks/main.py
175+
~/bench_workdir
176+
${{github.workspace}}/sycl_build
177+
${{github.workspace}}/ur_install
178+
${{ matrix.adapter.str_name }}
179+
${{ inputs.bench_script_params }}
161180
162181
- name: Add comment to PR
163182
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1

.github/workflows/build-hw-reusable.yml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ on:
1818
required: false
1919
type: string
2020
default: OFF
21+
static_adapter:
22+
required: false
23+
type: string
24+
default: OFF
2125

2226
permissions:
2327
contents: read
@@ -36,7 +40,7 @@ jobs:
3640
strategy:
3741
matrix:
3842
adapter: [
39-
{name: "${{inputs.adapter_name}}", platform: "${{inputs.platform}}", static_Loader: "${{inputs.static_loader}}"},
43+
{name: "${{inputs.adapter_name}}", platform: "${{inputs.platform}}", static_Loader: "${{inputs.static_loader}}", static_adapter: "${{inputs.static_loader}}"},
4044
]
4145
build_type: [Debug, Release]
4246
compiler: [{c: gcc, cxx: g++}, {c: clang, cxx: clang++}]
@@ -49,6 +53,10 @@ jobs:
4953
build_type: Release
5054
- adapter: {static_Loader: ON}
5155
compiler: {c: clang, cxx: clang++}
56+
- adapter: {static_adapter: ON}
57+
build_type: Release
58+
- adapter: {static_adapter: ON}
59+
compiler: {c: clang, cxx: clang++}
5260

5361
runs-on: ${{inputs.runner_name}}
5462

@@ -76,15 +84,21 @@ jobs:
7684
-DUR_BUILD_TESTS=ON
7785
-DUR_BUILD_ADAPTER_${{matrix.adapter.name}}=ON
7886
-DUR_STATIC_LOADER=${{matrix.adapter.static_Loader}}
87+
-DUR_STATIC_ADAPTER_${{matrix.adapter.name}}=${{matrix.adapter.static_adapter}}
7988
-DUR_DPCXX=${{github.workspace}}/dpcpp_compiler/bin/clang++
8089
-DUR_SYCL_LIBRARY_DIR=${{github.workspace}}/dpcpp_compiler/lib
90+
-DCMAKE_INSTALL_PREFIX=${{github.workspace}}/install
8191
${{ matrix.adapter.name == 'HIP' && '-DUR_CONFORMANCE_AMD_ARCH=gfx1030' || '' }}
8292
${{ matrix.adapter.name == 'HIP' && '-DUR_HIP_PLATFORM=AMD' || '' }}
8393
8494
- name: Build
8595
# This is so that device binaries can find the sycl runtime library
8696
run: cmake --build ${{github.workspace}}/build -j $(nproc)
8797

98+
- name: Install
99+
# This is to check that install command does not fail
100+
run: cmake --install ${{github.workspace}}/build
101+
88102
- name: Test adapter specific
89103
working-directory: ${{github.workspace}}/build
90104
run: ctest -C ${{matrix.build_type}} --output-on-failure -L "adapter-specific" --timeout 180

.github/workflows/cmake.yml

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
compiler: [{c: gcc, cxx: g++}]
2121
libbacktrace: ['-DVAL_USE_LIBBACKTRACE_BACKTRACE=OFF']
2222
pool_tracking: ['-DUMF_ENABLE_POOL_TRACKING=ON', '-DUMF_ENABLE_POOL_TRACKING=OFF']
23-
latency_tracking: ['-DUMF_ENABLE_LATENCY_TRACKING=OFF']
23+
latency_tracking: ['-DUR_ENABLE_LATENCY_HISTOGRAM=OFF']
2424
include:
2525
- os: 'ubuntu-22.04'
2626
build_type: Release
@@ -40,7 +40,7 @@ jobs:
4040
- os: 'ubuntu-22.04'
4141
build_type: Release
4242
compiler: {c: clang, cxx: clang++}
43-
latency_tracking: '-DUMF_ENABLE_LATENCY_TRACKING=ON'
43+
latency_tracking: '-DUR_ENABLE_LATENCY_HISTOGRAM=ON'
4444
runs-on: ${{ (matrix.os == 'ubuntu-22.04' && github.repository_owner == 'oneapi-src') && 'intel-ubuntu-22.04' || matrix.os }}
4545

4646
steps:
@@ -49,7 +49,7 @@ jobs:
4949
- name: Install apt packages
5050
run: |
5151
sudo apt-get update
52-
sudo apt-get install -y doxygen ${{matrix.compiler.c}}
52+
sudo apt-get install -y ${{matrix.compiler.c}}
5353
5454
- name: Install libhwloc
5555
run: .github/scripts/install_hwloc.sh
@@ -62,9 +62,6 @@ jobs:
6262
run: |
6363
sudo apt-get install -y ${{matrix.compiler.cxx}}
6464
65-
- name: Install pip packages
66-
run: pip install -r third_party/requirements.txt
67-
6865
- name: Install libbacktrace
6966
if: matrix.libbacktrace == '-DVAL_USE_LIBBACKTRACE_BACKTRACE=ON'
7067
run: |
@@ -79,7 +76,7 @@ jobs:
7976
if: matrix.os == 'ubuntu-22.04'
8077
run: |
8178
sudo apt install libncurses5
82-
wget -O ${{github.workspace}}/dpcpp_compiler.tar.gz https://github.com/intel/llvm/releases/download/nightly-2024-01-29/sycl_linux.tar.gz
79+
wget -O ${{github.workspace}}/dpcpp_compiler.tar.gz https://github.com/intel/llvm/releases/download/nightly-2024-09-27/sycl_linux.tar.gz
8380
mkdir -p ${{github.workspace}}/dpcpp_compiler
8481
tar -xvf ${{github.workspace}}/dpcpp_compiler.tar.gz -C ${{github.workspace}}/dpcpp_compiler
8582
@@ -93,7 +90,7 @@ jobs:
9390
-DUR_ENABLE_TRACING=ON
9491
-DCMAKE_BUILD_TYPE=${{matrix.build_type}}
9592
-DUR_BUILD_TESTS=ON
96-
-DUR_FORMAT_CPP_STYLE=ON
93+
-DUR_FORMAT_CPP_STYLE=OFF
9794
-DUR_DPCXX=${{github.workspace}}/dpcpp_compiler/bin/clang++
9895
${{matrix.libbacktrace}}
9996
${{matrix.pool_tracking}}
@@ -109,18 +106,11 @@ jobs:
109106
-DUR_ENABLE_TRACING=ON
110107
-DCMAKE_BUILD_TYPE=${{matrix.build_type}}
111108
-DUR_BUILD_TESTS=ON
112-
-DUR_FORMAT_CPP_STYLE=ON
109+
-DUR_FORMAT_CPP_STYLE=OFF
113110
${{matrix.libbacktrace}}
114111
${{matrix.pool_tracking}}
115112
${{matrix.latency_tracking}}
116113
117-
- name: Generate source from spec, check for uncommitted diff
118-
if: matrix.os == 'ubuntu-22.04'
119-
run: cmake --build ${{github.workspace}}/build --target check-generated
120-
121-
- name: Verify that each source file contains a license
122-
run: cmake --build ${{github.workspace}}/build --target verify-licenses
123-
124114
- name: Build
125115
run: cmake --build ${{github.workspace}}/build -j $(nproc)
126116

@@ -155,6 +145,7 @@ jobs:
155145
adapter_name: L0
156146
runner_name: L0
157147
static_loader: ON
148+
static_adapter: ON
158149

159150
opencl:
160151
name: OpenCL
@@ -216,7 +207,8 @@ jobs:
216207
os: ['windows-2019', 'windows-2022']
217208
adapter: [
218209
{name: None, var: ''}, {name: L0, var: '-DUR_BUILD_ADAPTER_L0=ON'},
219-
{name: None, var: ''}, {name: L0_V2, var: '-DUR_BUILD_ADAPTER_L0_V2=ON'}
210+
{name: None, var: ''}, {name: L0_V2, var: '-DUR_BUILD_ADAPTER_L0_V2=ON'},
211+
{name: L0, var: '-DUR_BUILD_ADAPTER_L0=ON -DUR_STATIC_ADAPTER_L0=ON'}
220212
]
221213

222214
# TODO: building level zero loader on windows-2019 and clang-cl is currently broken
@@ -225,16 +217,25 @@ jobs:
225217
adapter: {name: L0, var: '-DUR_BUILD_ADAPTER_L0=ON'}
226218
- os: 'windows-2019'
227219
adapter: {name: L0_V2, var: '-DUR_BUILD_ADAPTER_L0_V2=ON'}
220+
- os: 'windows-2019'
221+
adapter: {name: L0, var: '-DUR_BUILD_ADAPTER_L0=ON -DUR_STATIC_ADAPTER_L0=ON'}
228222
- adapter: {name: L0, var: '-DUR_BUILD_ADAPTER_L0=ON'}
229223
compiler: {c: clang-cl, cxx: clang-cl}
230224
- adapter: {name: L0_V2, var: '-DUR_BUILD_ADAPTER_L0_V2=ON'}
231225
compiler: {c: clang-cl, cxx: clang-cl}
226+
- adapter: {name: L0, var: '-DUR_BUILD_ADAPTER_L0=ON -DUR_STATIC_ADAPTER_L0=ON'}
227+
compiler: {c: clang-cl, cxx: clang-cl}
232228

233229
build_type: [Debug, Release]
234230
compiler: [{c: cl, cxx: cl}, {c: clang-cl, cxx: clang-cl}]
235231
include:
236232
- compiler: {c: clang-cl, cxx: clang-cl}
237233
toolset: "-T ClangCL"
234+
- os: 'windows-2022'
235+
adapter: {name: L0, var: '-DUR_BUILD_ADAPTER_L0=ON -DUR_STATIC_ADAPTER_L0=ON'}
236+
build_type: 'Release'
237+
compiler: {c: cl, cxx: cl}
238+
238239
runs-on: ${{matrix.os}}
239240

240241
steps:
@@ -274,11 +275,6 @@ jobs:
274275
-DUR_FORMAT_CPP_STYLE=ON
275276
${{matrix.adapter.var}}
276277
277-
# TODO: re-enable when check-generated is fixed for windows runners see #888
278-
# - name: Generate source from spec, check for uncommitted diff
279-
# if: matrix.os == 'windows-2022'
280-
# run: cmake --build ${{github.workspace}}/build --target check-generated --config ${{matrix.build_type}}
281-
282278
- name: Build all
283279
run: cmake --build ${{github.workspace}}/build --config ${{matrix.build_type}} -j $Env:NUMBER_OF_PROCESSORS
284280

.github/workflows/e2e_core.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -169,10 +169,6 @@ jobs:
169169
-DCMAKE_CXX_COMPILER="$(which clang++)"
170170
-DLLVM_LIT="${{github.workspace}}/sycl-repo/llvm/utils/lit/lit.py"
171171
172-
- name: Set LIT_XFAIL_NOT
173-
if: inputs.xfail_not != ''
174-
run: echo "LIT_XFAIL_NOT=${{inputs.xfail_not}}" >> $GITHUB_ENV
175-
176172
- name: Set LIT_XFAIL
177173
if: inputs.xfail != ''
178174
run: echo "LIT_XFAIL=${{inputs.xfail}}" >> $GITHUB_ENV
@@ -181,6 +177,10 @@ jobs:
181177
if: inputs.filter_out != ''
182178
run: echo "LIT_FILTER_OUT=${{inputs.filter_out}}" >> $GITHUB_ENV
183179

180+
- name: Set LIT_XFAIL_NOT
181+
if: inputs.xfail_not != ''
182+
run: echo "LIT_XFAIL_NOT=${{inputs.xfail_not}}" >> $GITHUB_ENV
183+
184184
# TODO: remove once intel/llvm lit tests can properly recognize the GPU
185185
- name: Configure hardware platform feature for L0
186186
if: matrix.adapter.name == 'L0'

.github/workflows/e2e_cuda.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,4 @@ jobs:
2121
config: "--cuda"
2222
unit: "gpu"
2323
extra_lit_flags: "-sv --max-time=3600"
24+
xfail: "Regression/device_num.cpp"

.github/workflows/e2e_level_zero.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,11 @@ jobs:
2121
config: ""
2222
unit: "gpu"
2323
# Failing tests
24-
xfail: "DeviceCodeSplit/grf.cpp;ESIMD/grf.cpp;ESIMD/mask_expand_load.cpp;KernelAndProgram/target_register_alloc_mode.cpp;Matrix/SG32/get_coord_int8_matB.cpp;Matrix/get_coord_int8_matB.cpp;Matrix/joint_matrix_prefetch.cpp;Matrix/joint_matrix_rowmajorA_rowmajorB.cpp; SYCL :: ESIMD/mask_expand_load.cpp;Matrix/SPVCooperativeMatrix/joint_matrix_bf16_fill_k_cache_OOB.cpp;Matrix/SPVCooperativeMatrix/joint_matrix_out_bounds.cpp;Matrix/SPVCooperativeMatrix/joint_matrix_prefetch.cpp;Matrix/SPVCooperativeMatrix/joint_matrix_rowmajorA_rowmajorB.cpp;Matrix/element_wise_all_ops_1d.cpp;Matrix/element_wise_all_ops_1d_cont.cpp;Matrix/element_wise_all_ops_scalar.cpp;Matrix/joint_matrix_bf16_fill_k_cache_OOB.cpp;Matrix/joint_matrix_bf16_fill_k_cache_prefetch.cpp;Matrix/joint_matrix_out_bounds.cpp;Matrix/joint_matrix_unaligned_k.cpp"
24+
xfail: "InvokeSimd/Regression/call_vadd_1d_spill.cpp;InvokeSimd/Regression/ImplicitSubgroup/call_vadd_1d_spill.cpp;ESIMD/mask_expand_load.cpp;Matrix/joint_matrix_prefetch.cpp;ESIMD/mask_expand_load.cpp;Matrix/SPVCooperativeMatrix/joint_matrix_prefetch.cpp;Matrix/joint_matrix_bf16_fill_k_cache_prefetch.cpp;Matrix/SPVCooperativeMatrix/element_wise_ops.cpp;"
25+
# Unexpectedly Passed Tests
26+
xfail_not: ""
2527
# Flaky tests
26-
filter_out: "ESIMD/named_barriers/loop_extended.cpp;ESIMD/local_accessor_copy_to_from.cpp;"
28+
filter_out: "Basic/accessor/accessor.cpp|DeviceArchitecture/device_architecture_comparison_on_device_aot.cpp|Graph/Explicit/interop-level-zero-launch-kernel.cpp|Graph/RecordReplay/interop-level-zero-launch-kernel.cpp|syclcompat/launch/launch_policy_lmem.cpp"
2729
# These runners by default spawn upwards of 260 workers.
2830
# We also add a time out just in case some test hangs
2931
extra_lit_flags: "--param gpu-intel-pvc=True --param gpu-intel-pvc-1T=True -sv -j 100 --max-time=3600"

.github/workflows/e2e_opencl.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,5 @@ jobs:
2020
prefix: ""
2121
config: ""
2222
unit: "cpu"
23-
xfail: "AOT/double.cpp;AOT/half.cpp;AOT/reqd-sg-size.cpp;Basic/built-ins/marray_geometric.cpp;KernelCompiler/kernel_compiler_spirv.cpp;KernelCompiler/opencl_queries.cpp"
23+
xfail: "AOT/double.cpp;AOT/half.cpp;AOT/reqd-sg-size.cpp;Basic/built-ins/marray_geometric.cpp;KernelCompiler/kernel_compiler_spirv.cpp;KernelCompiler/opencl_queries.cpp;NonUniformGroups/ballot_group.cpp;NonUniformGroups/ballot_group_algorithms.cpp;NonUniformGroups/fixed_size_group_algorithms.cpp;NonUniformGroups/opportunistic_group.cpp;NonUniformGroups/opportunistic_group_algorithms.cpp;NonUniformGroups/tangle_group.cpp;NonUniformGroups/tangle_group_algorithms.cpp"
2424
extra_lit_flags: "-sv --max-time=3600"

.github/workflows/multi_device.yml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,11 @@ jobs:
3030
- name: Install pip packages
3131
run: pip install -r third_party/requirements.txt
3232

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
33+
- name: Download DPC++
34+
run: |
35+
wget -O ${{github.workspace}}/dpcpp_compiler.tar.gz https://github.com/intel/llvm/releases/download/nightly-2024-01-29/sycl_linux.tar.gz
36+
mkdir dpcpp_compiler
37+
tar -xvf ${{github.workspace}}/dpcpp_compiler.tar.gz -C dpcpp_compiler
3938
4039
- name: Configure CMake
4140
shell: bash -el {0}
@@ -49,6 +48,8 @@ jobs:
4948
-DUR_BUILD_TESTS=ON
5049
-DUR_BUILD_ADAPTER_${{matrix.adapter.name}}=ON
5150
-DUR_TEST_DEVICES_COUNT=2
51+
-DUR_DPCXX=${{github.workspace}}/dpcpp_compiler/bin/clang++
52+
-DUR_SYCL_LIBRARY_DIR=${{github.workspace}}/dpcpp_compiler/lib
5253
5354
- name: Build
5455
run: cmake --build ${{github.workspace}}/build -j $(nproc)
@@ -60,4 +61,4 @@ jobs:
6061

6162
- name: Test adapters
6263
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
64+
run: env UR_CTS_ADAPTER_PLATFORM="${{matrix.adapter.platform}}" ctest -C ${{matrix.build_type}} --output-on-failure -L "conformance" -E "enqueue|kernel|program|integration|exp_command_buffer|exp_enqueue_native|exp_launch_properties|exp_usm_p2p" --timeout 180

.github/workflows/source-checks.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: Source Checks
2+
3+
on: [push, pull_request]
4+
5+
concurrency:
6+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
7+
cancel-in-progress: true
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
source-checks:
14+
name: Source Checks
15+
# TODO: Make this run on Windows (#888)
16+
runs-on: 'ubuntu-22.04'
17+
18+
steps:
19+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
20+
21+
- name: Install apt packages
22+
run: |
23+
sudo apt-get update
24+
sudo apt-get install -y doxygen
25+
26+
- name: Setup PATH
27+
run: echo "$HOME/.local/bin" >> $GITHUB_PATH
28+
29+
- name: Install pip packages
30+
run: pip install -r third_party/requirements.txt
31+
32+
# Required for CMake
33+
- name: Install libhwloc
34+
run: .github/scripts/install_hwloc.sh
35+
36+
- name: Configure CMake
37+
run: >
38+
cmake
39+
-B${{github.workspace}}/build
40+
-DUR_ENABLE_TRACING=OFF
41+
-DCMAKE_BUILD_TYPE=Debug
42+
-DUR_BUILD_TESTS=OFF
43+
-DUR_FORMAT_CPP_STYLE=ON
44+
45+
- name: Verify that each source file contains a license
46+
run: cmake --build ${{github.workspace}}/build --target verify-licenses
47+
48+
- name: Generate source from spec, check for uncommitted diff
49+
run: cmake --build ${{github.workspace}}/build --target check-generated

0 commit comments

Comments
 (0)