Skip to content

Commit e7c9d84

Browse files
committed
Merge branch 'sycl' into aaron/mergeAdapterPlatformBackend
2 parents 8268213 + 3ee420c commit e7c9d84

File tree

1,573 files changed

+284025
-8532
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,573 files changed

+284025
-8532
lines changed

.github/CODEOWNERS

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,22 @@ sycl/doc/design/spirv-extensions/ @intel/dpcpp-spirv-doc-reviewers
3535
sycl/doc/extensions/ @intel/dpcpp-specification-reviewers
3636

3737
# Unified Runtime
38+
unified-runtime/ @intel/unified-runtime-reviewers
39+
# TODO: Use specific UR Level Zero adapter team
40+
unified-runtime/*/adapters/level_zero/ @intel/unified-runtime-reviewers
41+
# TODO: Use specific UR OpenCL adapter team
42+
unified-runtime/*/adapters/opencl/ @intel/unified-runtime-reviewers
43+
unified-runtime/*/adapters/cuda/ @intel/llvm-reviewers-cuda
44+
unified-runtime/*/adapters/hip/ @intel/llvm-reviewers-cuda
45+
unified-runtime/*/adapters/native_cpu/ @intel/dpcpp-nativecpu-reviewers
46+
unified-runtime/source/adapters/**/command_buffer.* @intel/sycl-graphs-reviewers
47+
unified-runtime/scripts/core/EXP-COMMAND-BUFFER.rst @intel/sycl-graphs-reviewers
48+
unified-runtime/scripts/core/exp-command-buffer.yml @intel/sycl-graphs-reviewers
49+
unified-runtime/test/conformance/exp_command_buffer** @intel/sycl-graphs-reviewers
50+
unified-runtime/source/adapters/**/image.* @intel/bindless-images-reviewers
51+
unified-runtime/scripts/core/EXP-BINDLESS-IMAGES.rst @intel/bindless-images-reviewers
52+
unified-runtime/scripts/core/exp-bindless-images.yml @intel/bindless-images-reviewers
53+
unified-runtime/test/conformance/exp_bindless_images** @intel/bindless-images-reviewers
3854
sycl/cmake/modules/FetchUnifiedRuntime.cmake @intel/unified-runtime-reviewers
3955
sycl/cmake/modules/UnifiedRuntimeTag.cmake @intel/unified-runtime-reviewers
4056
sycl/include/sycl/detail/ur.hpp @intel/unified-runtime-reviewers

.github/workflows/coverity.yml

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
name: Coverity
2+
on:
3+
workflow_dispatch:
4+
schedule:
5+
- cron: '0 0 * * 0'
6+
7+
permissions: read-all
8+
9+
jobs:
10+
coverity:
11+
if: github.repository == 'intel/llvm'
12+
name: Coverity
13+
runs-on: [Linux, build]
14+
container:
15+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:alldeps
16+
options: -u 1001:1001
17+
18+
steps:
19+
- uses: actions/checkout@v4
20+
with:
21+
sparse-checkout: |
22+
devops/actions
23+
24+
- name: Register cleanup after job is finished
25+
uses: ./devops/actions/cleanup
26+
27+
- uses: ./devops/actions/cached_checkout
28+
with:
29+
path: src
30+
ref: ${{ github.sha }}
31+
cache_path: "/__w/repo_cache/"
32+
33+
- name: Get coverity tool
34+
run: |
35+
wget https://scan.coverity.com/download/linux64 --post-data "token=${{ secrets.COVERITY_TOKEN }}&project=intel%2Fllvm" -O coverity_tool.tgz
36+
tar -xf coverity_tool.tgz
37+
38+
- name: Configure
39+
env:
40+
CC: gcc
41+
CXX: g++
42+
CUDA_LIB_PATH: "/usr/local/cuda/lib64/stubs"
43+
run: |
44+
mkdir -p $GITHUB_WORKSPACE/build
45+
cd $GITHUB_WORKSPACE/build
46+
python3 $GITHUB_WORKSPACE/src/buildbot/configure.py -w $GITHUB_WORKSPACE \
47+
-s $GITHUB_WORKSPACE/src -o $GITHUB_WORKSPACE/build -t Release \
48+
--ci-defaults --hip --cuda \
49+
--cmake-opt="-DNATIVECPU_USE_OCK=Off" \
50+
--cmake-opt="-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=SPIRV"
51+
52+
- name: Build with coverity
53+
run: $GITHUB_WORKSPACE/cov-analysis-linux64-*/bin/cov-build --dir cov-int cmake --build $GITHUB_WORKSPACE/build
54+
55+
- name: Compress results
56+
run: tar -I pigz -cf intel_llvm.tgz cov-int
57+
58+
- name: Submit build
59+
run: |
60+
# Initialize a build. Fetch a cloud upload url.
61+
curl -X POST \
62+
-d version="sycl: ${{ github.sha }}" \
63+
-d description="Regular build" \
64+
-d email=${{ secrets.COVERITY_EMAIL }} \
65+
-d token=${{ secrets.COVERITY_TOKEN }} \
66+
-d file_name="intel_llvm.tgz" \
67+
https://scan.coverity.com/projects/31090/builds/init \
68+
| tee response
69+
70+
# Store response data to use in later stages.
71+
upload_url=$(jq -r '.url' response)
72+
build_id=$(jq -r '.build_id' response)
73+
74+
# Upload the tarball to the Cloud.
75+
curl -X PUT \
76+
--header 'Content-Type: application/json' \
77+
--upload-file $PWD/intel_llvm.tgz \
78+
$upload_url
79+
80+
# Trigger the build on Scan.
81+
curl -X PUT \
82+
-d token=${{ secrets.COVERITY_TOKEN }} \
83+
https://scan.coverity.com/projects/31090/builds/$build_id/enqueue
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-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 & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +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;amd"
282283

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

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

Lines changed: 28 additions & 86 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
@@ -86,57 +64,6 @@ jobs:
8664
target_devices: level_zero:gpu;opencl:gpu;opencl:cpu
8765
reset_intel_gpu: true
8866
extra_lit_opts: --param gpu-intel-gen12=True
89-
- name: Intel Arc A-Series Graphics
90-
runner: '["Linux", "arc"]'
91-
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
92-
target_devices: level_zero:gpu;opencl:gpu
93-
reset_intel_gpu: true
94-
extra_lit_opts: --param matrix-xmx8=True
95-
env: '{"LIT_FILTER":${{ needs.determine_arc_tests.outputs.arc_tests }} }'
96-
- name: Dev IGC on Intel Ponte Vecchio GPU
97-
runner: '["Linux", "pvc"]'
98-
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
99-
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
100-
target_devices: level_zero:gpu;opencl:gpu
101-
use_igc_dev: true
102-
extra_lit_opts: -j 50
103-
uses: ./.github/workflows/sycl-linux-run-tests.yml
104-
with:
105-
name: ${{ matrix.name }}
106-
runner: ${{ matrix.runner }}
107-
image: ${{ matrix.image }}
108-
image_options: ${{ matrix.image_options }}
109-
target_devices: ${{ matrix.target_devices }}
110-
extra_lit_opts: --param fallback-to-build-if-requires-build-and-run=True ${{ matrix.extra_lit_opts }}
111-
reset_intel_gpu: ${{ matrix.reset_intel_gpu }}
112-
ref: ${{ github.sha }}
113-
sycl_toolchain_artifact: sycl_linux_default
114-
sycl_toolchain_archive: ${{ needs.build.outputs.artifact_archive_name }}
115-
sycl_toolchain_decompress_command: ${{ needs.build.outputs.artifact_decompress_command }}
116-
e2e_binaries_artifact: sycl_e2e_bin_default
117-
e2e_testing_mode: 'run-only'
118-
119-
# Do not install drivers on AMD and CUDA runners.
120-
install_igc_driver: >-
121-
${{ !contains(matrix.target_devices, 'cuda') &&
122-
!contains(matrix.target_devices, 'hip') &&
123-
contains(needs.detect_changes.outputs.filters, 'drivers') }}
124-
install_dev_igc_driver: >-
125-
${{ !contains(matrix.target_devices, 'cuda') &&
126-
!contains(matrix.target_devices, 'hip') &&
127-
matrix.use_igc_dev &&
128-
(contains(needs.detect_changes.outputs.filters, 'devigccfg') || contains(needs.detect_changes.outputs.filters, 'drivers')) ||
129-
'false' }}
130-
# Run only if the PR does not have the 'ci-no-devigc' label.
131-
skip_run: ${{matrix.use_igc_dev && contains(github.event.pull_request.labels.*.name, 'ci-no-devigc') || 'false'}}
132-
133-
test:
134-
needs: [build, detect_changes, determine_arc_tests]
135-
if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
136-
strategy:
137-
fail-fast: false
138-
matrix:
139-
include:
14067
- name: NVIDIA/CUDA
14168
runner: '["Linux", "cuda"]'
14269
image_options: -u 1001 --gpus all --cap-add SYS_ADMIN
@@ -146,31 +73,53 @@ jobs:
14673
image_options: -u 1001 --device=/dev/dri --device=/dev/kfd
14774
target_devices: hip:gpu
14875
reset_intel_gpu: false
76+
- name: Intel Arc A-Series Graphics
77+
runner: '["Linux", "arc"]'
78+
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
79+
target_devices: level_zero:gpu;opencl:gpu
80+
reset_intel_gpu: true
81+
extra_lit_opts: --param matrix-xmx8=True
14982
- name: E2E tests with dev igc on Intel Arc A-Series Graphics
15083
runner: '["Linux", "arc"]'
15184
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
15285
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
15386
target_devices: level_zero:gpu;opencl:gpu
15487
reset_intel_gpu: true
15588
extra_lit_opts: --param matrix-xmx8=True
156-
env: '{"LIT_FILTER":${{ needs.determine_arc_tests.outputs.arc_tests }} }'
15789
use_igc_dev: true
15890
- name: E2E tests on Intel Ponte Vecchio GPU
15991
runner: '["Linux", "pvc"]'
16092
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
16193
target_devices: level_zero:gpu;opencl:gpu
16294
extra_lit_opts: -j 50
163-
95+
- name: Dev IGC on Intel Ponte Vecchio GPU
96+
runner: '["Linux", "pvc"]'
97+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
98+
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
99+
target_devices: level_zero:gpu;opencl:gpu
100+
use_igc_dev: true
101+
extra_lit_opts: -j 50
102+
#- name: Intel Battlemage Graphics
103+
# runner: '["Linux", "bmg"]'
104+
# image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
105+
# target_devices: level_zero:gpu
106+
# # The new Xe kernel driver used by BMG doesn't support resetting.
107+
# reset_intel_gpu: false
164108
uses: ./.github/workflows/sycl-linux-run-tests.yml
165109
with:
166110
name: ${{ matrix.name }}
167-
runner: ${{ matrix. runner }}
111+
runner: ${{ matrix.runner }}
168112
image: ${{ matrix.image }}
169113
image_options: ${{ matrix.image_options }}
170114
target_devices: ${{ matrix.target_devices }}
115+
extra_lit_opts: --param fallback-to-build-if-requires-build-and-run=True ${{ matrix.extra_lit_opts }}
171116
reset_intel_gpu: ${{ matrix.reset_intel_gpu }}
172-
extra_lit_opts: ${{ matrix.extra_lit_opts }}
173-
env: ${{ matrix.env || '{}' }}
117+
ref: ${{ github.sha }}
118+
sycl_toolchain_artifact: sycl_linux_default
119+
sycl_toolchain_archive: ${{ needs.build.outputs.artifact_archive_name }}
120+
sycl_toolchain_decompress_command: ${{ needs.build.outputs.artifact_decompress_command }}
121+
e2e_binaries_artifact: sycl_e2e_bin_default
122+
e2e_testing_mode: 'run-only'
174123

175124
# Do not install drivers on AMD and CUDA runners.
176125
install_igc_driver: >-
@@ -186,13 +135,6 @@ jobs:
186135
# Run only if the PR does not have the 'ci-no-devigc' label.
187136
skip_run: ${{matrix.use_igc_dev && contains(github.event.pull_request.labels.*.name, 'ci-no-devigc') || 'false'}}
188137

189-
ref: ${{ github.sha }}
190-
191-
sycl_toolchain_artifact: sycl_linux_default
192-
sycl_toolchain_archive: ${{ needs.build.outputs.artifact_archive_name }}
193-
sycl_toolchain_decompress_command: ${{ needs.build.outputs.artifact_decompress_command }}
194-
195-
196138
test-perf:
197139
needs: [build, detect_changes]
198140
if: |

0 commit comments

Comments
 (0)