Skip to content

Intel SYCL Compiler release 6.0.1

Latest
Compare
Choose a tag to compare
@AlexeySachkov AlexeySachkov released this 01 Apr 14:32
· 36738 commits to sycl since this release
v6.0.1
e42590e

Dependencies included in the release

Components included in the release

  • clang version 19.0.0
  • SYCL runtime version 8.0.0 (as indicated by predefined macro __LIBSYCL_MAJOR_VERSION, __LIBSYCL_MINOR_VERSION and __LIBSYCL_PATCH_VERSION)

Compatibility with previous releases

This is a patch/bugfix release for v6.0.0 and it is compatible with it. For compatibility with other releases, please see the corresponding documentation for v6.0.0.

Compatibility with oneAPI

Intel(R) oneAPI DPC++/C++ Compiler version 2025.0 release leverages codebase from sycl-rel-6_0_0 branch and it is the closest oneAPI DPC++/C++ compiler release to this one (in terms of available features and bugfixes).

However, this does not guarantee any feature or bugfix parity between these two releases.

We would like to specifically note that bugfixes and patches applied to 2025.0.X oneAPI patch releases do not match those made for this release.

Validation & quality expectations

In general, list of supported hardware and operating systems should match the one provided by Intel(R) oneAPI DPC++/C++ Compiler for version 2025.0, see corresponding system requirements.

However, we did not perform the same exhaustive testing of this open-source branch and therefore there could be some unique issues that are not present in Intel (R) oneAPI DPC++/C++ Compiler version 2025.0.

You can find full validation logs for the branch here but a summary of it will also be posted below.

End to end tests

The following hardware and software configurations were tested:

Driver versions listed as reported by sycl::device::get_info<info::device::driver_version>().

  • Windows
    • Intel(R) oneAPI Unified Runtime over Level-Zero on
      Intel(R) Iris(R) Xe Graphics 12.0.0
    • Intel(R) OpenCL Graphics on Intel(R) Iris(R) Xe Graphics OpenCL 3.0 NEO
  • Linux (Ubuntu 22.04)
    • Intel(R) OpenCL Graphics on Intel(R) Iris(R) Xe Graphics OpenCL 3.0 NEO
    • Intel(R) oneAPI Unified Runtime over Level-Zero on
      Intel(R) Iris(R) Xe Graphics 12.0.0
    • Intel(R) OpenCL on
      11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80 Ghz OpenCL 3.0
    • AMD HIP BACKEND on AMD Radeon PRO W6800
    • NVIDIA CUDA BACKEND on NVIDIA A10G

SYCL CTS

  • Linux (Ubuntu 22.04)
    • Intel(R) OpenCL on
      11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80 Ghz OpenCL 3.0
    • Intel(R) oneAPI Unified Runtime over Level-Zero on
      Intel(R) Iris(R) Xe Graphics 12.0.0

We use the latest available CTS in our validation, but sycl-rel-6.0.0 is an
old branch already and there were some CTS changes made which make them fail.

Known failures are:

  • test_device CTS test fails because some OpenCL-specific device info queries
    do not throw exceptions on non-OpenCL backends. See KhronosGroup/SYCL-Docs#625
  • test_header CTS target cannot be compiled, because definition of
    SYCL_LANGUAGE_VERSION does not match the latest version of the SYCL 2020
    specification. See KhronosGroup/SYCL-Docs#634
  • test_language CTS target cannot be compiled, because the compiler does not
    abide to all new rules for constant-evaluated expression from the latest
    version of the SYCL 2020 specification. See KhronosGroup/SYCL-Docs#388
  • multi_ptr CTS target can be compiled, but the test reports failure because
    of a compile-time disabled tests due to implementation of
    decorated_generic_ptr and raw_generic_ptr aliases is missing.
    See KhronosGroup/SYCL-Docs#598

How to use

This release does not provide a pre-built binaries of our SYCL compiler and
simply marks a known good commit on a corresponding release branch which can be
used for building the compiler and the runtime for your needs. To do so, follow
Get Started Guide

Detailed changelog

For a more detailed changelog refer to Release notes Jul'24 in our release notes document.

Changes since v6.0.0

This patch release contains a fix for error: SYCL kernel cannot call a variadic function issue mentioned in Known issues
section of the 6.0.0 release.

The issue should not be reproducible in most environment. Its reproducibility depends on implementation details of
specific C++ STL implementation that's installed on your system. However, we haven't seen a setup yet where it would
still be reproducible.

The fix has a potential to break ABI and to preserve compatibility, it won't kick in on systems where it would cause
an ABI-break (see the note above about reproducibility). If you still encounter it and do not care about binary
compatibility with previous releases, then you can define macro __SYCL_USE_PLAIN_ARRAY_AS_VEC_STORAGE=1 (before including sycl/sycl.hpp)
to force-enable the fix.