Skip to content

Commit cf15a33

Browse files
authored
Merge branch 'sycl' into llvmspirv_pulldown
2 parents 32adef5 + 9375f35 commit cf15a33

File tree

257 files changed

+3969
-3025
lines changed

Some content is hidden

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

257 files changed

+3969
-3025
lines changed

.github/CODEOWNERS

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -178,12 +178,6 @@ sycl/doc/design/CommandGraph.md @intel/sycl-graphs-reviewers
178178
sycl/doc/extensions/**/sycl_ext_oneapi_graph.asciidoc @intel/sycl-graphs-reviewers
179179
sycl/doc/syclgraph/ @intel/sycl-graphs-reviewers
180180

181-
# syclcompat library
182-
sycl/**/syclcompat/ @intel/syclcompat-lib-reviewers
183-
sycl/cmake/modules/AddSYCLLibraryUnitTest.cmake @intel/syclcompat-lib-reviewers
184-
sycl/include/syclcompat.hpp @intel/syclcompat-lib-reviewers
185-
sycl/test-e2e/syclcompat/ @intel/syclcompat-lib-reviewers
186-
187181
# bindless images
188182
sycl/doc/extensions/experimental/sycl_ext_oneapi_bindless_images.asciidoc @intel/bindless-images-reviewers
189183
sycl/include/sycl/ext/oneapi/bindless* @intel/bindless-images-reviewers

.github/workflows/sycl-docs.yml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,24 @@ on:
1010
- '.github/workflows/sycl-docs.yml'
1111
- 'clang/docs/**'
1212
- 'sycl/doc/**'
13+
- 'devops/benchmarks/scripts/html/**'
1314
push:
1415
branches:
1516
- sycl
1617
paths:
1718
- '.github/workflows/sycl-docs.yml'
1819
- 'clang/docs/**'
1920
- 'sycl/doc/**'
21+
- 'devops/benchmarks/scripts/html/**'
22+
workflow_dispatch:
23+
inputs:
24+
update_gh_pages:
25+
type: choice
26+
description: Update Github Pages
27+
options:
28+
- true
29+
- false
30+
default: true
2031

2132
permissions:
2233
contents: read
@@ -62,5 +73,5 @@ jobs:
6273
with:
6374
path: ./install_docs
6475
- name: Deploy to GitHub Pages
65-
if: ${{ github.event_name == 'push' }}
76+
if: ${{ github.event_name == 'push' || inputs.update_gh_pages == 'true' }}
6677
uses: actions/deploy-pages@v4

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

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -100,14 +100,14 @@ jobs:
100100
echo FILTER_6_2="$(grep -v '^#\|^\W*$' devops/compat_ci_exclude.sycl-rel-6_2 | paste -sd '|')" >> $GITHUB_OUTPUT
101101
echo FILTER_6_3="$(grep -v '^#\|^\W*$' devops/compat_ci_exclude.sycl-rel-6_3 | paste -sd '|')" >> $GITHUB_OUTPUT
102102
103-
run_prebuilt_e2e_tests:
103+
E2E:
104104
needs: [build, detect_changes, compat_read_exclude]
105105
if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
106106
strategy:
107107
fail-fast: false
108108
matrix:
109109
include:
110-
- name: GEN 12 Integrated
110+
- name: Intel / GEN 12 Integrated
111111
runner: '["Linux", "gen12"]'
112112
target_devices: level_zero:gpu;opencl:gpu;opencl:cpu
113113
- name: NVIDIA/CUDA
@@ -119,39 +119,39 @@ jobs:
119119
image_options: -u 1001 --device=/dev/dri --device=/dev/kfd
120120
target_devices: hip:gpu
121121
extra_lit_opts: -j 1
122-
- name: Intel Arc A-Series Graphics
122+
- name: Intel / Arc A-Series Graphics
123123
runner: '["Linux", "arc"]'
124124
target_devices: level_zero:gpu;opencl:gpu;level_zero_v2:gpu
125-
- name: Dev IGC / Intel Arc A-Series Graphics
125+
- name: Intel Dev IGC / Arc A-Series Graphics
126126
runner: '["Linux", "arc"]'
127127
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
128128
target_devices: level_zero:gpu
129129
use_igc_dev: true
130130
env: '{"LIT_FILTER":"Matrix/"}'
131-
- name: Intel Ponte Vecchio GPU
131+
- name: Intel / Ponte Vecchio GPU
132132
runner: '["Linux", "pvc"]'
133133
target_devices: level_zero:gpu;opencl:gpu;level_zero_v2:gpu
134-
- name: Dev IGC / Intel Ponte Vecchio GPU
134+
- name: Intel Dev IGC / Ponte Vecchio GPU
135135
runner: '["Linux", "pvc"]'
136136
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
137137
target_devices: level_zero:gpu
138138
use_igc_dev: true
139139
env: '{"LIT_FILTER":"Matrix/"}'
140-
- name: Intel Battlemage Graphics
140+
- name: Intel / Battlemage Graphics
141141
runner: '["Linux", "bmg"]'
142142
target_devices: level_zero_v1:gpu;level_zero_v2:gpu
143143
- name: Preview Mode
144144
runner: '["Linux", "gen12"]'
145145
target_devices: level_zero:gpu;opencl:gpu;opencl:cpu
146146
extra_lit_opts: --param test-preview-mode=True
147147
e2e_binaries_artifact: e2e_bin_preview
148-
- name: ABI compatibility against sycl-rel-6_2
148+
- name: ABI compatibility / sycl-rel-6_2
149149
runner: '["Linux", "pvc"]'
150150
image: ghcr.io/intel/llvm/sycl_prebuilt_tests:sycl-rel-6_2
151151
target_devices: level_zero:gpu
152152
extra_lit_opts: '--param test-preview-mode=False --filter-out "${{ needs.compat_read_exclude.outputs.FILTER_6_2 }}"'
153153
e2e_binaries_artifact: 'in-container'
154-
- name: ABI compatibility against sycl-rel-6_3
154+
- name: ABI compatibility / sycl-rel-6_3
155155
runner: '["Linux", "pvc"]'
156156
image: ghcr.io/intel/llvm/sycl_prebuilt_tests:sycl-rel-6_3
157157
target_devices: level_zero:gpu

.github/workflows/sycl-nightly.yml

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -201,11 +201,23 @@ jobs:
201201
always()
202202
&& !cancelled()
203203
&& needs.build-win.outputs.build_conclusion == 'success'
204+
strategy:
205+
fail-fast: false
206+
matrix:
207+
include:
208+
- name: Intel L0 Gen12 GPU
209+
runner: '["Windows", "gen12"]'
210+
target_devices: level_zero:gpu
211+
212+
- name: Intel L0 Battlemage GPU
213+
runner: '["Windows", "bmg"]'
214+
target_devices: level_zero:gpu
215+
204216
uses: ./.github/workflows/sycl-windows-run-tests.yml
205217
with:
206-
name: Intel GEN12 Graphics with Level Zero
207-
runner: '["Windows","gen12"]'
208-
target_devices: level_zero:gpu
218+
name: ${{ matrix.name }}
219+
runner: ${{ matrix.runner }}
220+
target_devices: ${{ matrix.target_devices }}
209221
toolchain_artifact_filename: ${{ needs.build-win.outputs.toolchain_artifact_filename }}
210222

211223
cuda-aws-start:
@@ -320,20 +332,30 @@ jobs:
320332
toolchain_artifact_filename: ${{ needs.build-win.outputs.toolchain_artifact_filename }}
321333
sycl_cts_artifact: sycl_cts_bin_win
322334

335+
# Verification example:
336+
# cosign-windows-amd64.exe verify-blob sycl_linux.tar.gz \
337+
# --bundle sycl_linux.tar.gz.sigstore.json \
338+
# --certificate-oidc-issuer https://token.actions.githubusercontent.com \
339+
# --certificate-identity https://github.com/intel/llvm/.github/workflows/sycl-nightly.yml@refs/heads/sycl
323340
nightly_build_upload:
324341
name: Nightly Build Upload
325342
if: ${{ github.ref_name == 'sycl' }}
326343
needs: [ubuntu2204_build, build-win]
327344
runs-on: ubuntu-latest
328345
permissions:
329346
contents: write
347+
id-token: write
330348
steps:
331349
- uses: actions/download-artifact@v4
332350
with:
333351
name: sycl_linux_default
334352
- uses: actions/download-artifact@v4
335353
with:
336354
name: sycl_windows_default
355+
- name: Sign with sigstore/cosign
356+
uses: sigstore/[email protected]
357+
with:
358+
inputs: sycl_linux.tar.gz sycl_windows.tar.gz
337359
- name: Compute tag
338360
id: tag
339361
run: |
@@ -349,6 +371,8 @@ jobs:
349371
files: |
350372
sycl_linux.tar.gz
351373
sycl_windows.tar.gz
374+
sycl_linux.tar.gz.sigstore.json
375+
sycl_windows.tar.gz.sigstore.json
352376
tag_name: nightly-${{ steps.tag.outputs.TAG }}
353377
name: DPC++ daily ${{ steps.tag.outputs.TAG }}
354378
prerelease: true

clang/lib/CodeGen/BackendUtil.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1093,8 +1093,9 @@ void EmitAssemblyHelper::RunOptimizationPipeline(
10931093
ThinOrFullLTOPhase) {
10941094
MPM.addPass(createModuleToFunctionPassAdaptor(
10951095
InferAddressSpacesPass(clang::targets::SPIR_GENERIC_AS)));
1096-
MPM.addPass(
1097-
createModuleToFunctionPassAdaptor(SYCLOptimizeBarriersPass()));
1096+
if (Level != OptimizationLevel::O0)
1097+
MPM.addPass(createModuleToFunctionPassAdaptor(
1098+
SYCLOptimizeBarriersPass()));
10981099
});
10991100
}
11001101

clang/lib/Driver/ToolChains/Clang.cpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11362,6 +11362,23 @@ void LinkerWrapper::ConstructJob(Compilation &C, const JobAction &JA,
1136211362
CmdArgs.push_back(
1136311363
Args.MakeArgString("--sycl-post-link-options=" + PostLinkOptString));
1136411364

11365+
if (Args.hasArg(options::OPT_fsycl_remove_unused_external_funcs))
11366+
CmdArgs.push_back(
11367+
Args.MakeArgString("-sycl-remove-unused-external-funcs"));
11368+
if (Args.hasArg(options::OPT_fno_sycl_remove_unused_external_funcs))
11369+
CmdArgs.push_back(
11370+
Args.MakeArgString("-no-sycl-remove-unused-external-funcs"));
11371+
if (Args.hasArg(options::OPT_fsycl_device_code_split_esimd))
11372+
CmdArgs.push_back(Args.MakeArgString("-sycl-device-code-split-esimd"));
11373+
if (Args.hasArg(options::OPT_fno_sycl_device_code_split_esimd))
11374+
CmdArgs.push_back(Args.MakeArgString("-no-sycl-device-code-split-esimd"));
11375+
if (Args.hasArg(options::OPT_fsycl_add_default_spec_consts_image))
11376+
CmdArgs.push_back(
11377+
Args.MakeArgString("-sycl-add-default-spec-consts-image"));
11378+
if (Args.hasArg(options::OPT_fno_sycl_add_default_spec_consts_image))
11379+
CmdArgs.push_back(
11380+
Args.MakeArgString("-no-sycl-add-default-spec-consts-image"));
11381+
1136511382
// --llvm-spirv-options="options" provides a string of options to be passed
1136611383
// along to the llvm-spirv (translation) step during device link.
1136711384
SmallString<128> OptString;

clang/test/CodeGenSYCL/kernel-early-optimization-pipeline.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
// CHECK: InferFunctionAttrsPass
1313
// CHECK: AlwaysInlinerPass
1414
// CHECK: ModuleInlinerWrapperPass
15+
// CHECK: SYCLOptimizeBarriersPass
1516
// CHECK: ConstantMergePass
1617
// CHECK: SYCLMutatePrintfAddrspacePass
1718
// CHECK: SYCLPropagateAspectsUsagePass
@@ -22,4 +23,13 @@
2223
//
2324
// RUN: %clang_cc1 -O2 -fsycl-is-device -triple spir64-unknown-unknown %s -mdebug-pass Structure -emit-llvm -fno-sycl-early-optimizations -o /dev/null 2>&1 | FileCheck %s --check-prefix=CHECK-NOEARLYOPT
2425
// CHECK-NOEARLYOPT-NOT: ConstantMergePass1
26+
// CHECK-NOEARLYOPT-NOT: SYCLOptimizeBarriersPass
2527
// CHECK-NOEARLYOPT: SYCLMutatePrintfAddrspacePass
28+
29+
// RUN: %clang_cc1 -O0 -fsycl-is-device -triple spir64-unknown-unknown %s -mdebug-pass Structure -emit-llvm -o /dev/null 2>&1 | FileCheck %s --check-prefix=CHECK-O0
30+
// CHECK-O0-NOT: SYCLOptimizeBarriersPass
31+
32+
// Passes registered via registerOptimizerLastEPCallback don't run on empty
33+
// code
34+
__attribute__((sycl_device)) void bar() {
35+
}

clang/test/Driver/sycl-add-default-spec-consts-image-old-model.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
// RUN: %clang -### -fsycl --no-offload-new-driver -fsycl-add-default-spec-consts-image -fsycl-targets=spir64_gen 2>&1 %s | FileCheck %s -check-prefix=CHECK-AOT
1414
// RUN: %clang -### -fsycl --no-offload-new-driver -fsycl-add-default-spec-consts-image -fsycl-targets=spir64_x86_64 2>&1 %s | FileCheck %s -check-prefix=CHECK-AOT
1515
// RUN: %clang -### -fsycl --no-offload-new-driver -fsycl-add-default-spec-consts-image -fsycl-targets=intel_gpu_pvc 2>&1 %s | FileCheck %s -check-prefix=CHECK-AOT
16-
// RUN: %clang -### -fsycl --no-offload-new-driver -fsycl-add-default-spec-consts-image -fsycl-targets=nvidia_gpu_sm_90 -nocudalib 2>&1 %s | FileCheck %s -check-prefix=CHECK-AOT
16+
// RUN: %clang -### -fsycl --no-offload-new-driver -fsycl-add-default-spec-consts-image -fsycl-targets=nvidia_gpu_sm_90 -fno-sycl-libspirv -nocudalib 2>&1 %s | FileCheck %s -check-prefix=CHECK-AOT
1717
// RUN: %clang -### -fsycl --no-offload-new-driver -fsycl-add-default-spec-consts-image -fsycl-targets=amd_gpu_gfx1034 -fno-sycl-libspirv -nogpulib 2>&1 %s | FileCheck %s -check-prefix=CHECK-AOT
1818
// CHECK-AOT-NOT: warning: -fsycl-add-default-spec-consts-image flag has an effect only in Ahead of Time Compilation mode (AOT)
1919
// CHECK-AOT: {{.*}}sycl-post-link{{.*}} "-generate-device-image-default-spec-consts"

0 commit comments

Comments
 (0)