Skip to content

Commit 63a030d

Browse files
timmiesmithdmitriy-sobolevmmichel11
authored
Release notes for 2022.9.0 release. (#2267) (#2276)
--------- Co-authored-by: Dmitriy Sobolev <Dmitriy.Sobolev@intel.com> Co-authored-by: Matthew Michel <106704043+mmichel11@users.noreply.github.com>
1 parent 7660945 commit 63a030d

2 files changed

Lines changed: 54 additions & 0 deletions

File tree

documentation/library_guide/introduction.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,5 +177,8 @@ Known Limitations
177177
than ``2423.32`` (Rolling) and ``2350.61`` (LTS) is used.
178178
See the `Release Types <https://dgpu-docs.intel.com/releases/releases.html>`_
179179
to find information about the relevant Rolling and LTS releases.
180+
* ``std::ranges::drop_view`` from libstdc++ version 10 may throw exceptions.
181+
This can lead to a "SYCL kernel cannot use exceptions" compilation error
182+
when it is used to pass data to a range-based algorithm with a device policy.
180183

181184
.. _`SYCL Specification`: https://registry.khronos.org/SYCL/specs/sycl-2020/html/sycl-2020.html

documentation/release_notes.rst

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,57 @@ The Intel® oneAPI DPC++ Library (oneDPL) accompanies the Intel® oneAPI DPC++/C
88
and provides high-productivity APIs aimed to minimize programming efforts of C++ developers
99
creating efficient heterogeneous applications.
1010

11+
New in 2022.9.0
12+
===============
13+
14+
New Features
15+
------------
16+
- Added parallel range algorithms in ``namespace oneapi::dpl::ranges``: ``fill``, ``move``, ``replace``, ``replace_if``,
17+
``remove``, ``remove_if``, ``mismatch``, ``minmax_element``, ``min``, ``max``, ``find_first_of``, ``find_end``,
18+
``is_sorted_until``. These algorithms operate with C++20 random access ranges.
19+
- Improved performance of set operation algorithms when using device policies: ``set_union``, ``set_difference``,
20+
``set_intersection``, ``set_symmetric_difference``.
21+
- Improved performance of ``copy``, ``fill``, ``for_each``, ``replace``, ``reverse``, ``rotate``, ``transform`` and 30+
22+
other algorithms with device policies on GPUs when using ``std::reverse_iterator``.
23+
- Added ADL-based customization point ``is_onedpl_indirectly_device_accessible``, which can be used to mark iterator
24+
types as *indirectly device accessible*. Added public trait ``oneapi::dpl::is_directly_device_accessible[_v]`` to
25+
query if types are indirectly device accessible.
26+
27+
Fixed Issues
28+
------------
29+
- Eliminated runtime exceptions encountered when compiling code that called ``inclusive_scan``, ``copy_if``,
30+
``partition``, ``unique``, ``reduce_by_segment``, and related algorithms with device policies using
31+
the open source oneAPI DPC++ Compiler without specifying an optimization flag.
32+
- Fixed a compilation error in ``reduce_by_segment`` regarding return type deduction when called with a device policy.
33+
- Eliminated multiple compile time warnings throughout the library.
34+
35+
Known Issues and Limitations
36+
----------------------------
37+
Existing Issues
38+
^^^^^^^^^^^^^^^
39+
See oneDPL Guide for other `restrictions and known limitations`_.
40+
41+
- Incorrect results may be observed when calling ``sort`` with a device policy on Intel® Arc™ graphics 140V with data
42+
sizes of 4-8 million elements.
43+
- ``histogram`` algorithm requires the output value type to be an integral type no larger than four bytes
44+
when used with a device policy on hardware that does not support 64-bit atomic operations.
45+
- ``histogram`` may provide incorrect results with device policies in a program built with ``-O0`` option and the driver
46+
version is 2448.13 or older.
47+
- For ``transform_exclusive_scan`` and ``exclusive_scan`` to run in-place (that is, with the same data
48+
used for both input and destination) and with an execution policy of ``unseq`` or ``par_unseq``,
49+
it is required that the provided input and destination iterators are equality comparable.
50+
Furthermore, the equality comparison of the input and destination iterator must evaluate to true.
51+
If these conditions are not met, the result of these algorithm calls is undefined.
52+
- Incorrect results may be produced by ``exclusive_scan``, ``inclusive_scan``, ``transform_exclusive_scan``,
53+
``transform_inclusive_scan``, ``exclusive_scan_by_segment``, ``inclusive_scan_by_segment``, ``reduce_by_segment``
54+
with ``unseq`` or ``par_unseq`` policy when compiled by Intel® oneAPI DPC++/C++ Compiler 2024.1 or earlier
55+
with ``-fiopenmp``, ``-fiopenmp-simd``, ``-qopenmp``, ``-qopenmp-simd`` options on Linux.
56+
To avoid the issue, pass ``-fopenmp`` or ``-fopenmp-simd`` option instead.
57+
- With libstdc++ version 10, the compilation error *SYCL kernel cannot use exceptions* occurs
58+
when calling the range-based ``adjacent_find``, ``is_sorted`` or ``is_sorted_until`` algorithms with device policies.
59+
- The range-based ``count_if`` may produce incorrect results on Intel® Data Center GPU Max Series when the driver version
60+
is "Rolling 2507.12" and newer.
61+
1162
New in 2022.8.0
1263
===============
1364

0 commit comments

Comments
 (0)