Skip to content

Commit 40a296e

Browse files
committed
Merge branch 'intel:sycl' into urlog
2 parents 1158fba + 64c60c5 commit 40a296e

File tree

196 files changed

+7733
-5238
lines changed

Some content is hidden

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

196 files changed

+7733
-5238
lines changed

.github/CODEOWNERS

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,8 @@ sycl/doc/extensions/ @intel/dpcpp-specification-reviewers
3636

3737
# Unified Runtime
3838
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
39+
unified-runtime/*/adapters/level_zero/ @intel/unified-runtime-reviewers-level-zero
40+
unified-runtime/*/adapters/opencl/ @intel/unified-runtime-reviewers-opencl
4341
unified-runtime/*/adapters/cuda/ @intel/llvm-reviewers-cuda
4442
unified-runtime/*/adapters/hip/ @intel/llvm-reviewers-cuda
4543
unified-runtime/*/adapters/native_cpu/ @intel/dpcpp-nativecpu-reviewers

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ jobs:
8282
ur:
8383
- 'unified-runtime/**'
8484
- .github/workflows/ur-*
85+
ur_cuda_adapter:
86+
- 'unified-runtime/source/adapters/cuda/**'
8587
8688
- name: Set output
8789
id: result
@@ -92,7 +94,7 @@ jobs:
9294
return '${{ steps.changes.outputs.changes }}';
9395
}
9496
// Treat everything as changed for huge PRs.
95-
return ["llvm", "llvm_spirv", "clang", "sycl_jit", "xptifw", "libclc", "sycl", "ci", "esimd", "ur"];
97+
return ["llvm", "llvm_spirv", "clang", "sycl_jit", "xptifw", "libclc", "sycl", "ci", "esimd", "ur", "ur_cuda_adapter"];
9698
9799
- run: echo '${{ steps.result.outputs.result }}'
98100

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

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,10 @@ on:
4646
default: 3
4747
e2e_binaries_artifact:
4848
type: string
49-
required: False
49+
required: false
50+
pack_release:
51+
type: string
52+
required: false
5053

5154
outputs:
5255
build_conclusion:
@@ -100,6 +103,10 @@ on:
100103
options:
101104
- 3
102105

106+
pack_release:
107+
type: string
108+
required: false
109+
103110
permissions: read-all
104111

105112
jobs:
@@ -215,11 +222,26 @@ jobs:
215222
# TODO consider moving this to Dockerfile.
216223
export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH
217224
LIT_OPTS="--allow-empty-runs" LIT_FILTER="e2e_test_requirements" cmake --build $GITHUB_WORKSPACE/build --target check-sycl
218-
- name: Install
225+
- name: Install sycl-toolchain
219226
if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' }}
220-
# TODO replace utility installation with a single CMake target
221227
run: |
222228
cmake --build $GITHUB_WORKSPACE/build --target deploy-sycl-toolchain
229+
230+
- name: Pack toolchain release
231+
if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' && inputs.pack_release == 'true' }}
232+
run: tar -I '${{ steps.artifact_info.outputs.COMPRESS }}' -cf ${{ steps.artifact_info.outputs.ARCHIVE_NAME }} -C $GITHUB_WORKSPACE/build/install .
233+
- name: Upload toolchain release
234+
if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' && inputs.pack_release == 'true' }}
235+
uses: actions/upload-artifact@v4
236+
with:
237+
name: sycl_linux_release
238+
path: ${{ steps.artifact_info.outputs.ARCHIVE_NAME }}
239+
retention-days: ${{ inputs.retention-days }}
240+
241+
- name: Install utilities
242+
if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' }}
243+
# TODO replace utility installation with a single CMake target
244+
run: |
223245
cmake --build $GITHUB_WORKSPACE/build --target utils/FileCheck/install
224246
cmake --build $GITHUB_WORKSPACE/build --target utils/count/install
225247
cmake --build $GITHUB_WORKSPACE/build --target utils/not/install

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

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ on:
2525
- '.github/workflows/trivy.yml'
2626
- 'devops/containers/**'
2727
- 'devops/actions/build_container/**'
28+
- 'unified-runtime/examples/**'
29+
- 'unified-runtime/scripts/**'
30+
- 'unified-runtime/test/**'
31+
- 'unified-runtime/third_party/**'
32+
- 'unified-runtime/tools/**'
2833

2934
concurrency:
3035
# Cancel a currently running workflow from the same PR, branch or tag.
@@ -53,6 +58,22 @@ jobs:
5358
changes: ${{ needs.detect_changes.outputs.filters }}
5459
e2e_binaries_artifact: sycl_e2e_bin_default
5560

61+
# If a PR changes CUDA adapter, run the build on Ubuntu 22.04 as well.
62+
# Ubuntu 22.04 container has CUDA 12.1 installed while Ubuntu 24.0 image
63+
# has CUDA 12.6.1 installed.
64+
# The idea is to ensure that the code works with both CUDA versions.
65+
build_ubuntu2204:
66+
needs: [detect_changes]
67+
if: always() && !cancelled() && contains(needs.detect_changes.outputs.filters, 'ur_cuda_adapter')
68+
uses: ./.github/workflows/sycl-linux-build.yml
69+
with:
70+
build_ref: ${{ github.sha }}
71+
build_cache_root: "/__w/"
72+
build_artifact_suffix: "default"
73+
build_cache_suffix: "default"
74+
build_image: "ghcr.io/intel/llvm/ubuntu2204_build:latest"
75+
changes: ${{ needs.detect_changes.outputs.filters }}
76+
5677
run_prebuilt_e2e_tests:
5778
needs: [build, detect_changes]
5879
if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }}

.github/workflows/sycl-rel-nightly.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ jobs:
214214
image_options: ${{ matrix.image_options }}
215215
target_devices: ${{ matrix.target_devices }}
216216
tests_selector: cts
217-
repo_ref: ${{ github.sha }}
217+
repo_ref: ${{ inputs.testing_branch || 'sycl-rel-6_1_0' }}
218218
devops_ref: sycl
219219
sycl_toolchain_artifact: sycl_linux_default
220220
sycl_toolchain_archive: ${{ needs.ubuntu2204_build.outputs.artifact_archive_name }}

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,11 @@ on:
2424
- '.github/workflows/trivy.yml'
2525
- 'devops/containers/**'
2626
- 'devops/actions/build_container/**'
27+
- 'unified-runtime/examples/**'
28+
- 'unified-runtime/scripts/**'
29+
- 'unified-runtime/test/**'
30+
- 'unified-runtime/third_party/**'
31+
- 'unified-runtime/tools/**'
2732

2833
permissions: read-all
2934

clang/lib/Driver/ToolChains/Clang.cpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5885,8 +5885,16 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
58855885
CmdArgs.push_back("-ffine-grained-bitfield-accesses");
58865886
}
58875887

5888-
if (!Args.hasFlag(options::OPT_fsycl_unnamed_lambda,
5889-
options::OPT_fno_sycl_unnamed_lambda, true))
5888+
// '-fsycl-unnamed-lambda' is not supported with '-fsycl-host-compiler'
5889+
if (Args.hasArg(options::OPT_fsycl_host_compiler_EQ)) {
5890+
if (Args.hasFlag(options::OPT_fsycl_unnamed_lambda,
5891+
options::OPT_fno_sycl_unnamed_lambda, false))
5892+
D.Diag(diag::err_drv_cannot_mix_options) << "-fsycl-host-compiler"
5893+
<< "-fsycl-unnamed-lambda";
5894+
else // '-fsycl-host-compiler' implies '-fno-sycl-unnamed-lambda'
5895+
CmdArgs.push_back("-fno-sycl-unnamed-lambda");
5896+
} else if (!Args.hasFlag(options::OPT_fsycl_unnamed_lambda,
5897+
options::OPT_fno_sycl_unnamed_lambda, true))
58905898
CmdArgs.push_back("-fno-sycl-unnamed-lambda");
58915899

58925900
if (!Args.hasFlag(options::OPT_fsycl_esimd_force_stateless_mem,

clang/test/CodeGenSYCL/sub-group-size.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@ using namespace sycl;
1515
// ALL-DAG: define {{.*}}spir_func void @{{.*}}external_10{{.*}}() #{{[0-9]+}}{{.*}} !intel_reqd_sub_group_size ![[TEN:[0-9]+]]
1616

1717
SYCL_EXTERNAL void external_default_behavior() {}
18-
// NONE-DAG: define {{.*}}spir_func void @{{.*}}external_default_behavior{{.*}}() #{{[0-9]+}} !srcloc !{{[0-9]+}} !sycl_fixed_targets !{{[0-9]+}} {
18+
// NONE-DAG: define {{.*}}spir_func void @{{.*}}external_default_behavior{{.*}}() #{{[0-9]+}} !sycl_fixed_targets !{{[0-9]+}} {
1919
// PRIM_DEF-DAG: define {{.*}}spir_func void @{{.*}}external_default_behavior{{.*}}() #{{[0-9]+}}{{.*}} !intel_reqd_sub_group_size ![[PRIMARY]]
2020
// TEN_DEF-DAG: define {{.*}}spir_func void @{{.*}}external_default_behavior{{.*}}() #{{[0-9]+}}{{.*}} !intel_reqd_sub_group_size ![[TEN]]
2121

2222
void default_behavior() {
2323
kernel_single_task<class Kernel1>([]() {
2424
});
2525
}
26-
// NONE-DAG: define {{.*}}spir_kernel void @{{.*}}Kernel1() #{{[0-9]+}} !srcloc !{{[0-9]+}} !kernel_arg_buffer_location !{{[0-9]+}} !sycl_fixed_targets !{{[0-9]+}} {
26+
// NONE-DAG: define {{.*}}spir_kernel void @{{.*}}Kernel1() #{{[0-9]+}} !kernel_arg_buffer_location !{{[0-9]+}} !sycl_fixed_targets !{{[0-9]+}} {
2727
// PRIM_DEF-DAG: define {{.*}}spir_kernel void @{{.*}}Kernel1() #{{[0-9]+}}{{.*}} !intel_reqd_sub_group_size ![[PRIMARY]]
2828
// TEN_DEF-DAG: define {{.*}}spir_kernel void @{{.*}}Kernel1() #{{[0-9]+}}{{.*}} !intel_reqd_sub_group_size ![[TEN]]
2929

clang/test/Driver/sycl-host-compiler-old-model.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,16 @@
6262
// RUN: | FileCheck -check-prefix=HOST_COMPILER_NOARG %s
6363
// HOST_COMPILER_NOARG: missing argument to '-fsycl-host-compiler='
6464

65+
/// error for -fsycl-host-compiler and -fsycl-unnamed-lambda combination
66+
// RUN: not %clangxx -fsycl --no-offload-new-driver -fsycl-host-compiler=g++ -fsycl-unnamed-lambda -c -### %s 2>&1 \
67+
// RUN: | FileCheck -check-prefix=HOST_COMPILER_AND_UNNAMED_LAMBDA %s
68+
// HOST_COMPILER_AND_UNNAMED_LAMBDA: error: cannot specify '-fsycl-unnamed-lambda' along with '-fsycl-host-compiler'
69+
70+
// -fsycl-host-compiler implies -fno-sycl-unnamed-lambda
71+
// RUN: %clangxx -### -fsycl --no-offload-new-driver -fsycl-host-compiler=g++ -c -### %s 2>&1 \
72+
// RUN: | FileCheck -check-prefix=IMPLY-NO-SYCL-UNNAMED-LAMBDA %s
73+
// IMPLY-NO-SYCL-UNNAMED-LAMBDA: clang{{.*}} "-fno-sycl-unnamed-lambda"
74+
6575
/// Warning should not be emitted when using -fsycl-host-compiler when linking
6676
// RUN: touch %t.o
6777
// RUN: %clangxx -fsycl --no-offload-new-driver -fsycl-host-compiler=g++ %t.o -### 2>&1 \

devops/dependencies-igc-dev.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"linux": {
33
"igc_dev": {
4-
"github_tag": "igc-dev-81b4de2",
5-
"version": "81b4de2",
6-
"updated_at": "2025-03-29T17:38:03Z",
7-
"url": "https://api.github.com/repos/intel/intel-graphics-compiler/actions/artifacts/2844658814/zip",
4+
"github_tag": "igc-dev-b74b7ab",
5+
"version": "b74b7ab",
6+
"updated_at": "2025-04-02T18:41:33Z",
7+
"url": "https://api.github.com/repos/intel/intel-graphics-compiler/actions/artifacts/2869865189/zip",
88
"root": "{DEPS_ROOT}/opencl/runtime/linux/oclgpu"
99
}
1010
}

0 commit comments

Comments
 (0)