Skip to content

Commit cdb2ebf

Browse files
authored
[SYCL] January'21 Release Notes (#3055)
Signed-off-by: Sergey Kanaev <[email protected]>
1 parent e16efea commit cdb2ebf

File tree

1 file changed

+107
-0
lines changed

1 file changed

+107
-0
lines changed

sycl/ReleaseNotes.md

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,110 @@
1+
# January'21 release notes
2+
3+
Release notes for commit range 5eebd1e4bfce..2ffafb95f887
4+
5+
## New features
6+
### SYCL Compiler
7+
- Added template parameter support for `work_group_size` attributes
8+
[ca9d816234c6] [289230c0b52c]
9+
- Introduced `auto` mode for device code split feature. This mode is the
10+
default one [184d258b902a]
11+
- Enabled support for multiple AOCX device binaries for FPGA [6ea38f0f1f7a]
12+
### SYCL Library
13+
- Implemented [`online_compiler`](doc/extensions/OnlineCompilation/OnlineCompilation.asciidoc)
14+
feature [91122526e74d]
15+
### Documentation
16+
- Added specification for [set kernel cache configuration extension](doc/extensions/IntelGPU/IntelGPUKernelCache.md)
17+
[db62fe7166ec]
18+
19+
## Improvements
20+
### SYCL Compiler
21+
- Updated ESIMD support for split barrier, slm load and dp4a [7f5013901874]
22+
- Disabled swapping dimension values of `WorkGroupAttr` for semantic checks
23+
[7ef84b6fb60c]
24+
- Enabled `clang-offload-deps` tool usage for generating device dependencies
25+
[08a1c00028e5, 237675ba5a16, 84d2eb53e774, c8455167c2fa]
26+
- Switched to linking only needed symbols from fat static libraries on device
27+
side [5c3e5385b35d]
28+
- Made Intel attributes consistent with clang attributes [aeb4de7e4fa5]
29+
### SYCL Library
30+
- Added filtering of partition properties to exclude non-SYCL ones
31+
[7f7006410c1d]
32+
- Fixed memory leaks of global object in the Level-Zero plugins [f58c568]
33+
- Fixed excessive memory allocation for device handles in the OpenCL plugin
34+
[8cfcdb20b06e]
35+
- Added support for
36+
`syc::ext::oneapi::property::buffer::use_pinned_host_memory` buffery property
37+
in LevelZero plugin [0b9a7493a2f1]
38+
- Improved performance of kernels which do not use work-item free functions on
39+
the host device [b83a1a8028a8]
40+
- Switched to retaining events in LevelZero event wait list until command has
41+
completed [c55eb20c2f8c]
42+
- Improved group scan/reduce algorithms performance for CUDA [bd0edfee2908]
43+
- Enabled sub-group loads and stores in CUDA [cfce9965c366]
44+
### Documentation
45+
- Added notice of the `-o` build configuration option in GetStartedGuide
46+
[665e4062a5ff]
47+
- Added requirement to reference E2E tests for the pull-request in the commit
48+
message [965b63c38ca7]
49+
50+
## Bug fixes
51+
### SYCL Compiler
52+
- Eliminated emission of `llvm.used` global variables to output module(s) in
53+
the post-link tool [9b07d114f5c2] [b96e647c82b2]
54+
- Fixed crash on scalar `fptoui` LLVM instruction [d7ca5dafcb3b]
55+
- Fixed detection of free function calls [6cfc3add16e3]
56+
- Put constant initializer list data in non-generic address space
57+
[0f2cf4ddc2fd]
58+
### SYCL Library
59+
- Fixed memory leak in Level-Zero plugin
60+
[d98b61a7bd28] [051e1407a195] [45e1b143f0a9]
61+
- (ESIMD only) Fixed build error "no member named `cl_int2`" [d7f1b53dec62]
62+
- Disabled execution range rounding for ESIMD kernels [5500262254c3]
63+
- Fixed argument printing when tracing plugin interface calls [30db15fac6f6]
64+
- Fixed `as()` function for swizzle vector [70e003acbbfe]
65+
- Fixed synchronization of sub-group and group functions on CUDA [2b6f2cd7ba0a]
66+
67+
## API/ABI breakages
68+
- None
69+
70+
## Known issues
71+
- GlobalWorkOffset is not supported by Level Zero backend [6f9e9a76]
72+
- The code with function pointer is hanging on Level Zero [d384295e]
73+
- User-defined functions with the same name and signature (exact match of
74+
arguments, return type doesn't matter) as of an OpenCL C built-in
75+
function, can lead to Undefined Behavior.
76+
- A DPC++ system that has FPGAs installed does not support multi-process
77+
execution. Creating a context opens the device associated with the context
78+
and places a lock on it for that process. No other process may use that
79+
device. Some queries about the device through device.get_info<>() also
80+
open up the device and lock it to that process since the runtime needs
81+
to query the actual device to obtain that information.
82+
- On Windows, DPC++ compiler enforces using dynamic C++ runtime for
83+
application linked with SYCL library by:
84+
- linking with msvcrt[d].dll when `-fsycl` switch is used;
85+
- emitting an error on attempts to compile a program with static C++ RT
86+
using `-fsycl` and `/MT` or `/MTd`.
87+
That protects you from complicated runtime errors caused by C++ objects
88+
crossing sycl[d].dll boundary and not always handled properly by different
89+
versions of C++ RT used on app and sycl[d].dll sides.
90+
- The format of the object files produced by the compiler can change between
91+
versions. The workaround is to rebuild the application.
92+
- Using `cl::sycl::program` API to refer to a kernel defined in another
93+
translation unit leads to undefined behavior
94+
- Linkage errors with the following message:
95+
`error LNK2005: "bool const std::_Is_integral<bool>" (??$_Is_integral@_N@std@@3_NB) already defined`
96+
can happen when a SYCL application is built using MS Visual Studio 2019
97+
version below 16.3.0 and user specifies `-std=c++14` or `/std:c++14`.
98+
- Employing read sampler for image accessor may result in sporadic issues with
99+
Level Zero plugin/backend [2c50c03]
100+
- Printing internal defines isn't supported on Windows [50628db]
101+
- Group algorithms for MUL/AND/OR/XOR cannot be enabled for group scope due to
102+
SPIR-V limitations, and are not enabled for sub-group scope yet as the
103+
SPIR-V version isn't automatically raised from 1.1 to 1.3 [96da39e]
104+
- We cannot run Dead Argument Elimination for ESIMD since the pointers to SPIR
105+
kernel functions are saved in `!genx.kernels metadata` [cf10351]
106+
107+
1108
# December'20 release notes
2109

3110
Release notes for commit range 5d7e0925..5eebd1e4bfce

0 commit comments

Comments
 (0)