@@ -8,6 +8,57 @@ The Intel® oneAPI DPC++ Library (oneDPL) accompanies the Intel® oneAPI DPC++/C
88and provides high-productivity APIs aimed to minimize programming efforts of C++ developers
99creating 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+
1162New in 2022.8.0
1263===============
1364
0 commit comments