Skip to content

Commit 76271f1

Browse files
author
iclsrc
committed
Merge from 'sycl' to 'sycl-web' (10 commits)
2 parents 4600de9 + 4f29c44 commit 76271f1

File tree

121 files changed

+675
-369
lines changed

Some content is hidden

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

121 files changed

+675
-369
lines changed

.github/workflows/pr-code-format.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ on:
88
branches:
99
- main
1010
- sycl
11-
- sycl-devops-pr/**
1211
- sycl-rel-**
1312
- 'users/**'
1413

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,9 @@ jobs:
199199
cmake --build $GITHUB_WORKSPACE/build --target check-sycl-unittests
200200
- name: check-llvm-spirv
201201
if: always() && !cancelled() && contains(inputs.changes, 'llvm_spirv')
202+
# Temporary workaround to disable running tests requiring spirv-tools.
203+
env:
204+
LIT_OPTS: "--param disable-spirv-tools=True"
202205
run: |
203206
cmake --build $GITHUB_WORKSPACE/build --target check-llvm-spirv
204207
- name: check-xptifw

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ on:
77
pull_request:
88
branches:
99
- sycl
10-
- sycl-devops-pr/**
1110
- sycl-rel-**
1211
# Do not run builds if changes are only in the following locations
1312
paths-ignore:

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
name: SYCL Post Commit
22

33
on:
4+
workflow_dispatch:
5+
46
push:
57
branches:
68
- sycl
7-
- sycl-devops-pr/**
89
- sycl-rel-**
910

1011
pull_request:
1112
branches:
1213
- sycl
13-
- sycl-devops-pr/**
1414
paths:
1515
- .github/workflows/sycl-post-commit.yml
1616
- .github/workflows/sycl-linux-build.yml
@@ -106,6 +106,7 @@ jobs:
106106
compiler: icx
107107
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"
108108
build_cache_suffix: icx
109+
merge_ref: ''
109110

110111
e2e-win:
111112
needs: build-win
@@ -120,6 +121,7 @@ jobs:
120121
runner: '["Windows","gen12"]'
121122
sycl_toolchain_archive: ${{ needs.build-win.outputs.artifact_archive_name }}
122123
compiler: icx
124+
merge_ref: ''
123125

124126
macos_default:
125127
name: macOS

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,9 @@ jobs:
158158
cmake --build build --target check-sycl-unittests
159159
- name: check-llvm-spirv
160160
if: always() && !cancelled() && contains(inputs.changes, 'llvm_spirv')
161+
# Temporary workaround to disable running tests requiring spirv-tools.
162+
env:
163+
LIT_OPTS: "--param disable-spirv-tools=True"
161164
run: |
162165
cmake --build build --target check-llvm-spirv
163166
- name: check-xptifw

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ on:
44
pull_request:
55
branches:
66
- sycl
7-
- sycl-devops-pr/**
87
- llvmspirv_pulldown
98
- sycl-rel-**
109
# Do not run builds if changes are only in the following locations
@@ -43,6 +42,7 @@ jobs:
4342
uses: ./.github/workflows/sycl-windows-build.yml
4443
with:
4544
changes: ${{ needs.detect_changes.outputs.filters }}
45+
merge_ref: ''
4646

4747
e2e:
4848
needs: build
@@ -56,3 +56,4 @@ jobs:
5656
name: Intel GEN12 Graphics with Level Zero
5757
runner: '["Windows","gen12"]'
5858
sycl_toolchain_archive: ${{ needs.build.outputs.artifact_archive_name }}
59+
merge_ref: ''

devops/actions/run-tests/e2e/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ runs:
6868
exit_code=$?
6969
cat e2e.log
7070
if [ $exit_code -ne 0 ]; then
71-
awk '/^Failed Tests|Unexpectedly Passed Tests|Unresolved tests|Testing Time/{flag=1}/FAILED: CMakeFiles/{flag=0}flag' e2e.log >> $GITHUB_STEP_SUMMARY
71+
awk '/^Failed Tests|Unexpectedly Passed Tests|Unresolved tests|Timed Out Tests|Testing Time/{flag=1}/FAILED: CMakeFiles/{flag=0}flag' e2e.log >> $GITHUB_STEP_SUMMARY
7272
fi
7373
exit $exit_code
7474

llvm-spirv/test/lit.cfg.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,24 +60,27 @@
6060

6161
using_spirv_tools = False
6262

63-
if config.spirv_tools_have_spirv_as:
63+
# Explicitly disable using spirv tools, if requested.
64+
disable_spirv_tools = lit_config.params.get("disable-spirv-tools", False)
65+
66+
if config.spirv_tools_have_spirv_as and not disable_spirv_tools:
6467
llvm_config.add_tool_substitutions(['spirv-as'], [config.spirv_tools_bin_dir])
6568
config.available_features.add('spirv-as')
6669
using_spirv_tools = True
6770

68-
if config.spirv_tools_have_spirv_dis:
71+
if config.spirv_tools_have_spirv_dis and not disable_spirv_tools:
6972
llvm_config.add_tool_substitutions(['spirv-dis'], [config.spirv_tools_bin_dir])
7073
config.available_features.add('spirv-dis')
7174
using_spirv_tools = True
7275

73-
if config.spirv_tools_have_spirv_link:
76+
if config.spirv_tools_have_spirv_link and not disable_spirv_tools:
7477
llvm_config.add_tool_substitutions(['spirv-link'], [config.spirv_tools_bin_dir])
7578
config.available_features.add('spirv-link')
7679
using_spirv_tools = True
7780

7881
# Unlike spirv-{as,dis,link} above, running spirv-val is optional: if spirv-val is
7982
# not available, the test must still run and just skip any spirv-val commands.
80-
if config.spirv_tools_have_spirv_val:
83+
if config.spirv_tools_have_spirv_val and not disable_spirv_tools:
8184
llvm_config.add_tool_substitutions(['spirv-val'], [config.spirv_tools_bin_dir])
8285
using_spirv_tools = True
8386
else:
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# commit d3e97040b67ee6b45655eccdfca19185bd9115b6
2-
# Merge: 2ef69591 37ad03a7
1+
# commit c6859445e01d433ec1cf3d87a244c5cf697fb290
2+
# Merge: d3e97040 b1b0c60c
33
# Author: Kenneth Benzie (Benie) <[email protected]>
4-
# Date: Thu Jan 23 10:23:08 2025 +0000
5-
# Merge pull request #2605 from yingcong-wu/yc/0123-ur-quick-fix
6-
# [DeviceASAN] Bugfix for GetDeviceType
7-
set(UNIFIED_RUNTIME_TAG d3e97040b67ee6b45655eccdfca19185bd9115b6)
4+
# Date: Thu Jan 23 13:59:15 2025 +0000
5+
# Merge pull request #2589 from Bensuo/fabio/fix_potential_race_condition
6+
# Fix potential deadlock in the WaitEvent path of CmdBuffers
7+
set(UNIFIED_RUNTIME_TAG c6859445e01d433ec1cf3d87a244c5cf697fb290)

sycl/include/sycl/context.hpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,13 +177,20 @@ class __SYCL_EXPORT context : public detail::OwnerLessBase<context> {
177177
///
178178
/// The return type depends on information being queried.
179179
template <typename Param
180+
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
180181
#if defined(_GLIBCXX_USE_CXX11_ABI) && _GLIBCXX_USE_CXX11_ABI == 0
181182
,
182183
int = detail::emit_get_backend_info_error<context, Param>()
184+
#endif
183185
#endif
184186
>
187+
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
188+
__SYCL_DEPRECATED(
189+
"All current implementations of get_backend_info() are to be removed. "
190+
"Use respective variants of get_info() instead.")
191+
#endif
185192
typename detail::is_backend_info_desc<Param>::return_type
186-
get_backend_info() const;
193+
get_backend_info() const;
187194

188195
context(const context &rhs) = default;
189196

sycl/include/sycl/detail/info_desc_helpers.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ struct IsKernelInfo<info::kernel_device_specific::ext_codeplay_num_regs>
129129
#include <sycl/info/sycl_backend_traits.def>
130130
#undef __SYCL_PARAM_TRAITS_SPEC
131131

132+
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
132133
template <typename SyclObject, typename Param>
133134
constexpr int emit_get_backend_info_error() {
134135
// Implementation of get_backend_info doesn't seem to be aligned with the
@@ -140,6 +141,7 @@ constexpr int emit_get_backend_info_error() {
140141
"This interface is incompatible with _GLIBCXX_USE_CXX11_ABI=0");
141142
return 0;
142143
}
144+
#endif
143145

144146
} // namespace detail
145147
} // namespace _V1

sycl/include/sycl/device.hpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,13 +222,20 @@ class __SYCL_EXPORT device : public detail::OwnerLessBase<device> {
222222
///
223223
/// The return type depends on information being queried.
224224
template <typename Param
225+
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
225226
#if defined(_GLIBCXX_USE_CXX11_ABI) && _GLIBCXX_USE_CXX11_ABI == 0
226227
,
227228
int = detail::emit_get_backend_info_error<device, Param>()
229+
#endif
228230
#endif
229231
>
232+
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
233+
__SYCL_DEPRECATED(
234+
"All current implementations of get_backend_info() are to be removed. "
235+
"Use respective variants of get_info() instead.")
236+
#endif
230237
typename detail::is_backend_info_desc<Param>::return_type
231-
get_backend_info() const;
238+
get_backend_info() const;
232239

233240
/// Check SYCL extension support by device
234241
///

sycl/include/sycl/event.hpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,13 +112,20 @@ class __SYCL_EXPORT event : public detail::OwnerLessBase<event> {
112112
///
113113
/// \return depends on information being queried.
114114
template <typename Param
115+
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
115116
#if defined(_GLIBCXX_USE_CXX11_ABI) && _GLIBCXX_USE_CXX11_ABI == 0
116117
,
117118
int = detail::emit_get_backend_info_error<event, Param>()
119+
#endif
118120
#endif
119121
>
122+
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
123+
__SYCL_DEPRECATED(
124+
"All current implementations of get_backend_info() are to be removed. "
125+
"Use respective variants of get_info() instead.")
126+
#endif
120127
typename detail::is_backend_info_desc<Param>::return_type
121-
get_backend_info() const;
128+
get_backend_info() const;
122129

123130
/// Queries this SYCL event for profiling information.
124131
///

sycl/include/sycl/info/device_traits_deprecated.def

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Deprecated and not part of SYCL 2020 spec
22
__SYCL_PARAM_TRAITS_DEPRECATED(image_max_array_size,"support for image arrays has been removed in SYCL 2020")
3-
__SYCL_PARAM_TRAITS_DEPRECATED(opencl_c_version,"use device::get_backend_info instead")
3+
__SYCL_PARAM_TRAITS_DEPRECATED(opencl_c_version,"use device::get_info instead")
44
__SYCL_PARAM_TRAITS_DEPRECATED(atomic64, "use sycl::aspect::atomic64 instead")
55

66
//TODO:Remove when possible
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
12
__SYCL_PARAM_TRAITS_SPEC(platform, version, std::string, PI_PLATFORM_INFO_VERSION)
23
__SYCL_PARAM_TRAITS_SPEC(device, version, std::string, PI_DEVICE_INFO_VERSION)
34
__SYCL_PARAM_TRAITS_SPEC(device, backend_version, std::string, PI_DEVICE_INFO_BACKEND_VERSION)
5+
#endif

sycl/include/sycl/kernel.hpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,13 +132,20 @@ class __SYCL_EXPORT kernel : public detail::OwnerLessBase<kernel> {
132132
///
133133
/// The return type depends on information being queried.
134134
template <typename Param
135+
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
135136
#if defined(_GLIBCXX_USE_CXX11_ABI) && _GLIBCXX_USE_CXX11_ABI == 0
136137
,
137138
int = detail::emit_get_backend_info_error<kernel, Param>()
139+
#endif
138140
#endif
139141
>
142+
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
143+
__SYCL_DEPRECATED(
144+
"All current implementations of get_backend_info() are to be removed. "
145+
"Use respective variants of get_info() instead.")
146+
#endif
140147
typename detail::is_backend_info_desc<Param>::return_type
141-
get_backend_info() const;
148+
get_backend_info() const;
142149

143150
/// Query device-specific information from the kernel object using the
144151
/// info::kernel_device_specific descriptor.

sycl/include/sycl/platform.hpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,13 +150,20 @@ class __SYCL_EXPORT platform : public detail::OwnerLessBase<platform> {
150150
///
151151
/// The return type depends on information being queried.
152152
template <typename Param
153+
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
153154
#if defined(_GLIBCXX_USE_CXX11_ABI) && _GLIBCXX_USE_CXX11_ABI == 0
154155
,
155156
int = detail::emit_get_backend_info_error<platform, Param>()
157+
#endif
156158
#endif
157159
>
160+
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
161+
__SYCL_DEPRECATED(
162+
"All current implementations of get_backend_info() are to be removed. "
163+
"Use respective variants of get_info() instead.")
164+
#endif
158165
typename detail::is_backend_info_desc<Param>::return_type
159-
get_backend_info() const;
166+
get_backend_info() const;
160167

161168
/// Returns all available SYCL platforms in the system.
162169
///

sycl/include/sycl/queue.hpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -349,13 +349,20 @@ class __SYCL_EXPORT queue : public detail::OwnerLessBase<queue> {
349349
///
350350
/// The return type depends on information being queried.
351351
template <typename Param
352+
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
352353
#if defined(_GLIBCXX_USE_CXX11_ABI) && _GLIBCXX_USE_CXX11_ABI == 0
353354
,
354355
int = detail::emit_get_backend_info_error<queue, Param>()
356+
#endif
355357
#endif
356358
>
359+
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
360+
__SYCL_DEPRECATED(
361+
"All current implementations of get_backend_info() are to be removed. "
362+
"Use respective variants of get_info() instead.")
363+
#endif
357364
typename detail::is_backend_info_desc<Param>::return_type
358-
get_backend_info() const;
365+
get_backend_info() const;
359366

360367
private:
361368
// A shorthand for `get_device().has()' which is expected to be a bit quicker

sycl/source/detail/context_impl.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,7 @@ context_impl::get_info<info::context::atomic_fence_scope_capabilities>() const {
224224
return CapabilityList;
225225
}
226226

227+
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
227228
template <>
228229
typename info::platform::version::return_type
229230
context_impl::get_backend_info<info::platform::version>() const {
@@ -234,10 +235,12 @@ context_impl::get_backend_info<info::platform::version>() const {
234235
}
235236
return MDevices[0].get_platform().get_info<info::platform::version>();
236237
}
238+
#endif
237239

238240
device select_device(DSelectorInvocableType DeviceSelectorInvocable,
239241
std::vector<device> &Devices);
240242

243+
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
241244
template <>
242245
typename info::device::version::return_type
243246
context_impl::get_backend_info<info::device::version>() const {
@@ -254,7 +257,9 @@ context_impl::get_backend_info<info::device::version>() const {
254257
return select_device(default_selector_v, Devices)
255258
.get_info<info::device::version>();
256259
}
260+
#endif
257261

262+
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
258263
template <>
259264
typename info::device::backend_version::return_type
260265
context_impl::get_backend_info<info::device::backend_version>() const {
@@ -268,6 +273,7 @@ context_impl::get_backend_info<info::device::backend_version>() const {
268273
// information descriptor and implementations are encouraged to return the
269274
// empty string as per specification.
270275
}
276+
#endif
271277

272278
ur_context_handle_t &context_impl::getHandleRef() { return MContext; }
273279
const ur_context_handle_t &context_impl::getHandleRef() const {

sycl/source/detail/device_impl.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ typename Param::return_type device_impl::get_info() const {
131131
#include <sycl/info/ext_oneapi_device_traits.def>
132132
#undef __SYCL_PARAM_TRAITS_SPEC
133133

134+
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
134135
template <>
135136
typename info::platform::version::return_type
136137
device_impl::get_backend_info<info::platform::version>() const {
@@ -141,7 +142,9 @@ device_impl::get_backend_info<info::platform::version>() const {
141142
}
142143
return get_platform().get_info<info::platform::version>();
143144
}
145+
#endif
144146

147+
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
145148
template <>
146149
typename info::device::version::return_type
147150
device_impl::get_backend_info<info::device::version>() const {
@@ -152,7 +155,9 @@ device_impl::get_backend_info<info::device::version>() const {
152155
}
153156
return get_info<info::device::version>();
154157
}
158+
#endif
155159

160+
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
156161
template <>
157162
typename info::device::backend_version::return_type
158163
device_impl::get_backend_info<info::device::backend_version>() const {
@@ -166,6 +171,7 @@ device_impl::get_backend_info<info::device::backend_version>() const {
166171
// information descriptor and implementations are encouraged to return the
167172
// empty string as per specification.
168173
}
174+
#endif
169175

170176
bool device_impl::has_extension(const std::string &ExtensionName) const {
171177
std::string AllExtensionNames =

sycl/source/detail/device_info.hpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,11 @@ template <>
359359
struct get_device_info_impl<std::vector<info::execution_capability>,
360360
info::device::execution_capabilities> {
361361
static std::vector<info::execution_capability> get(const DeviceImplPtr &Dev) {
362+
if (Dev->getBackend() != backend::opencl)
363+
throw exception(make_error_code(errc::invalid),
364+
"info::device::execution_capabilities is available for "
365+
"backend::opencl only");
366+
362367
ur_device_exec_capability_flag_t result;
363368
Dev->getAdapter()->call<UrApiKind::urDeviceGetInfo>(
364369
Dev->getHandleRef(),

0 commit comments

Comments
 (0)