Skip to content

Commit 6abbb56

Browse files
authored
[SYCL] Release notes for July SYCL implementation update. (#291)
Signed-off-by: Alexey Bader <alexey.bader@intel.com>
1 parent 2b585ff commit 6abbb56

File tree

1 file changed

+77
-0
lines changed

1 file changed

+77
-0
lines changed

sycl/ReleaseNotes.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,80 @@
1+
# July'19 release notes
2+
3+
Release notes for commit 64c0262c0f0b9e1b7b2e2dcef57542a3fe3bdb97.
4+
5+
## New features
6+
- `cl::sycl::stream` class support has been added.
7+
- New attributes for Intel FPGA device are added: `merge`, `max_replicates`
8+
and `simple_dual_port`.
9+
- Initial support for new Plugin Interface (PI) layer is added to SYCL runtime
10+
library. This feature simplifies porting SYCL implementation to non-OpenCL
11+
APIs.
12+
- New address space handling rules are implemented in the SYCL device
13+
compiler. Raw pointers are allocated in generic address space by default and
14+
address space inference is supposed to be done by LLVM pass. Old compiler
15+
behavior can be recovered by enabling `DISABLE_INFER_AS` environment
16+
variable.
17+
- Add basic implementation of hierarchical parallelism API.
18+
- Add new clang built-in function `__unique_stable_name`. SYCL compiler may
19+
use this built-in function to auto-generate SYCL kernel name for lambdas.
20+
21+
## Improvements
22+
- SYCL integration header is excluded from the dependency list.
23+
- Raw pointers capturing added to the SYCL device front-end compiler. This
24+
capability is required for Unified Shared Memory feature implementation.
25+
- SYCL device compiler enabled support for OpenCL types like event, sampler,
26+
images to simplify compilation of the SYCL code to SPIR-V format.
27+
`CXXReflower` pass used to make "SPIR-V friendly LLVM IR" has been removed.
28+
- Intel FPGA loop attributes were renamed to avoid potential name conflicts.
29+
- Old scheduler has been removed.
30+
- `sampler` type support is added to the `set_arg` methods.
31+
- Internal SYCL device compiler design documentation was improved and updated.
32+
Development process documentation has been updated with more details.
33+
- Initial support for `image` class (w/o accessor support).
34+
- Static variables are allocated in global address space now.
35+
- Made sub-group methods constant to enable more use cases.
36+
- Added `-fsycl-link` option to generate fat object "linkable" as regular host
37+
object.
38+
- Enable `set_final_data` method with `shared_ptr` parameter.
39+
- Enable using of the copy method with `shared_ptr` with `const T`.
40+
41+
## Bug fixes
42+
- Fixed argument size calculation for zero-dimensional accessor.
43+
- Removed incorrect source correlation from kernel instructions leading to
44+
incorrect profiling and debug information.
45+
- A number of issues were fixed breaking build of the compiler on Windows
46+
- Fixed unaligned access in load and store methods of the vector class.
47+
- `global_mem_cache_type` values were aligned with the latest revision of the
48+
SYCL specification.
49+
- Stubs for C++ standard headers were removed. This should fix compilation of
50+
<iostream> and <algorithm> with SYCL device compiler.
51+
- Unscoped enums were removed from global namespace to avoid conflicts with
52+
user defined symbols.
53+
- Explicit copy API of the handler class is blocking i.e. data is
54+
copied once the command group has completed execution.
55+
- Renamed `cl::sycl::group::get_linear` to `cl::sycl::group::get_linear_id`.
56+
- SYCL kernel constructor from OpenCL handle now retains OpenCL object during
57+
SYCL object lifetime.
58+
- Fixed forward declaration compilation inside a SYCL kernel.
59+
- Fixed code generation for 3-element boolean vectors.
60+
61+
## Prerequisites
62+
- Experimental Intel(R) CPU Runtime for OpenCL(TM) Applications with SYCL support is
63+
available now and recommended OpenCL CPU RT prerequisite for the SYCL
64+
compiler.
65+
- The Intel(R) Graphics Compute Runtime for OpenCL(TM) version 19.25.13237 is
66+
recommended OpenCL GPU RT prerequisite for the SYCL compiler.
67+
68+
## Known issues
69+
- New address space handling approach might degrade compilation time
70+
(especially for GPU device).
71+
- Some tests might fail on CPU device with the [first experimental CPU
72+
runtime](https://github.com/intel/llvm/tree/expoclcpu-1.0.0) due to new
73+
address space handling by the SYCL compiler. The workaround for this kind of
74+
issues while we wait for CPU runtime update is to set `DISABLE_INFER_AS`
75+
environment variable during compilation. See
76+
https://github.com/intel/llvm/issues/277 for more details.
77+
178
# June'19 release notes
279

380
The release notes contain information about changes that were done after

0 commit comments

Comments
 (0)