Skip to content

Commit b1c0e65

Browse files
authored
[SYCL] Release notes for May'20 DPCPP implementation update (#1707)
1 parent 1625245 commit b1c0e65

File tree

1 file changed

+151
-0
lines changed

1 file changed

+151
-0
lines changed

sycl/ReleaseNotes.md

Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,154 @@
1+
# May'20 release notes
2+
3+
Release notes for the commit range ba404be..67d3d9e
4+
5+
## New features
6+
- Implemented [reduction extension](doc/extensions/Reduction/Reduction.md)
7+
for `sycl::handler::parallel_for` accepting a `sycl::nd_range` object
8+
[bb73d926] [04a360a] [05625f1]
9+
- XPTI instrumentation has been added to the runtime to capture semantic and
10+
execution trace information for constructing the task graphs for offline
11+
graph and performance analysis [9bf81eb] [cece82e]
12+
13+
## Improvements
14+
### SYCL Frontend and driver changes
15+
- Added a diagnostic for implicit declaration of kernel function type
16+
[20e8cde]
17+
- Added a diagnostic on attempt to set C compilation together with `-fsycl`
18+
[4cf1610]
19+
- Improved diagnostics on attempt to use not supported on device types (such
20+
as `__int128`, zero length arrays) to catch cases when they are used as
21+
`typedef` or `auto` [808c5c8]
22+
- Reduced possibility to load incorrect version of the OpenCL headers by
23+
reording default include paths.
24+
- Treat `.lo` file extension as a static archive [82b93be]
25+
- Added a diagnostic on attempt to use `long double` in the device code
26+
[62f841d]
27+
- Improved handling of AOCX based archives on Windows [f117aa4]
28+
- Removed object format designator used for Windows device binaries [0052d08]
29+
- Improved `-Xsycl-target` option parsing [f62de21]
30+
- `-g` and `-O0` options are now imply `-g` and `-cl-opt-disable` for the
31+
device compilation [779a601]
32+
33+
### SYCL headers and runtime
34+
- Improved handling of host accessors with read-only type of access. Now they
35+
do not trigger redundant memory copy operation [de85c35e]
36+
- Default selector doesn't select devices of accelerator type anymore
37+
[b217bc5]
38+
- Added more user friendly diagnostics on errors during kernel submission
39+
[be42ff7]
40+
- Implemented `get_native` for CUDA backend which allows querying native
41+
handles of SYCL objects: `sycl::queue`, `sycl::event`, `sycl::context`,
42+
`sycl::device` [2d71c8e]
43+
- Added support for 0-dim `sycl::accessor` in `sycl::handler::copy`
44+
[5666107] [aedd449]
45+
- Added support for various rounding modes for non-host devices in
46+
`sycl::vec::convert` method [7e3cca4]
47+
- Added support for more image channel types for `half4` data type on the host
48+
device [9b1d8b8]
49+
- Changed logic of `SYCL_BE` environment variable which now forces the SYCL RT
50+
to consider only devices of the specified backend during the device
51+
selection [937fec1]
52+
- `libsycl.so` library is now versioned [4370630]
53+
- [fd14167]
54+
- Added a diagnostic on attempt to construct a `sycl::queue` passing a
55+
`sycl::context` which is not bound to a passed `sycl::device`[9e79d31]
56+
57+
### Misc
58+
- `opencl-aot` tool is now included in the `sycl-toolchain` target [ccc0c27]
59+
- [cece82e]
60+
- Added `sycl-ls` utility for listing devices discovered/selected by SYCL RT
61+
[cc0c33b]
62+
63+
### Documentation
64+
- Improved [contribution guidelines](../CONTRIBUTING.md) [2f5cd28]
65+
- Updated prerequisites in GetStartedGuide(doc/GetStartedGuide.md) [5d0d034]
66+
- Published a [proposal](doc/extensions/KernelRHSAttributes/SYCL_INTEL_attribute_style.asciidoc)
67+
for function-type attributes (right-sided) for kernel attributes [5d5351b]
68+
- The [compiler and runtime design doc](doc/CompilerAndRuntimeDesign.md) has
69+
been updated to describe the CUDA target and reflect changed action graphs
70+
[91b597b] [212a26c]
71+
- [ExtendedAtomics documentation](doc/extensions/ExtendedAtomics/README.md)
72+
has been updated [1084685]
73+
- Published [sycl_bitcast extension](doc/extensions/Bitcast/SYCL_INTEL_bitcast.asciidoc)
74+
- Published a [proposal](doc/extensions/StaticLocalMemoryQuery/SYCL_INTEL_static_local_memory_query.asciidoc)
75+
which adds ability to query max local size which is used by a specific
76+
kernel and a specific device.
77+
- Published [device_specific_kernel_queries](doc/extensions/DeviceSpecificKernelQueries/SYCL_INTEL_device_specific_kernel_queries.asciidoc)
78+
extension which rephrases work group queries as device-specific kernel
79+
queries [4c07ff8]
80+
- Added more information about the [plugin interface (PI)](doc/PluginInterface.md)
81+
[0614e9a]
82+
- [Contribution guidelines](../CONTRIBUTING.md) were simplified, now sign-off
83+
line is not required [7886fd8]
84+
- Added missing constructors and member functions in
85+
[reduction extension proposal](doc/extensions/Reduction/Reduction.md)
86+
[f695479]
87+
- Published [parallel_for simplification extension](doc/extensions/ParallelForSimpification/SYCL_INTEL_parallel_for_simplification.asciidoc) [856a777]
88+
- Added memory scope to [ExtendedAtomics extension](doc/extensions/ExtendedAtomics/SYCL_INTEL_extended_atomics.asciidoc) [f8e11e0]
89+
- Published [math array extension](doc/extensions/MathArray/SYCL_INTEL_math_array.asciidoc) [36c5041]
90+
- Added more comments that describe Scheduler design [ad441a0]
91+
- Published [extension mechanism proposal](doc/extensions/ExtensionMechanism/SYCL_INTEL_extension_api.asciidoc) [cf65794]
92+
93+
## Bug fixes
94+
### SYCL Frontend and driver changes
95+
- Fixed bug in hierarchical parallelism implementation related to using a
96+
private address of the `parallel_for_work_group` lambda object by all work
97+
items in the work group [16f64b8]
98+
- Fixed a problem with errors that are reported when `-fsycl-device-only`
99+
option is used [7f924a8]
100+
- Fixed a crash which happened when a specialization constant is referenced
101+
twice [ce020c9]
102+
- Fixed a possible filename collision when `-save-temps` is used [99fa86f]
103+
- Fixed a hang which could happen on CUDA backend when
104+
`sycl::group::async_work_group_copy` is used [f836604]
105+
106+
### SYCL headers and runtime
107+
- Ignore exceptions that could happen during sycl objects destruction to avoid
108+
terminates [cbd8a72]
109+
- Fixed an issue with dependency vector invalidation in some cases [2551b19]
110+
- Resolved a conflict with `min`/`max` macro that can be defined by
111+
`windows.h` [e7d4537]
112+
- Fixed an issue with using wrong CUDA context when creating an event
113+
[6788713]
114+
- Fixed a crash which happened when no plugin is available [d15de0b]
115+
- Fixed float to half-type conversion for small numbers [3a9a1a22]
116+
- Fixed `sycl::intel::sub_group::broadcast` which was incorrectly mapped to
117+
SPIRV intrinsic [24471bc]
118+
- Fixed an issue when a sub-buffer was accessing incorrect memory [4c4054b]
119+
- Fixed race which could happen when `sycl::program` API is used from multiple
120+
threads [e88a611]
121+
- [686e32b]
122+
- Make `cl::sycl::event::get` method to be constant [03208c0]
123+
- Fixed a crash which could happen when host accessors are created in
124+
multiple threads [1d13f84]
125+
- Fixed a problem with `sycl::program::set_spec_constant` which set a value
126+
for all `sycl::program` objects rather than for an object it was called for
127+
only [c22e34b]
128+
129+
### Misc
130+
- Fixed an issue with gdb xmethod not working when `run` command is issued
131+
multiple times without terminating the session [042d981]
132+
- Fixed an issue with platform selection in opencl-aot tool that was caused
133+
by an identical supported platform name for CPU and GPU.
134+
135+
## Known issues
136+
- [new] A crash can happen in a multithreaded application if two threads call
137+
an API which implies waiting for an event. No known workaround.
138+
- The format of the object files produced by the compiler can change between
139+
versions. The workaround is to rebuild the application.
140+
- The SYCL library doesn't guarantee stable API/ABI, so applications compiled
141+
with older version of the SYCL library may not work with new one.
142+
The workaround is to rebuild the application.
143+
[ABI policy guide](doc/ABIPolicyGuide.md)
144+
- Using `cl::sycl::program` API to refer to a kernel defined in another
145+
translation unit leads to undefined behavior
146+
- Linkage errors with the following message:
147+
`error LNK2005: "bool const std::_Is_integral<bool>" (??$_Is_integral@_N@std@@3_NB) already defined`
148+
can happen when a SYCL application is built using MS Visual Studio 2019
149+
version below 16.3.0
150+
The workaround is to enable `-std=c++17` for the failing MSVC version.
151+
1152
# March'20 release notes
2153

3154
Release notes for the commit range e8f1f29..ba404be

0 commit comments

Comments
 (0)