You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Introduced predicates for ESIMD lsc_block_store/load. [f44edce]
Added experimental set_kernel_properties API and use_double_grf property
for ESIMD. [9a55da5]
Added "eager initialization" mode to Level Zero PI plugin. It might result
in an unnecessary work done by the plugin, but ensures the fastest possible
execution on hot and reportable paths. [c145959]
Added full support of element wise operations on joint_matrix on CUDA
backend including bfloat16 support. [0a1d751]
Added a short guideline on using CMake with SYCL compiler. [fa603c3]
Bug fixes
SYCL Library
Fixed a compilation issue where it wasn't possible to pass an initializer list
for dependency events vector in queue shortcuts with offset
parameter. [f4f83d9]
Fixed sycl::get_pointer_device throwing an exception when it passed a
descendent device (sub-device) instead of a root device. [26d5d98]
Fixed memory leak happening when kernel bundles are linked. [980677d]
Fixed USM free throwing an exception when it passed a context created for
a descendent device. [c49d494]
Fixed accessor's CTAD for g++ host compiler. [57aabe7]
Fixed a compilation issue when using multi-dimensional accessor's subscript
operator. [22e3fc5]
Fixed "definition with the same mangled name" error happening when used
multiple buffer reductions in a kernel. [a0a4d72]
Fixed a compilation issue with SYCL math built-ins when GCC < 11.1 is used as
a host compiler. [c786894]
Fixed a compilation issue with SYCL math built-ins (such as sycl::modf,
for example) not accepting pointers to half. [e286166]
Fixed an issues with reductions when MSVC is used as host compiler. [94c4b80]
Fixed a compilation issue when fully specialized sycl::span is initialized
from an array. [2b50820]
Fixed a crash in Level Zero PI plugins caused by specialization constants not
being used on device side, but present in a program. [9500875]
Fixed an issue with sub-sub-devices in Level Zero plugin. [4b1b01b]
Fixed an issue with incorrect half conversion on ESIMD emulator. [6143e55]
Fixed a compilation issue with abs ESIMD function. [c72a85d]
Fixed some warning coming out of SYCL headers when compiled in C++20 mode. [12ac4c3]
Fixed a compilation issue when using multiple bitwise shift operations
in ESIMD. [40d08c2]
Fixed a crash in Level Zero PI plugin which occurs when the runtime tries to reset
a command list which does not have a synchronization fence associated with it. [a61ac7a]
Fixed a performance issue with excessive streams synchronization
on CUDA backend. [5352b42]
Fixed a compilation issue with sycl::get_native<sycl::backend::ext_oneapi_cuda>(sycl::device) free
function (#6653). [4d69c29]
Fixed synchronization issue for explicit dependencies (depends_on usage)
which is blocked by host task or host accessor. [346a6c5]
Fixed an issue in Level Zero plugin which could cause barriers to not be
correctly applied for an entire queue. [d01371b]
Fixed a synchronization issue on CUDA backend. [e848c15]
Fixed an issue with a context not properly retained with even interop on
CUDA backend. [2baf1de]
Fixed accessor so gdb can parse its template parameters correctly. [372cc94]
Fixed uses of common macro names in the implementation's header files. [e87adfd]
Fixed a performance regression in Level Zero backend related to command list. [8a4777d]
SYCL Compiler
Fixed cleanup of temporary files produced by unbundling archives. [7ef4b0a]
Fixed optimizing out device_global variables with internal linkage. [5b2cfe2]
Fixed an issue when compiling and linking with different optimization levels
could cause runtime errors. [0cc7540]
Fixed description of -f[no-]sycl-unnamed-lambda compiler option. [616ecf7]
Fixed an issue when building SYCL programs in Debug mode with Windows-Clang.cmake. [084f34c]
Fixed CUDA fat-binaries filename extensions in SYCL toolchain
(.o -> .cubin). [2c217cf]
Fixed an issue causing incorrect conversions involving unsigned types in
ESIMD. [2a1151b]
Fixed a crash in applications containing a mix of unnamed ESIMD and non-ESIMD
kernels. [3d54d7e]
Fixed type casting of image coordinates in built-ins implementation for CUDA
backend. [338b4ed]
Fixed a linking issue when targeting AMD/HIP. [9829897]
Fixed an issue when op[] was called with typedef argument under gdb. [b7bfe39]
Aligned return types of sycl::get_native and interop::get_native_mem
functions to be conformance with SYCL 2020 spec. [7827590]
Aligned sycl::buffer_allocator interface with SYCL 2020 spec. [7827590]
Removed cl namespace from sycl/sycl.hpp header. [3d2b25e]
Dropped support for compiling SYCL in less than C++17 mode. [43e713c]
Many other ABI-breaking changes resulting from internal refactoring
Known issues
This release is not backwards compatible with previous releases, which means
that existing SYCL applications won't work with the never runtime without
re-compilation.
Having MESA OpenCL implementation which provides no devices on a
system may cause incorrect device discovery. As a workaround such an OpenCL
implementation can be disabled by removing /etc/OpenCL/vendor/mesa.icd.
Compilation may fail on Windows in debug mode if a kernel uses std::array. This happens because debug version of std::array in
Microsoft STL C++ headers calls functions that are illegal for the device
code. As a workaround the following can be done:
Dump compiler pipeline execution strings by passing -### option to the
compiler. The compiler will print the internal execution strings of
compilation tools. The actual compilation will not happen.
Modify the (usually) first execution string (it should have -fsycl-is-device option) by adding -D_CONTAINER_DEBUG_LEVEL=0 -D_ITERATOR_DEBUG_LEVEL=0 options to the
end of the string. Execute all string one by one.
-fsycl-dead-args-optimization can't help eliminate offset of
accessor even though it's created with no offset specified
SYCL 2020 barriers show worse performance than SYCL 1.2.1 do. [18c80fa]
When using fallback assert in separate compilation flow it requires explicit
linking against lib/libsycl-fallback-cassert.o or lib/libsycl-fallback-cassert.spv
Limit alignment of allocation requests at 64KB which is the only alignment
supported by Level Zero. 7dfaf3b
On the following scenario on Level Zero backend:
Kernel A, which uses buffer A, is submitted to queue A.
Kernel B, which uses buffer B, is submitted to queue B.
queueA.wait().
queueB.wait().
DPCPP runtime used to treat unmap/write commands for buffer A/B as host
dependencies (i.e. they were waited for prior to enqueueing any command
that's dependent on them). This allowed Level Zero plugin to detect that
each queue is idle on steps 1/2 and submit the command list right away.
This is no longer the case since we started passing these dependencies in an
event waitlist and Level Zero plugin attempts to batch these commands, so
the execution of kernel B starts only on step 4. The workaround restores the
old behavior in this case until this is resolved. [2023e10] [6c137f8]
User-defined functions with the name and signature matching those of any
OpenCL C built-in function (i.e. an exact match of arguments, return type
doesn't matter) can lead to Undefined Behavior.
A DPC++ system that has FPGAs installed does not support multi-process
execution. Creating a context opens the device associated with the context
and places a lock on it for that process. No other process may use that
device. Some queries about the device through device.get_info<>() also
open up the device and lock it to that process since the runtime needs
to query the actual device to obtain that information.
The format of the object files produced by the compiler can change between
versions. The workaround is to rebuild the application.
Using sycl::kernel_bundle API to refer to a kernel defined
in another translation unit leads to undefined behavior
Linkage errors with the following message: error LNK2005: "bool const std::_Is_integral<bool>" (??$_Is_integral@_N@std@@3_NB) already defined
can happen when a SYCL application is built using MS Visual Studio 2019
version below 16.3.0 and user specifies -std=c++14 or /std:c++14.
Printing internal defines isn't supported on Windows. [50628db]