Skip to content

Commit 2f2faa4

Browse files
Merge branch 'sycl' into fix_potential_issues
2 parents 63851c3 + 2a97b05 commit 2f2faa4

File tree

217 files changed

+4709
-1183
lines changed

Some content is hidden

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

217 files changed

+4709
-1183
lines changed

.github/workflows/sycl-aws.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ on:
1515
description: "JSON string with array of objects with aws-type, runs-on, aws-ami, aws-spot, aws-disk, aws-timebomb, one-job properties"
1616
type: string
1717
default: '[{"runs-on":"aws_cuda-${{ github.run_id }}-${{ github.run_attempt }}","aws-ami":"ami-01cb0573cb039ab24","aws-type":["g5.2xlarge","g5.4xlarge"],"aws-disk":"/dev/sda1:64","aws-spot":"false"}]'
18+
ref:
19+
type: string
20+
required: false
1821

1922
jobs:
2023
aws:
@@ -24,6 +27,7 @@ jobs:
2427
- uses: actions/checkout@v4
2528
with:
2629
sparse-checkout: devops/actions/aws-ec2
30+
ref: ${{ inputs.ref || github.sha }}
2731
- run: npm install ./devops/actions/aws-ec2
2832
- uses: ./devops/actions/aws-ec2
2933
with:

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@ on:
66
- sycl
77
paths:
88
- 'devops/actions/build_container/**'
9+
- 'devops/scripts/**'
910
- 'devops/dependencies-igc-dev.json'
1011
- '.github/workflows/sycl-containers-igc-dev.yaml'
1112
pull_request:
1213
paths:
1314
- 'devops/actions/build_container/**'
15+
- 'devops/scripts/**'
1416
- 'devops/dependencies-igc-dev.json'
1517
- '.github/workflows/sycl-containers-igc-dev.yaml'
1618

.github/workflows/sycl-containers.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ jobs:
4747
file: ubuntu2204_build
4848
tag: latest
4949
build_args: ""
50+
- name: Build Ubuntu 24.04 oneAPI Docker image
51+
file: ubuntu2404_build_oneapi
52+
tag: latest
53+
build_args: ""
5054
- name: Intel Drivers Ubuntu 22.04 Docker image
5155
file: ubuntu2204_intel_drivers
5256
tag: latest
@@ -74,6 +78,7 @@ jobs:
7478
file: ${{ matrix.file }}
7579
username: ${{ github.repository_owner }}
7680
password: ${{ secrets.GITHUB_TOKEN }}
81+
sycl_ci_passwd: ${{ secrets.DOCKER_SUDO_PASSWORD }}
7782
tags: |
7883
ghcr.io/${{ github.repository }}/${{ matrix.file }}:${{ matrix.tag }}-${{ github.sha }}
7984
ghcr.io/${{ github.repository }}/${{ matrix.file }}:${{ matrix.tag }}

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,9 @@ on:
5050
description: 'Artifacts retention period'
5151
type: string
5252
default: 3
53+
ref:
54+
type: string
55+
required: false
5356

5457
outputs:
5558
build_conclusion:
@@ -143,6 +146,7 @@ jobs:
143146
with:
144147
sparse-checkout: |
145148
devops/actions
149+
ref: ${{ inputs.ref || github.sha }}
146150
# Cleanup will be run after all actions are completed.
147151
- name: Register cleanup after job is finished
148152
uses: ./devops/actions/cleanup

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,8 @@ jobs:
134134
install_dev_igc_driver: >-
135135
${{ !contains(matrix.target_devices, 'ext_oneapi_cuda') &&
136136
!contains(matrix.target_devices, 'ext_oneapi_hip') &&
137-
matrix.use_igc_dev && contains(needs.detect_changes.outputs.filters, 'devigccfg') ||
137+
matrix.use_igc_dev &&
138+
(contains(needs.detect_changes.outputs.filters, 'devigccfg') || contains(needs.detect_changes.outputs.filters, 'drivers')) ||
138139
'false' }}
139140
# Run only if the PR does not have the 'ci-no-devigc' label.
140141
skip_run: ${{matrix.use_igc_dev && contains(github.event.pull_request.labels.*.name, 'ci-no-devigc') || 'false'}}

.github/workflows/sycl-nightly.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ jobs:
168168

169169
cuda-aws-stop:
170170
needs: [cuda-aws-start, cuda-run-tests]
171-
if: always()
171+
if: always() && ${{ needs.cuda-aws-start.result != 'skipped' }}
172172
uses: ./.github/workflows/sycl-aws.yml
173173
secrets: inherit
174174
with:

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,11 @@ jobs:
103103
&& success()
104104
&& github.repository == 'intel/llvm'
105105
uses: ./.github/workflows/sycl-windows-build.yml
106-
106+
with:
107+
compiler: icx
108+
build_configure_extra_args: --cmake-opt=-DCMAKE_C_FLAGS="/clang:-Wno-nonportable-include-path /clang:-Wno-cast-function-type-mismatch" --cmake-opt=-DCMAKE_CXX_FLAGS="/clang:-Wno-nonportable-include-path /clang:-Wno-cast-function-type-mismatch" --cmake-opt="-DCMAKE_EXE_LINKER_FLAGS=/manifest:no" --cmake-opt="-DCMAKE_MODULE_LINKER_FLAGS=/manifest:no" --cmake-opt="-DCMAKE_SHARED_LINKER_FLAGS=/manifest:no"
109+
build_cache_suffix: icx
110+
107111
e2e-win:
108112
needs: build-win
109113
# Continue if build was successful.
@@ -117,6 +121,7 @@ jobs:
117121
runner: '["Windows","gen12"]'
118122
sycl_toolchain_archive: ${{ needs.build-win.outputs.artifact_archive_name }}
119123
extra_lit_opts: --param gpu-intel-gen12=True
124+
compiler: icx
120125

121126
macos_default:
122127
name: macOS
Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
name: SYCL Release Branch Nightly
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
- cron: '0 3 * * *'
7+
8+
permissions: read-all
9+
10+
jobs:
11+
# To avoid unnecessary scheduled runs this job checks if there are new commits
12+
# since the last run. More precisely, it checks if the last commit is older
13+
# than 24h. That means the previous Nightly already tested this commit.
14+
check_for_new_commits:
15+
runs-on: ubuntu-latest
16+
name: Check for new commits
17+
outputs:
18+
is_new_commit: ${{ steps.is_new_commit.outputs.is_new_commit }}
19+
steps:
20+
- uses: actions/checkout@v4
21+
with:
22+
ref: draft-sycl-rel-6_0_0
23+
- run: git show --quiet | tee -a $GITHUB_STEP_SUMMARY
24+
25+
- id: is_new_commit
26+
if: ${{ github.event_name == 'schedule' }}
27+
run: |
28+
if [ -z "$(git rev-list --after="24 hours" HEAD)" ]; then
29+
echo "is_new_commit=false" >> $GITHUB_OUTPUT
30+
fi
31+
32+
ubuntu2204_build:
33+
needs: [check_for_new_commits]
34+
if: ${{ github.repository == 'intel/llvm' && needs.check_for_new_commits.outputs.is_new_commit != 'false' }}
35+
uses: ./.github/workflows/sycl-linux-build.yml
36+
secrets: inherit
37+
with:
38+
build_cache_root: "/__w/"
39+
build_artifact_suffix: v6
40+
build_configure_extra_args: '--hip --cuda'
41+
merge_ref: ''
42+
ref: draft-sycl-rel-6_0_0
43+
44+
# We upload the build for people to download/use, override its name and
45+
# prefer widespread gzip compression.
46+
artifact_archive_name: sycl_linux.tar.gz
47+
48+
ubuntu2204_test:
49+
needs: [ubuntu2204_build]
50+
if: ${{ always() && !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
51+
strategy:
52+
fail-fast: false
53+
matrix:
54+
include:
55+
- name: AMD/HIP
56+
runner: '["Linux", "amdgpu"]'
57+
image: ghcr.io/intel/llvm/ubuntu2204_build:latest
58+
image_options: -u 1001 --device=/dev/dri --device=/dev/kfd
59+
target_devices: ext_oneapi_hip:gpu
60+
tests_selector: e2e
61+
62+
- name: Intel L0 GPU
63+
runner: '["Linux", "gen12"]'
64+
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
65+
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
66+
target_devices: level_zero:gpu
67+
reset_intel_gpu: true
68+
tests_selector: e2e
69+
extra_lit_opts: --param gpu-intel-gen12=True
70+
71+
- name: Intel OCL GPU
72+
runner: '["Linux", "gen12"]'
73+
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
74+
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
75+
target_devices: opencl:gpu
76+
reset_intel_gpu: true
77+
tests_selector: e2e
78+
extra_lit_opts: --param gpu-intel-gen12=True
79+
80+
- name: Intel OCL CPU
81+
runner: '["Linux", "gen12"]'
82+
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
83+
image_options: -u 1001 --privileged --cap-add SYS_ADMIN
84+
target_devices: opencl:cpu
85+
tests_selector: e2e
86+
87+
- name: SYCL-CTS on OCL CPU
88+
runner: '["Linux", "gen12"]'
89+
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
90+
image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN
91+
target_devices: opencl:cpu
92+
tests_selector: cts
93+
94+
- name: SYCL-CTS on L0 gen12
95+
runner: '["Linux", "gen12"]'
96+
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
97+
image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN
98+
target_devices: level_zero:gpu
99+
tests_selector: cts
100+
uses: ./.github/workflows/sycl-linux-run-tests.yml
101+
with:
102+
name: ${{ matrix.name }}
103+
runner: ${{ matrix.runner }}
104+
image: ${{ matrix.image }}
105+
image_options: ${{ matrix.image_options }}
106+
target_devices: ${{ matrix.target_devices }}
107+
tests_selector: ${{ matrix.tests_selector }}
108+
extra_lit_opts: ${{ matrix.extra_lit_opts }}
109+
reset_intel_gpu: ${{ matrix.reset_intel_gpu }}
110+
ref: draft-sycl-rel-6_0_0
111+
merge_ref: ''
112+
sycl_toolchain_artifact: sycl_linux_default
113+
sycl_toolchain_archive: ${{ needs.ubuntu2204_build.outputs.artifact_archive_name }}
114+
sycl_toolchain_decompress_command: ${{ needs.ubuntu2204_build.outputs.artifact_decompress_command }}
115+
116+
build-win:
117+
needs: [check_for_new_commits]
118+
if: ${{ github.repository == 'intel/llvm' && needs.check_for_new_commits.outputs.is_new_commit != 'false' }}
119+
uses: ./.github/workflows/sycl-windows-build.yml
120+
with:
121+
# We upload both Linux/Windows build via Github's "Releases"
122+
# functionality, make sure Linux/Windows names follow the same pattern.
123+
artifact_archive_name: sycl_windows.tar.gz
124+
build_ref: draft-sycl-rel-6_0_0
125+
126+
e2e-win:
127+
needs: build-win
128+
# Continue if build was successful.
129+
if: |
130+
always()
131+
&& !cancelled()
132+
&& needs.build-win.outputs.build_conclusion == 'success'
133+
uses: ./.github/workflows/sycl-windows-run-tests.yml
134+
with:
135+
name: Intel GEN12 Graphics with Level Zero
136+
runner: '["Windows","gen12"]'
137+
sycl_toolchain_archive: ${{ needs.build-win.outputs.artifact_archive_name }}
138+
extra_lit_opts: --param gpu-intel-gen12=True
139+
ref: draft-sycl-rel-6_0_0
140+
141+
cuda-aws-start:
142+
needs: [ubuntu2204_build]
143+
if: ${{ always() && !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
144+
uses: ./.github/workflows/sycl-aws.yml
145+
secrets: inherit
146+
with:
147+
mode: start
148+
ref: draft-sycl-rel-6_0_0
149+
150+
cuda-run-tests:
151+
needs: [ubuntu2204_build, cuda-aws-start]
152+
if: ${{ always() && !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
153+
uses: ./.github/workflows/sycl-linux-run-tests.yml
154+
with:
155+
name: CUDA E2E
156+
runner: '["aws_cuda-${{ github.run_id }}-${{ github.run_attempt }}"]'
157+
image: ghcr.io/intel/llvm/ubuntu2204_build:latest-0300ac924620a51f76c4929794637b82790f12ab
158+
image_options: -u 1001 --gpus all --cap-add SYS_ADMIN --env NVIDIA_DISABLE_REQUIRE=1
159+
target_devices: ext_oneapi_cuda:gpu
160+
ref: draft-sycl-rel-6_0_0
161+
merge_ref: ''
162+
163+
sycl_toolchain_artifact: sycl_linux_default
164+
sycl_toolchain_archive: ${{ needs.ubuntu2204_build.outputs.artifact_archive_name }}
165+
sycl_toolchain_decompress_command: ${{ needs.ubuntu2204_build.outputs.artifact_decompress_command }}
166+
167+
cuda-aws-stop:
168+
needs: [cuda-aws-start, cuda-run-tests]
169+
if: always()
170+
uses: ./.github/workflows/sycl-aws.yml
171+
secrets: inherit
172+
with:
173+
mode: stop
174+
ref: draft-sycl-rel-6_0_0

0 commit comments

Comments
 (0)