Skip to content

Commit a7bd063

Browse files
romanovvladbader
authored andcommitted
[SYCL] Release notes for December SYCL implementation update (#1037)
Signed-off-by: Vlad Romanov <[email protected]>
1 parent b909749 commit a7bd063

File tree

1 file changed

+101
-0
lines changed

1 file changed

+101
-0
lines changed

sycl/ReleaseNotes.md

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,104 @@
1+
# December'19 release notes
2+
3+
Release notes for commit 78d80a1cc628af76f09c53673ada906a3d2f0131
4+
5+
## New features
6+
- New attributes for Intel FPGA devices : `num_simd_work_items`, `bank_bits`,
7+
`max_work_group_size`, `max_global_work_dim`
8+
[61d60b6] [7becb9d] [9053642] [6441851]
9+
- The infrastructure for device standard C/C++ libraries has been introduced.
10+
`assert` can now be used in device code [0039ee0]
11+
- Add opencl-aot tool for AoT compilation for Intel CPU devices [400460b]
12+
- Added support for `cl::sycl::intel::experimental::printf` builtin [78d80a1]
13+
- Implemented device code split feature: compiler can now be instructed to
14+
split a single device code module into multiple via the
15+
`-fsycl-device-code-split` option.
16+
[9d7dba6] [cc93bc4] [5491486] [a339d4c] [9095749]
17+
18+
## Improvements
19+
### SYCL Frontend and driver changes
20+
- Allowed applying `cl::reqd_work_group_size` and
21+
`cl::intel_reqd_sub_group_size` attributes to a lambda function [b06fc66]
22+
- Allowed applying SYCL_EXTERNAL to functions with raw pointer arguments or
23+
return value if `-Wno-error=sycl-strict` option is passed [2840458]
24+
- Added support for FPGA device libraries in fat static libraries [d39ab73]
25+
- Removed limitation of virtual types in SYCL [98754ff]
26+
27+
### SYCL headers and runtime
28+
- Added support for platform name and platform version in the device allowed
29+
list [7f2f668]
30+
- Made kernels and programs caches thread-safe [118dc82]
31+
- It's now possible to omit `cl` namespace specifier when using SYCL API.
32+
`sycl::buffer` can be used instead `cl::sycl::buffer` [67e4655]
33+
- Diagnostic on attempt to do several actions in one command group has been
34+
implemented [9f8ae50]
35+
- `queue::submit` now throws synchronous exceptions [6a83d14]
36+
- Enqueue pending tasks after host accessor destructor [80d17b2]
37+
- Implemented more "flat" kernel submission `cl::sycl::queue` methods
38+
[c5318c5]
39+
40+
### Documentation
41+
- Added support for generation of SYCL documentation with Doxygen [de418d6]
42+
- [Design document](doc/extensions/C-CXX-StandardLibrary/C-CXX-StandardLibrary.rst)
43+
which describes design of C/C++ standard library support has been added
44+
45+
## Bug fixes
46+
### SYCL Frontend and driver changes
47+
- Fixed problem which prevented attaching multiple attributes to a SYCL kernel
48+
[b77e5b7]
49+
50+
### SYCL headers and runtime
51+
- Fixed a possible deadlock with host accessor' creation from multiple threads
52+
[d1c6dbe]
53+
- Compatibility issues that can happen when the SYCL library and SYCL
54+
application are compiled with different version of standard headers are
55+
fixed. [d854643]
56+
- Fixed compile error for `handler::copy` with `-fsycl-unnamed-lambda`
57+
[e73d2ce]
58+
- Fixed error which happened when autogenerated (`-fsycl-unnamed-lambda`)
59+
kernel name contained `cl::sycl::half` type [514fc0b]
60+
- Fixed crash on submitting a kernel with zero local size on the host device
61+
[b6806ea]
62+
- Made `vec::load` and `vec::store` member functions templated to align with
63+
the SYCL specification [4bd76de]
64+
- Made exceptions that are thrown in the copy back routine during SYCL
65+
memory object destructor asynchronous [2d6dcd0]
66+
- Fixed creation of host accessor to sub-buffer leading to crash in some
67+
scenarios [f607520]
68+
- Fixed build error on Windows caused by RuntimeLibrary value inconsistency
69+
for LLVM and apps/tests linked with it [f9296b6]
70+
71+
## Known issues
72+
- [new] The size of object file is increased compared to the older compiler
73+
releases due to the recent fat object layout changes in the open source LLVM.
74+
- Using `cl::sycl::program` API to refer to a kernel defined in another
75+
translation unit leads to undefined behaviour
76+
- Linkage errors with the following message:
77+
`error LNK2005: "bool const std::_Is_integral<bool>" (??$_Is_integral@_N@std@@3_NB) already defined`
78+
can happen when a SYCL application is built using MS Visual Studio 2019
79+
version below 16.3.0
80+
For MSVC version having the error the workaround is to use -std=c++17 switch.
81+
82+
## Prerequisites
83+
### Linux
84+
- Experimental Intel(R) CPU Runtime for OpenCL(TM) Applications with SYCL
85+
support version
86+
[2020.9.1.0.18_rel](https://github.com/intel/llvm/releases/download/2019-12/oclcpuexp-2020.9.1.0.18_rel.tar.gz)
87+
is recommended OpenCL CPU RT prerequisite for the SYCL compiler
88+
- The Intel(R) Graphics Compute Runtime for OpenCL(TM) version
89+
[19.48.14977](https://github.com/intel/compute-runtime/releases/tag/19.48.14977)
90+
is recommended OpenCL GPU RT prerequisite for the SYCL compiler.
91+
### Windows
92+
- Experimental Intel(R) CPU Runtime for OpenCL(TM) Applications with SYCL
93+
support version
94+
[2020.9.1.0.18_rel](https://github.com/intel/llvm/releases/download/2019-12/win-oclcpuexp-2020.9.1.0.18_rel.zip)
95+
is recommended OpenCL CPU RT prerequisite for the SYCL compiler
96+
- The Intel(R) Graphics Compute Runtime for OpenCL(TM) version
97+
[26.20.100.7463](https://downloadcenter.intel.com/download/29195/Intel-Graphics-Windows-10-DCH-Drivers)
98+
is recommended OpenCL GPU RT prerequisite for the SYCL compiler.
99+
100+
Please, see the runtime installation guide [here](https://github.com/intel/llvm/blob/sycl/sycl/doc/GetStartedWithSYCLCompiler.md#install-low-level-runtime)
101+
1102
# November'19 release notes
2103

3104
Release notes for commit e0a62df4e20eaf4bdff5c7dd46cbde566fbaee90

0 commit comments

Comments
 (0)