Skip to content

Commit bbd88b0

Browse files
committed
Merge branch 'sycl' into llvmspirv_pulldown
2 parents 34b54f4 + 9e3852b commit bbd88b0

File tree

776 files changed

+22419
-5916
lines changed

Some content is hidden

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

776 files changed

+22419
-5916
lines changed

.github/CODEOWNERS

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,9 @@ sycl/plugins/unified_runtime/ @intel/dpcpp-l0-pi-reviewers
4343
# ESIMD CPU emulator plug-in
4444
sycl/plugins/esimd_emulator/ @intel/dpcpp-esimd-reviewers
4545

46-
# CUDA plugin
46+
# CUDA and HIP plugins
4747
sycl/plugins/**/cuda/ @intel/llvm-reviewers-cuda
48+
sycl/plugins/**/hip/ @intel/llvm-reviewers-cuda
4849

4950
# XPTI instrumentation utilities
5051
xpti/ @intel/llvm-reviewers-runtime

.github/workflows/linux_matrix_e2e_on_nightly.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
extra_cmake_args:
4343
target_devices: ext_intel_esimd_emulator:gpu
4444
reset_gpu: false
45-
uses: ./.github/workflows/linux_single_e2e.yml
45+
uses: ./.github/workflows/sycl_linux_run_tests.yml
4646
with:
4747
name: ${{ matrix.name }}
4848
runner: ${{ matrix. runner }}
@@ -66,7 +66,7 @@ jobs:
6666
linux_e2e_on_nightly_aws:
6767
name: '[AWS][CUDA] E2E on Nightly'
6868
needs: [aws_start]
69-
uses: ./.github/workflows/linux_single_e2e.yml
69+
uses: ./.github/workflows/sycl_linux_run_tests.yml
7070
with:
7171
name: CUDA
7272
runner: '["aws-cuda_${{ inputs.uniq }}"]'

.github/workflows/sycl_linux_build_and_test.yml

Lines changed: 80 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,6 @@ on:
2525
type: string
2626
required: false
2727
default: "default"
28-
build_cache_size:
29-
type: string
30-
required: false
31-
default: 8G
3228
build_configure_extra_args:
3329
type: string
3430
required: false
@@ -39,12 +35,6 @@ on:
3935
artifact_archive_name:
4036
type: string
4137
default: llvm_sycl.tar.zst
42-
artifact_compress_command:
43-
type: string
44-
default: zstd -9
45-
artifact_decompress_command:
46-
type: string
47-
default: zstd
4838
lts_matrix:
4939
type: string
5040
required: false
@@ -53,14 +43,6 @@ on:
5343
type: string
5444
required: false
5545
default: "[]"
56-
lts_cmake_extra_args:
57-
type: string
58-
required: false
59-
default: ""
60-
lts_ref:
61-
type: string
62-
required: false
63-
default: 'intel'
6446
cts_matrix:
6547
type: string
6648
required: false
@@ -69,10 +51,6 @@ on:
6951
type: string
7052
required: false
7153
default: ""
72-
cts_ref:
73-
type: string
74-
required: false
75-
default: 'SYCL-2020'
7654
changes:
7755
type: string
7856
description: 'Filter matches for the changed files in the PR'
@@ -89,6 +67,50 @@ on:
8967
type: string
9068
default: 3
9169

70+
workflow_dispatch:
71+
inputs:
72+
changes:
73+
description: 'Filter matches for the changed files in the PR'
74+
type: choice
75+
options:
76+
- "[]"
77+
- '[llvm, clang, sycl, llvm_spirv, xptifw, libclc, libdevice]'
78+
build_image:
79+
type: choice
80+
options:
81+
- "ghcr.io/intel/llvm/sycl_ubuntu2204_nightly:build"
82+
cc:
83+
type: choice
84+
options:
85+
- gcc
86+
cxx:
87+
type: choice
88+
options:
89+
- g++
90+
build_configure_extra_args:
91+
type: choice
92+
options:
93+
- "--hip --cuda --enable-esimd-emulator"
94+
# Cache properties need to match CC/CXX/CMake opts. Any additional choices
95+
# would need extra care.
96+
build_cache_root:
97+
type: choice
98+
options:
99+
- "/__w/"
100+
build_cache_suffix:
101+
type: choice
102+
options:
103+
- "default"
104+
105+
build_artifact_suffix:
106+
type: choice
107+
options:
108+
- "default"
109+
retention-days:
110+
type: choice
111+
options:
112+
- 3
113+
92114
jobs:
93115
build:
94116
name: Build + LIT
@@ -98,10 +120,31 @@ jobs:
98120
options: -u 1001:1001
99121
outputs:
100122
build_conclusion: ${{ steps.build.conclusion }}
123+
artifact_archive_name: ${{ steps.artifact_info.outputs.ARCHIVE_NAME }}
124+
artifact_decompress_command: ${{ steps.artifact_info.outputs.DECOMPRESS }}
101125
env:
102126
CCACHE_DIR: ${{ inputs.build_cache_root }}/build_cache_${{ inputs.build_cache_suffix }}
103-
CCACHE_MAXSIZE: ${{ inputs.build_cache_size }}
127+
CCACHE_MAXSIZE: 8G
104128
steps:
129+
- name: Deduce artifact archive params
130+
# To reduce number of inputs parameters that is limited for manual triggers.
131+
id: artifact_info
132+
run: |
133+
NAME="${{inputs.artifact_archive_name}}"
134+
if [ -z "$NAME" ]; then
135+
NAME=llvm_sycl.tar.zst
136+
fi
137+
echo ARCHIVE_NAME="$NAME" >> $GITHUB_OUTPUT
138+
if [ "${NAME}" != "${NAME%.tar.gz}" ]; then
139+
echo COMPRESS="gzip" >> $GITHUB_OUTPUT
140+
echo DECOMPRESS="gunzip" >> $GITHUB_OUTPUT
141+
elif [ "${NAME}" != "${NAME%.tar.zst}" ]; then
142+
echo COMPRESS="zstd -9" >> $GITHUB_OUTPUT
143+
echo DECOMPRESS="zstd" >> $GITHUB_OUTPUT
144+
else
145+
echo "Unsupported extension"
146+
exit 1
147+
fi
105148
- uses: actions/checkout@v3
106149
with:
107150
sparse-checkout: |
@@ -196,19 +239,19 @@ jobs:
196239
197240
- name: Pack toolchain
198241
if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' }}
199-
run: tar -I '${{ inputs.artifact_compress_command }}' -cf ${{ inputs.artifact_archive_name }} -C $GITHUB_WORKSPACE/build/install .
242+
run: tar -I '${{ steps.artifact_info.outputs.COMPRESS }}' -cf ${{ steps.artifact_info.outputs.ARCHIVE_NAME }} -C $GITHUB_WORKSPACE/build/install .
200243
- name: Upload toolchain
201244
if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' }}
202245
uses: actions/upload-artifact@v3
203246
with:
204247
name: sycl_linux_${{ inputs.build_artifact_suffix }}
205-
path: ${{ inputs.artifact_archive_name }}
248+
path: ${{ steps.artifact_info.outputs.ARCHIVE_NAME }}
206249
retention-days: ${{ inputs.retention-days }}
207250

208251
aws-start:
209252
name: Start AWS
210253
needs: build
211-
if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' && inputs.lts_aws_matrix != '[]' }}
254+
if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' && inputs.lts_aws_matrix != '[]' && inputs.lts_aws_matrix != '' }}
212255
uses: ./.github/workflows/aws.yml
213256
secrets: inherit
214257
with:
@@ -219,32 +262,34 @@ jobs:
219262
needs: [build, aws-start]
220263
# Continue if build was successful. If aws-start is not successful all
221264
# AWS tasks will fail, but all non-AWS tasks should continue.
222-
if: ${{ always() && needs.build.outputs.build_conclusion == 'success' && inputs.lts_matrix != '[]' }}
265+
if: ${{ always() && needs.build.outputs.build_conclusion == 'success' && inputs.lts_matrix != '[]' && inputs.lts_matrix != '' }}
223266
strategy:
224267
fail-fast: false
225268
matrix:
226269
include: ${{ fromJSON(inputs.lts_matrix) }}
227-
uses: ./.github/workflows/linux_single_e2e.yml
270+
uses: ./.github/workflows/sycl_linux_run_tests.yml
228271
with:
272+
tests_selector: e2e
273+
229274
name: ${{ matrix.name }}
230275
runner: ${{ toJSON(matrix.runs-on) }}
231276
image: ${{ matrix.image }}
232277
image_options: ${{ matrix.container_options }}
233-
extra_cmake_args: '${{ matrix.cmake_args }} ${{ inputs.lts_cmake_extra_args }}'
278+
extra_cmake_args: ${{ matrix.cmake_args }}
234279
target_devices: ${{ matrix.targets }}
235280
ref: ${{ inputs.build_ref || github.sha }}
236281
merge_ref: ${{ inputs.merge_ref }}
237282
reset_gpu: ${{ contains(matrix.runs-on, 'gen12') && contains(matrix.runs-on, 'Linux') }}
238283

239284
sycl_toolchain_artifact: sycl_linux_${{ inputs.build_artifact_suffix }}
240-
sycl_toolchain_archive: ${{ inputs.artifact_archive_name }}
241-
sycl_toolchain_decompress_command: ${{ inputs.artifact_decompress_command }}
285+
sycl_toolchain_archive: ${{ needs.build.outputs.artifact_archive_name }}
286+
sycl_toolchain_decompress_command: ${{ needs.build.outputs.artifact_decompress_command }}
242287

243288
env: ${{ toJSON(matrix.env) }}
244289

245290
khronos_sycl_cts:
246291
needs: build
247-
if: ${{ inputs.cts_matrix != '[]' && inputs.check_sycl == 'true' }}
292+
if: ${{ inputs.cts_matrix != '[]' && inputs.cts_matrix != '' && inputs.check_sycl == 'true' }}
248293
strategy:
249294
fail-fast: false
250295
matrix:
@@ -285,10 +330,9 @@ jobs:
285330
- uses: ./llvm/devops/actions/khronos_cts_test
286331
name: Run Khronos SYCL CTS
287332
with:
288-
test_ref: ${{ inputs.cts_ref }}
289333
sycl_artifact: sycl_linux_${{ inputs.build_artifact_suffix }}
290-
sycl_archive: ${{ inputs.artifact_archive_name }}
291-
decompress_command: ${{ inputs.artifact_decompress_command }}
334+
sycl_archive: ${{ needs.build.outputs.artifact_archive_name }}
335+
decompress_command: ${{ needs.build.outputs.artifact_decompress_command }}
292336
sycl_device_filter: ${{ matrix.sycl_device_filter }}
293337
cmake_args: '${{ matrix.cmake_args }} ${{ inputs.cts_cmake_extra_args }}'
294338

@@ -297,7 +341,7 @@ jobs:
297341
needs: [ aws-start, e2e-tests ]
298342
# Always attempt to shutdown AWS instance, even if AWS start was not
299343
# successful.
300-
if: ${{ always() && inputs.lts_aws_matrix != '[]' }}
344+
if: ${{ always() && inputs.lts_aws_matrix != '[]' && inputs.lts_aws_matrix != '' }}
301345
uses: ./.github/workflows/aws.yml
302346
secrets: inherit
303347
with:

0 commit comments

Comments
 (0)