Skip to content

Commit ce16c78

Browse files
committed
Merge remote-tracking branch 'origin/sycl' into llvmspirv_pulldown
Conflicts: sycl/test/check_device_code/group_load.cpp sycl/test/check_device_code/group_store.cpp
2 parents 515a700 + 092cd2d commit ce16c78

File tree

183 files changed

+4358
-3260
lines changed

Some content is hidden

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

183 files changed

+4358
-3260
lines changed

.github/CODEOWNERS

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,11 +170,16 @@ sycl/test-e2e/LLVMIntrinsicLowering/ @intel/dpcpp-spirv-reviewers
170170
# Sanitizer
171171
clang/lib/Driver/SanitizerArgs.cpp @intel/dpcpp-sanitizers-review
172172
libdevice/include/asan_rtl.hpp @intel/dpcpp-sanitizers-review
173+
libdevice/include/msan_rtl.hpp @intel/dpcpp-sanitizers-review
173174
libdevice/include/sanitizer_defs.hpp @intel/dpcpp-sanitizers-review
174175
libdevice/sanitizer/ @intel/dpcpp-sanitizers-review
175176
llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h @intel/dpcpp-sanitizers-review
176177
llvm/include/llvm/Transforms/Instrumentation/AddressSanitizerCommon.h @intel/dpcpp-sanitizers-review
177178
llvm/include/llvm/Transforms/Instrumentation/AddressSanitizerOptions.h @intel/dpcpp-sanitizers-review
179+
llvm/include/llvm/Transforms/Instrumentation/MemorySanitizer.h @intel/dpcpp-sanitizers-review
178180
llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp @intel/dpcpp-sanitizers-review
181+
llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp @intel/dpcpp-sanitizers-review
179182
llvm/test/Instrumentation/AddressSanitizer/ @intel/dpcpp-sanitizers-review
183+
llvm/test/Instrumentation/MemorySanitizer/ @intel/dpcpp-sanitizers-review
180184
sycl/test-e2e/AddressSanitizer/ @intel/dpcpp-sanitizers-review
185+
sycl/test-e2e/MemorySanitizer/ @intel/dpcpp-sanitizers-review

.github/workflows/sycl-containers-igc-dev.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
imagefile: ubuntu2404_intel_drivers
3434
tag: devigc
3535
build_args: |
36-
"use_latest=false"
36+
"use_unstable_driver=false"
3737
"use_igc_dev=true"
3838
steps:
3939
- name: Checkout

.github/workflows/sycl-containers.yaml

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,29 +43,37 @@ jobs:
4343
file: ubuntu2404_base
4444
tag: latest
4545
build_args: ""
46-
- name: Build Ubuntu Docker image
46+
- name: Build Ubuntu 22.04 Docker image
4747
file: ubuntu2204_build
4848
tag: latest
4949
build_args: ""
50+
- name: Build Ubuntu 24.04 Docker image
51+
file: ubuntu2404_build
52+
tag: latest
53+
build_args: ""
5054
- name: Build Ubuntu 24.04 oneAPI Docker image
5155
file: ubuntu2404_build_oneapi
5256
tag: latest
5357
build_args: ""
5458
- name: Intel Drivers Ubuntu 22.04 Docker image
5559
file: ubuntu2204_intel_drivers
5660
tag: latest
57-
build_args: "use_latest=false"
61+
build_args: "use_unstable_driver=false"
62+
- name: Intel Drivers Ubuntu 24.04 Docker image
63+
file: ubuntu2404_intel_drivers
64+
tag: latest
65+
build_args: "use_unstable_driver=false"
5866
- name: Intel Drivers (unstable) Ubuntu 24.04 Docker image
5967
file: ubuntu2404_intel_drivers
6068
tag: unstable
61-
build_args: "use_latest=true"
69+
build_args: "use_unstable_driver=true"
6270
- name: Build + Intel Drivers Ubuntu 22.04 Docker image
6371
file: ubuntu2204_intel_drivers
6472
tag: alldeps
6573
build_args: |
6674
base_image=ghcr.io/intel/llvm/ubuntu2204_build
6775
base_tag=latest
68-
use_latest=false
76+
use_unstable_driver=false
6977
steps:
7078
- name: Checkout
7179
uses: actions/checkout@v4
@@ -78,7 +86,6 @@ jobs:
7886
file: ${{ matrix.file }}
7987
username: ${{ github.repository_owner }}
8088
password: ${{ secrets.GITHUB_TOKEN }}
81-
sycl_ci_passwd: ${{ secrets.DOCKER_SUDO_PASSWORD }}
8289
tags: |
8390
ghcr.io/${{ github.repository }}/${{ matrix.file }}:${{ matrix.tag }}-${{ github.sha }}
8491
ghcr.io/${{ github.repository }}/${{ matrix.file }}:${{ matrix.tag }}

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

Lines changed: 50 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,53 @@ jobs:
7272
else
7373
echo 'arc_tests="Matrix/"' >> "$GITHUB_OUTPUT"
7474
fi
75+
76+
build_e2e_tests:
77+
needs: [build]
78+
if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
79+
uses: ./.github/workflows/sycl-linux-run-tests.yml
80+
with:
81+
name: Build e2e tests
82+
runner: '["Linux", "build"]'
83+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
84+
image_options: -u 1001
85+
ref: ${{ github.sha }}
86+
merge_ref: ''
87+
sycl_toolchain_artifact: sycl_linux_default
88+
sycl_toolchain_archive: ${{ needs.build.outputs.artifact_archive_name }}
89+
sycl_toolchain_decompress_command: ${{ needs.build.outputs.artifact_decompress_command }}
90+
e2e_testing_mode: 'build-only'
91+
run_prebuilt_e2e_tests:
92+
needs: [build, build_e2e_tests]
93+
if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
94+
strategy:
95+
fail-fast: false
96+
matrix:
97+
include:
98+
- name: Intel
99+
runner: '["Linux", "gen12"]'
100+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
101+
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
102+
target_devices: level_zero:gpu;opencl:gpu;opencl:cpu
103+
reset_intel_gpu: true
104+
extra_lit_opts: --param gpu-intel-gen12=True
105+
uses: ./.github/workflows/sycl-linux-run-tests.yml
106+
with:
107+
name: ${{ matrix.name }}
108+
runner: ${{ matrix.runner }}
109+
image: ${{ matrix.image }}
110+
image_options: ${{ matrix.image_options }}
111+
target_devices: ${{ matrix.target_devices }}
112+
extra_lit_opts: --param fallback-to-build-if-requires-build-and-run=True ${{ matrix.extra_lit_opts }}
113+
reset_intel_gpu: ${{ matrix.reset_intel_gpu }}
114+
ref: ${{ github.sha }}
115+
merge_ref: ''
116+
sycl_toolchain_artifact: sycl_linux_default
117+
sycl_toolchain_archive: ${{ needs.build.outputs.artifact_archive_name }}
118+
sycl_toolchain_decompress_command: ${{ needs.build.outputs.artifact_decompress_command }}
119+
e2e_binaries_artifact: sycl_e2e_bin_default
120+
e2e_testing_mode: 'run-only'
121+
75122
test:
76123
needs: [build, detect_changes, determine_arc_tests]
77124
if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
@@ -90,16 +137,9 @@ jobs:
90137
image_options: -u 1001 --device=/dev/dri --device=/dev/kfd
91138
target_devices: ext_oneapi_hip:gpu
92139
reset_intel_gpu: false
93-
- name: Intel
94-
runner: '["Linux", "gen12"]'
95-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
96-
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
97-
target_devices: level_zero:gpu;opencl:gpu;opencl:cpu
98-
reset_intel_gpu: true
99-
extra_lit_opts: --param gpu-intel-gen12=True
100140
- name: E2E tests on Intel Arc A-Series Graphics
101141
runner: '["Linux", "arc"]'
102-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
142+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
103143
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
104144
target_devices: level_zero:gpu;opencl:gpu
105145
reset_intel_gpu: true
@@ -161,12 +201,12 @@ jobs:
161201
include:
162202
- name: Intel GEN12 Graphics system
163203
runner: '["Linux", "gen12"]'
164-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
204+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
165205
image_extra_opts: --device=/dev/dri
166206
reset_intel_gpu: true
167207
- name: Intel Arc A-Series Graphics system
168208
runner: '["Linux", "arc"]'
169-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
209+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
170210
image_extra_opts: --device=/dev/dri
171211
reset_intel_gpu: true
172212
- name: AMD system

.github/workflows/sycl-linux-run-tests.yml

Lines changed: 57 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ on:
1919

2020
target_devices:
2121
type: string
22-
required: True
22+
required: False
2323
extra_cmake_args:
2424
type: string
2525
required: False
@@ -59,6 +59,30 @@ on:
5959
default: ''
6060
required: False
6161

62+
e2e_binaries_artifact:
63+
description: |
64+
By setting this the E2E binaries folder will not be created, rather it
65+
will be downloaded and extracted from the specified artifact. When
66+
running tests in `run-only` mode this must be provided.
67+
type: string
68+
default: ''
69+
required: False
70+
e2e_testing_mode:
71+
description: |
72+
Testing mode to run E2E tests in, can be either `full`, `build-only`
73+
or `run-only`. In `build-only` mode an artifact of the E2E binaries
74+
will be uploaded.
75+
type: string
76+
default: 'full'
77+
artifact_suffix:
78+
description: 'Suffix for E2E binaries artifact that is output when in `build-only`.'
79+
type: string
80+
default: 'default'
81+
retention-days:
82+
description: 'E2E binaries artifact retention period.'
83+
type: string
84+
default: 1
85+
6286
reset_intel_gpu:
6387
type: string
6488
required: False
@@ -86,7 +110,9 @@ on:
86110
- '["Linux", "gen12"]'
87111
- '["amdgpu"]'
88112
- '["Linux", "arc"]'
113+
- '["Linux", "pvc"]'
89114
- '["cts-cpu"]'
115+
- '["Linux", "build"]'
90116
image:
91117
description: |
92118
Use option ending with ":build" for AMDGPU, ":latest" for the rest.
@@ -142,6 +168,11 @@ on:
142168
options:
143169
- false
144170
- true
171+
e2e_testing_mode:
172+
type: choice
173+
options:
174+
- "full"
175+
- "build-only"
145176

146177
permissions:
147178
contents: read
@@ -270,8 +301,19 @@ jobs:
270301
cat /usr/local/lib/igc/IGCTAG.txt
271302
fi
272303
304+
- name: Download E2E Binaries
305+
if: inputs.e2e_binaries_artifact != ''
306+
uses: actions/download-artifact@v4
307+
with:
308+
name: ${{ inputs.e2e_binaries_artifact }}
309+
- name: Extract E2E Binaries
310+
if: inputs.e2e_binaries_artifact != ''
311+
run: |
312+
mkdir build-e2e
313+
tar -I 'zstd' -xf e2e_binaries.tar.zst -C build-e2e
314+
273315
- name: Deduce E2E CMake options
274-
if: inputs.tests_selector == 'e2e'
316+
if: inputs.tests_selector == 'e2e' && inputs.e2e_binaries_artifact == ''
275317
id: cmake_opts
276318
shell: bash
277319
env:
@@ -281,14 +323,14 @@ jobs:
281323
echo "opts=$CMAKE_EXTRA_ARGS" >> $GITHUB_OUTPUT
282324
fi
283325
- name: Configure E2E tests
284-
if: inputs.tests_selector == 'e2e'
326+
if: inputs.tests_selector == 'e2e' && inputs.e2e_binaries_artifact == ''
285327
run: |
286-
cmake -GNinja -B./build-e2e -S./llvm/sycl/test-e2e -DSYCL_TEST_E2E_TARGETS="${{ inputs.target_devices }}" -DCMAKE_CXX_COMPILER="$(which clang++)" -DLLVM_LIT="$PWD/llvm/llvm/utils/lit/lit.py" ${{ steps.cmake_opts.outputs.opts }}
328+
cmake -GNinja -B./build-e2e -S./llvm/sycl/test-e2e -DCMAKE_CXX_COMPILER="$(which clang++)" -DLLVM_LIT="$PWD/llvm/llvm/utils/lit/lit.py" ${{ steps.cmake_opts.outputs.opts }}
287329
- name: SYCL End-to-end tests
288330
shell: bash {0}
289331
if: inputs.tests_selector == 'e2e'
290332
env:
291-
LIT_OPTS: -v --no-progress-bar --show-unsupported --show-pass --show-xfail --max-time 3600 --time-tests ${{ inputs.extra_lit_opts }}
333+
LIT_OPTS: -v --no-progress-bar --show-unsupported --show-pass --show-xfail --max-time 3600 --time-tests --param test-mode=${{ inputs.e2e_testing_mode }} --param sycl_devices=${{ inputs.target_devices }} ${{ inputs.extra_lit_opts }}
292334
run: |
293335
ninja -C build-e2e check-sycl-e2e > e2e.log 2>&1
294336
exit_code=$?
@@ -375,3 +417,13 @@ jobs:
375417
grep 'exit code: [^0]' -r logs >> $GITHUB_STEP_SUMMARY
376418
377419
exit $ret
420+
- name: Pack E2E binaries
421+
if: ${{ always() && !cancelled() && inputs.e2e_testing_mode == 'build-only'}}
422+
run: tar -I 'zstd -9' -cf e2e_binaries.tar.zst -C ./build-e2e .
423+
- name: Upload E2E binaries
424+
if: ${{ always() && !cancelled() && inputs.e2e_testing_mode == 'build-only'}}
425+
uses: actions/upload-artifact@v4
426+
with:
427+
name: sycl_e2e_bin_${{ inputs.artifact_suffix }}
428+
path: e2e_binaries.tar.zst
429+
retention-days: ${{ inputs.retention-days }}

.github/workflows/sycl-nightly.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ jobs:
5252

5353
- name: Intel L0 GPU
5454
runner: '["Linux", "gen12"]'
55-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
55+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
5656
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
5757
target_devices: level_zero:gpu
5858
reset_intel_gpu: true
@@ -61,7 +61,7 @@ jobs:
6161

6262
- name: Intel OCL GPU
6363
runner: '["Linux", "gen12"]'
64-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
64+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
6565
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
6666
target_devices: opencl:gpu
6767
reset_intel_gpu: true
@@ -70,35 +70,35 @@ jobs:
7070

7171
- name: OCL CPU (AMD)
7272
runner: '["Linux", "amdgpu"]'
73-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
73+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
7474
image_options: -u 1001
7575
target_devices: opencl:cpu
7676
tests_selector: e2e
7777

7878
- name: OCL CPU (Intel/GEN12)
7979
runner: '["Linux", "gen12"]'
80-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
80+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
8181
image_options: -u 1001 --privileged --cap-add SYS_ADMIN
8282
target_devices: opencl:cpu
8383
tests_selector: e2e
8484

8585
- name: OCL CPU (Intel/Arc)
8686
runner: '["Linux", "arc"]'
87-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
87+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
8888
image_options: -u 1001
8989
target_devices: opencl:cpu
9090
tests_selector: e2e
9191

9292
- name: SYCL-CTS on OCL CPU
9393
runner: '["Linux", "gen12"]'
94-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
94+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
9595
image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN
9696
target_devices: opencl:cpu
9797
tests_selector: cts
9898

9999
- name: SYCL-CTS on L0 gen12
100100
runner: '["Linux", "gen12"]'
101-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
101+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
102102
image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN
103103
target_devices: level_zero:gpu
104104
tests_selector: cts
@@ -229,7 +229,7 @@ jobs:
229229
username: ${{ github.repository_owner }}
230230
password: ${{ secrets.GITHUB_TOKEN }}
231231
build-args: |
232-
base_image=ghcr.io/intel/llvm/ubuntu2204_intel_drivers
232+
base_image=ghcr.io/intel/llvm/ubuntu2404_intel_drivers
233233
base_tag=latest
234234
tags: |
235235
ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:${{ github.sha }}

.github/workflows/sycl-post-commit.yml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,21 @@ jobs:
6060
image_options: -u 1001 --device=/dev/dri --device=/dev/kfd
6161
target_devices: ext_oneapi_hip:gpu
6262
reset_intel_gpu: false
63+
- name: E2E tests on Intel Ponte Vecchio GPU
64+
runner: '["Linux", "pvc"]'
65+
env: '{"LIT_FILTER_OUT":"ESIMD/unified_memory_api/"}'
66+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
67+
image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN
68+
target_devices: ext_oneapi_level_zero:gpu;opencl:gpu
69+
extra_lit_opts: -j 50
70+
- name: E2E tests with dev igc on Intel Ponte Vecchio GPU
71+
runner: '["Linux", "pvc"]'
72+
env: '{"LIT_FILTER_OUT":"ESIMD/unified_memory_api/"}'
73+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
74+
image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN
75+
target_devices: ext_oneapi_level_zero:gpu;opencl:gpu
76+
use_igc_dev: true
77+
extra_lit_opts: -j 50
6378
# Performance tests below. Specifics:
6479
# - only run performance tests (use LIT_FILTER env)
6580
# - ask llvm-lit to show all the output, even for PASS (-a)
@@ -82,7 +97,7 @@ jobs:
8297
with:
8398
name: ${{ matrix.name }}
8499
runner: ${{ matrix. runner }}
85-
image: ${{ matrix.image || 'ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest' }}
100+
image: ${{ matrix.image || 'ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest' }}
86101
image_options: ${{ matrix.image_options || '-u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN' }}
87102
target_devices: ${{ matrix.target_devices || 'level_zero:gpu' }}
88103
reset_intel_gpu: ${{ matrix.reset_intel_gpu }}

0 commit comments

Comments
 (0)