Skip to content

Commit 8f10be9

Browse files
committed
Merge branch 'sycl' of https://github.com/lbushi25/llvm into sycl
2 parents b83903a + 5c76d4c commit 8f10be9

File tree

1,349 files changed

+283864
-5664
lines changed

Some content is hidden

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

1,349 files changed

+283864
-5664
lines changed

.github/workflows/coverity.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ permissions: read-all
88

99
jobs:
1010
coverity:
11+
if: github.repository == 'intel/llvm'
1112
name: Coverity
1213
runs-on: [Linux, build]
1314
container:
@@ -52,7 +53,7 @@ jobs:
5253
run: $GITHUB_WORKSPACE/cov-analysis-linux64-*/bin/cov-build --dir cov-int cmake --build $GITHUB_WORKSPACE/build
5354

5455
- name: Compress results
55-
run: tar -czf intel_llvm.tgz cov-int
56+
run: tar -I pigz -cf intel_llvm.tgz cov-int
5657

5758
- name: Submit build
5859
run: |

.github/workflows/sycl-aws.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ on:
2121

2222
jobs:
2323
aws:
24-
runs-on: ubuntu-20.04
24+
runs-on: ubuntu-latest
2525
environment: aws
2626
steps:
2727
- uses: actions/checkout@v4
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Aggregate compute-benchmark averages from historical data
2+
3+
# The benchmarking workflow in sycl-linux-run-tests.yml passes or fails based on
4+
# how the benchmark results compare to a historical average: This historical
5+
# average is calculated in this workflow, which aggregates historical data and
6+
# produces measures of central tendency (median in this case) used for this
7+
# purpose.
8+
9+
on:
10+
workflow_dispatch:
11+
inputs:
12+
lookback_days:
13+
description: |
14+
Number of days from today to look back in historical results for:
15+
This sets the age limit of data used in average calculation: Any
16+
benchmark results created before `lookback_days` from today is
17+
excluded from being aggregated in the historical average.
18+
type: number
19+
required: true
20+
workflow_call:
21+
inputs:
22+
lookback_days:
23+
type: number
24+
required: true
25+
secrets:
26+
LLVM_SYCL_BENCHMARK_TOKEN:
27+
description: |
28+
Github token used by the faceless account to push newly calculated
29+
medians.
30+
required: true
31+
32+
33+
permissions:
34+
contents: read
35+
36+
jobs:
37+
aggregate:
38+
name: Aggregate average (median) value for all metrics
39+
runs-on: ubuntu-latest
40+
steps:
41+
- uses: actions/checkout@v4
42+
with:
43+
sparse-checkout: |
44+
devops/scripts/benchmarking
45+
devops/benchmarking
46+
devops/actions/benchmarking
47+
- name: Aggregate benchmark results and produce historical average
48+
uses: ./devops/actions/benchmarking/aggregate
49+
with:
50+
lookback_days: ${{ inputs.lookback_days }}
51+
env:
52+
GITHUB_TOKEN: ${{ secrets.LLVM_SYCL_BENCHMARK_TOKEN }}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
build_and_push_images:
2323
if: github.repository == 'intel/llvm'
2424
name: Build and Push IGC Dev Docker Images
25-
runs-on: ubuntu-22.04
25+
runs-on: ubuntu-latest
2626
permissions:
2727
packages: write
2828
strategy:

.github/workflows/sycl-containers.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
build_and_push_images:
3030
if: github.repository == 'intel/llvm'
3131
name: Build and Push Docker Images
32-
runs-on: ubuntu-22.04
32+
runs-on: ubuntu-latest
3333
permissions:
3434
packages: write
3535
strategy:

.github/workflows/sycl-detect-changes.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ jobs:
7272
- 'sycl/include/sycl/ext/oneapi/experimental/invoke_simd.hpp'
7373
- 'sycl/include/sycl/ext/oneapi/experimental/detail/invoke_simd_types.hpp'
7474
- 'sycl/test-e2e/(ESIMD|InvokeSimd)/**'
75+
ur:
76+
- 'unified-runtime/**'
7577
7678
- name: Set output
7779
id: result
@@ -84,7 +86,7 @@ jobs:
8486
return '${{ steps.changes.outputs.changes }}';
8587
}
8688
// Treat everything as changed for huge PRs.
87-
return ["llvm", "llvm_spirv", "clang", "sycl_jit", "xptifw", "libclc", "sycl", "ci", "esimd"];
89+
return ["llvm", "llvm_spirv", "clang", "sycl_jit", "xptifw", "libclc", "sycl", "ci", "esimd", "ur"];
8890
8991
- run: echo '${{ steps.result.outputs.result }}'
9092

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ jobs:
279279
target_devices: all
280280
binaries_artifact: ${{ inputs.e2e_binaries_artifact }}
281281
cxx_compiler: $GITHUB_WORKSPACE/toolchain/bin/clang++
282-
extra_lit_opts: --param sycl_build_targets="spir;nvidia"
282+
extra_lit_opts: --param sycl_build_targets="spir;nvidia;amd"
283283

284284
- name: Remove E2E tests before spirv-backend run
285285
if: ${{ inputs.e2e_binaries_artifact && always() && !cancelled() && steps.build.conclusion == 'success' }}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jobs:
4545
})
4646
4747
aws-start:
48-
runs-on: ubuntu-20.04
48+
runs-on: ubuntu-latest
4949
environment: aws
5050
steps:
5151
- uses: actions/checkout@v4
@@ -106,7 +106,7 @@ jobs:
106106
aws-stop:
107107
needs: [aws-start, e2e-cuda]
108108
if: always()
109-
runs-on: ubuntu-20.04
109+
runs-on: ubuntu-latest
110110
environment: aws
111111
steps:
112112
- uses: actions/checkout@v4

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

Lines changed: 21 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -51,30 +51,8 @@ jobs:
5151
changes: ${{ needs.detect_changes.outputs.filters }}
5252
e2e_binaries_artifact: sycl_e2e_bin_default
5353

54-
determine_arc_tests:
55-
name: Decide which Arc tests to run
56-
needs: [build, detect_changes]
57-
if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
58-
runs-on: [Linux, aux-tasks]
59-
timeout-minutes: 3
60-
outputs:
61-
arc_tests: ${{ steps.arc_tests.outputs.arc_tests }}
62-
steps:
63-
- name: Determine Arc tests
64-
id: arc_tests
65-
run: |
66-
if [ "${{ contains(needs.detect_changes.outputs.filters, 'devigccfg') }}" == "true" ]; then
67-
echo 'arc_tests="(ESIMD|InvokeSimd|Matrix)/"' >> "$GITHUB_OUTPUT"
68-
elif [ "${{ contains(needs.detect_changes.outputs.filters, 'drivers') }}" == "true" ]; then
69-
echo 'arc_tests=""' >> "$GITHUB_OUTPUT"
70-
elif [ "${{ contains(needs.detect_changes.outputs.filters, 'esimd') }}" == "true" ]; then
71-
echo 'arc_tests="(ESIMD|InvokeSimd|Matrix)/"' >> "$GITHUB_OUTPUT"
72-
else
73-
echo 'arc_tests="Matrix/"' >> "$GITHUB_OUTPUT"
74-
fi
75-
7654
run_prebuilt_e2e_tests:
77-
needs: [build, detect_changes, determine_arc_tests]
55+
needs: [build, detect_changes]
7856
if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
7957
strategy:
8058
fail-fast: false
@@ -90,18 +68,37 @@ jobs:
9068
runner: '["Linux", "cuda"]'
9169
image_options: -u 1001 --gpus all --cap-add SYS_ADMIN
9270
target_devices: cuda:gpu
71+
- name: AMD/HIP
72+
runner: '["Linux", "amdgpu"]'
73+
image_options: -u 1001 --device=/dev/dri --device=/dev/kfd
74+
target_devices: hip:gpu
75+
reset_intel_gpu: false
9376
- name: Intel Arc A-Series Graphics
9477
runner: '["Linux", "arc"]'
9578
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
9679
target_devices: level_zero:gpu;opencl:gpu
9780
reset_intel_gpu: true
9881
extra_lit_opts: --param matrix-xmx8=True
99-
env: '{"LIT_FILTER":${{ needs.determine_arc_tests.outputs.arc_tests }} }'
82+
- name: E2E tests with dev igc on Intel Arc A-Series Graphics
83+
runner: '["Linux", "arc"]'
84+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
85+
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
86+
target_devices: level_zero:gpu;opencl:gpu
87+
reset_intel_gpu: true
88+
extra_lit_opts: --param matrix-xmx8=True
89+
use_igc_dev: true
90+
- name: E2E tests on Intel Ponte Vecchio GPU
91+
runner: '["Linux", "pvc"]'
92+
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
93+
target_devices: level_zero:gpu;opencl:gpu
94+
reset_intel_gpu: true
95+
extra_lit_opts: -j 50
10096
- name: Dev IGC on Intel Ponte Vecchio GPU
10197
runner: '["Linux", "pvc"]'
10298
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
10399
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
104100
target_devices: level_zero:gpu;opencl:gpu
101+
reset_intel_gpu: true
105102
use_igc_dev: true
106103
extra_lit_opts: -j 50
107104
- name: Intel Battlemage Graphics
@@ -140,65 +137,6 @@ jobs:
140137
# Run only if the PR does not have the 'ci-no-devigc' label.
141138
skip_run: ${{matrix.use_igc_dev && contains(github.event.pull_request.labels.*.name, 'ci-no-devigc') || 'false'}}
142139

143-
test:
144-
needs: [build, detect_changes, determine_arc_tests]
145-
if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
146-
strategy:
147-
fail-fast: false
148-
matrix:
149-
include:
150-
- name: AMD/HIP
151-
runner: '["Linux", "amdgpu"]'
152-
image_options: -u 1001 --device=/dev/dri --device=/dev/kfd
153-
target_devices: hip:gpu
154-
reset_intel_gpu: false
155-
- name: E2E tests with dev igc on Intel Arc A-Series Graphics
156-
runner: '["Linux", "arc"]'
157-
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
158-
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
159-
target_devices: level_zero:gpu;opencl:gpu
160-
reset_intel_gpu: true
161-
extra_lit_opts: --param matrix-xmx8=True
162-
env: '{"LIT_FILTER":${{ needs.determine_arc_tests.outputs.arc_tests }} }'
163-
use_igc_dev: true
164-
- name: E2E tests on Intel Ponte Vecchio GPU
165-
runner: '["Linux", "pvc"]'
166-
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
167-
target_devices: level_zero:gpu;opencl:gpu
168-
extra_lit_opts: -j 50
169-
170-
uses: ./.github/workflows/sycl-linux-run-tests.yml
171-
with:
172-
name: ${{ matrix.name }}
173-
runner: ${{ matrix. runner }}
174-
image: ${{ matrix.image }}
175-
image_options: ${{ matrix.image_options }}
176-
target_devices: ${{ matrix.target_devices }}
177-
reset_intel_gpu: ${{ matrix.reset_intel_gpu }}
178-
extra_lit_opts: ${{ matrix.extra_lit_opts }}
179-
env: ${{ matrix.env || '{}' }}
180-
181-
# Do not install drivers on AMD and CUDA runners.
182-
install_igc_driver: >-
183-
${{ !contains(matrix.target_devices, 'cuda') &&
184-
!contains(matrix.target_devices, 'hip') &&
185-
contains(needs.detect_changes.outputs.filters, 'drivers') }}
186-
install_dev_igc_driver: >-
187-
${{ !contains(matrix.target_devices, 'cuda') &&
188-
!contains(matrix.target_devices, 'hip') &&
189-
matrix.use_igc_dev &&
190-
(contains(needs.detect_changes.outputs.filters, 'devigccfg') || contains(needs.detect_changes.outputs.filters, 'drivers')) ||
191-
'false' }}
192-
# Run only if the PR does not have the 'ci-no-devigc' label.
193-
skip_run: ${{matrix.use_igc_dev && contains(github.event.pull_request.labels.*.name, 'ci-no-devigc') || 'false'}}
194-
195-
ref: ${{ github.sha }}
196-
197-
sycl_toolchain_artifact: sycl_linux_default
198-
sycl_toolchain_archive: ${{ needs.build.outputs.artifact_archive_name }}
199-
sycl_toolchain_decompress_command: ${{ needs.build.outputs.artifact_decompress_command }}
200-
201-
202140
test-perf:
203141
needs: [build, detect_changes]
204142
if: |

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

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ on:
2525
required: False
2626
tests_selector:
2727
description: |
28-
Two possible options: "e2e" and "cts".
28+
Three possible options: "e2e", "cts", and "compute-benchmarks".
2929
type: string
3030
default: "e2e"
3131

@@ -38,6 +38,17 @@ on:
3838
ref:
3939
type: string
4040
required: True
41+
description: |
42+
Commit SHA or branch to checkout the intel/llvm repo.
43+
devops_ref:
44+
type: string
45+
required: False
46+
description: |
47+
Commit SHA or branch to checkout the devops directory.
48+
tests_ref:
49+
type: string
50+
required: False
51+
description: Commit SHA or branch to checkout e2e/cts tests.
4152

4253
sycl_toolchain_artifact:
4354
type: string
@@ -142,6 +153,7 @@ on:
142153
options:
143154
- e2e
144155
- cts
156+
- compute-benchmarks
145157

146158
env:
147159
description: |
@@ -194,10 +206,16 @@ jobs:
194206
if: inputs.reset_intel_gpu == 'true'
195207
run: |
196208
sudo mount -t debugfs none /sys/kernel/debug
197-
sudo bash -c 'echo 1 > /sys/kernel/debug/dri/0/i915_wedged'
209+
base_dir="/sys/kernel/debug/dri"
210+
211+
for dir in "$base_dir"/*; do
212+
if [ -f "$dir/i915_wedged" ]; then
213+
sudo bash -c 'echo 1 > $0/i915_wedged' $dir
214+
fi
215+
done
198216
- uses: actions/checkout@v4
199217
with:
200-
ref: ${{ inputs.ref }}
218+
ref: ${{ inputs.devops_ref || inputs.ref }}
201219
sparse-checkout: |
202220
devops
203221
- name: Register cleanup after job is finished
@@ -287,7 +305,7 @@ jobs:
287305
if: inputs.tests_selector == 'e2e'
288306
uses: ./devops/actions/run-tests/e2e
289307
with:
290-
ref: ${{ inputs.ref || github.sha }}
308+
ref: ${{ inputs.tests_ref || inputs.ref || github.sha }}
291309
binaries_artifact: ${{ inputs.e2e_binaries_artifact }}
292310
testing_mode: ${{ inputs.e2e_testing_mode }}
293311
extra_cmake_args: ${{ inputs.extra_cmake_args }}
@@ -299,8 +317,18 @@ jobs:
299317
if: inputs.tests_selector == 'cts'
300318
uses: ./devops/actions/run-tests/cts
301319
with:
320+
ref: ${{ inputs.tests_ref || 'main' }}
302321
extra_cmake_args: ${{ inputs.extra_cmake_args }}
303322
cts_testing_mode: ${{ inputs.cts_testing_mode }}
304323
sycl_cts_artifact: ${{ inputs.sycl_cts_artifact }}
305324
target_devices: ${{ inputs.target_devices }}
306325
retention-days: ${{ inputs.retention-days }}
326+
327+
- name: Run compute-benchmarks on SYCL
328+
if: inputs.tests_selector == 'compute-benchmarks'
329+
uses: ./devops/actions/run-tests/benchmark
330+
with:
331+
target_devices: ${{ inputs.target_devices }}
332+
env:
333+
RUNNER_TAG: ${{ inputs.runner }}
334+
GITHUB_TOKEN: ${{ secrets.LLVM_SYCL_BENCHMARK_TOKEN }}

0 commit comments

Comments
 (0)