fixes for 2026.0 compiler#3476
Conversation
|
Nice work on this so far! CEV job with this branch: http://intel-ci.intel.com/f0f24793-7dcb-f1ab-af3c-a4bf010d0e2d. FYI there are still fails in oneDAL build on windows and several validation jobs on linux side |
Vika-F
left a comment
There was a problem hiding this comment.
Please revert this change in logical_or, wait for the CI results and LGTM.
constexpr static inline auto native = [](const T& a, const T& b) {
return static_cast<T>(std::logical_or<T>{}(a, b));
};
|
Please share the latest CEV run from this branch. Also please address clang-format before merging |
| constexpr static inline sycl::logical_or<T> native{}; | ||
| #else | ||
| constexpr static inline std::logical_or<T> native{}; | ||
| }; |
There was a problem hiding this comment.
Confused how this file compiled with an extra } in here?
There was a problem hiding this comment.
I guess it was under #else branch and was never built.
There was a problem hiding this comment.
Pull request overview
This PR updates SYCL code to remove deprecated compiler features and improve compatibility with the 2026.0 compiler version.
Changes:
- Replaced deprecated
ext_intel_global_device_spacewithglobal_spacein atomic operations - Updated
logical_orbinary operations to useboolaccumulator type instead offloat/double - Removed compiler version checks (
#if __SYCL_COMPILER_VERSION >= ...) for obsolete fallback code - Updated MKL SYCL library symlinks from version 5 to version 6
Reviewed changes
Copilot reviewed 30 out of 30 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| dev/bazel/deps/mkl.tpl.BUILD | Updated MKL SYCL library symlinks from .so.5 to .so.6 |
| dev/bazel/deps/mkl.bzl | Updated MKL SYCL library symlinks from .so.5 to .so.6 |
| cpp/oneapi/dal/backend/primitives/reduction/functors.hpp | Fixed logical_or init_value and replaced deprecated address space |
| cpp/oneapi/dal/backend/atomic.hpp | Replaced deprecated ext_intel_global_device_space with global_space |
| cpp/oneapi/dal/backend/primitives/reduction/*.cpp | Added AccT template parameter for accumulator type in reduction operations |
| cpp/oneapi/dal/backend/primitives/selection/*.cpp | Removed obsolete compiler version checks |
| cpp/oneapi/dal/algo//backend/gpu/.cpp | Replaced deprecated address space and removed compiler version checks |
cpp/oneapi/dal/backend/primitives/reduction/test/reduction_rm_uniform_dpc.cpp
Outdated
Show resolved
Hide resolved
|
|
||
| array<float_t> groundtruth_cw() const { | ||
| auto res = array<float_t>::full(width_, binary_.init_value); | ||
| auto res = array<float_t>::full(width_, static_cast<float_t>(binary_.init_value)); |
There was a problem hiding this comment.
The explicit cast static_cast<float_t>(binary_.init_value) is needed because binary_.init_value is now of type bool for logical_or operations. Consider documenting this cast requirement to clarify why the conversion is necessary for future maintainers.
PR Description
Summary
This PR updates SYCL code to remove deprecated features and improve compatibility with recent compiler versions.
Changes
Replacement of deprecated
address_spaceext_intel_global_device_spacehas been removed in recent compiler versions.Update of binary operations with
is_logicalflagis_logicalflag and updatedinit_valuetoT(false)sycl::reduce_over_group(it.get_group(), local_accum, binary.native);Removal of old compiler version checks
#if __SYCL_COMPILER_VERSION >= 20230828Notes
Checklist:
Completeness and readability
Testing
Performance