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
Align SYCL_EXT_ONEAPI_LOCAL_MEMORY extension document with SYCL 2020
specification [6ed6565]
Improvements
SYCL Compiler
Added default device triple spir64 when the compiler encounters any
incoming object/libraries that have been built with the spir64 target. -fno-sycl-link-spirv can be used for disabling this behaviour [1342360]
Added support for non-uniform IMul and FMul operation for ptx-nvidiacl
[98a339d]
Added splitting modules capability when compiling for NVPTX and AMDGCN
[c1324e6]
Added -fsycl-footer-path=<path> command-line option to set path where to
store integration footer [155acd1]
Improved read only accessor handling - added readonly attribute to the
associated pointer to memory [3661685]
Improved the output project name generation. If the output value has one of
.a .o .out .lib .obj .exe extension, the output project directory name will
omit extension. For any other extension the output project directory will
keep this extension [d8237a6]
Improved handling of default device with AOCX archive [e3a579f]
Made Level Zero interoperability API SYCL 2020 compliant for sycl::platform, sycl::device and sycl::context [c696415]
Deprecated unstable keys of SYCL_DEVICE_ALLOWLIST [b27c57c]
Added predefined vendor macro SYCL_IMPLEMENTATION_ONEAPI and SYCL_IMPLEMENTATION_INTEL [6d34ebf]
Deprecated sycl::ext::intel::online_compiler, sycl::ext::intel::experimental::online_compiler can be used instead
[7fb56cf]
Deprecated global_device_space and global_host_space values of sycl::access::address_space enumeration, ext_intel_global_device_space ext_intel_host_device_space can be used instead [7fb56cf]
Deprecated sycl::handler::barrier and sycl::queue::submit_barrier, sycl::handler::ext_oneapi_barrier and sycl::queue::ext_oneapi_submit_barrier can be used instead [7fb56cf]
Removed sycl::handler::codeplay_host_task API [9a0ea9a]
Tools
Added support for ROCm devices in get_device_count_by_type [03155e7]
Fixed several places in CUDA and HIP plugins where bool was used instead
of uint32_t [764b6ff]
Fixed event pool memory leak in Level Zero plugin [0e95e5a]
Removed redundant memcpy call for copying struct using fpga_reg
[a5d290d]
Fixed an issue where the native memory object passed to interoperability
memory object constructor was ignored on devices without host unified memory
[da19678]
Fixed group operations for (u)int8/16 types [6a055ec]
Fixed a problem with non-native specialization constants being undefined if
they are not explicitly updated to non-default values [3d96e1d]
Fixed a crash which could happen when a default constructed event is passed
to sycl::handler::depends_on[2fe7dd3]
Fixed sycl::link which was returning a kernel bundle in the incorrect state
[6d98beb]
Fixed missing dependency for host tasks in in-order queues [739487c]
Fixed a memory leak in Level Zero plugin [a5b221f]
Fixed a problem with copying buffers when an offset is specified in CUDA
backend [0abdfd6]
Fixed a problem which was preventing passing asynchronous exceptions produced
in host tasks [f823d61]
Fixed a crash which could happen when submitting tasks to multiple queues
from multiple threads [4ccfd21]
Fixed a possible multiple definitions problem which could happen when using fsycl-device-code-split option [d21082f]
Fixed several problem in configuration file processing [2a35df0]
Fixed imbalance in events release and retain in Level Zero plugin [6117a1b]
Fixed a problem which could lead to leaks of full paths to source files from
the build environment [6bbfe42]
API/ABI breakages
Removed intel::reqd_work_group_size attribute, sycl::reqd_work_group_size can be used instead [c583a20]
Known issues
[new] SYCL 2020 barriers show worse performance than SYCL 1.2.1 do [18c80fa]
[new] When using fallback assert in separate compilation flow requires
explicit, linking against lib/libsycl-fallback-cassert.o or lib/libsycl-fallback-cassert.spv
[new] Performance may be impacted by JIT-ing an extra 'copier' kernel and due
running the 'copier' kernel and host-task after each kernel which uses
assert
[new] Driver issue. When a two-step AOT build is used and there's at least a
single call to devicelib function from within kernel, the device binary
image gets corrupted
[new] Limit alignment of allocation requests at 64KB which is the only
alignment supported by Level Zero[7dfaf3b]
[new] 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::program/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]