Skip to content

oneDPL 2022.6.0 release

Latest
Compare
Choose a tag to compare
@ValentinaKats ValentinaKats released this 27 Jun 15:46
456bbe5

News

  • oneAPI DPC++ Library Manual Migration Guide to simplify the migration of Thrust* and CUB* APIs from CUDA*.
  • radix_sort and radix_sort_by_key kernel templates were moved into oneapi::dpl::experimental::kt::gpu::esimd namespace. The former oneapi::dpl::experimental::kt::esimd namespace is deprecated and will be removed in a future release.
  • The for_loop, for_loop_strided, for_loop_n, for_loop_n_strided algorithms in namespace oneapi::dpl::experimental are enforced to fail with device execution policies.

New Features

  • Added experimental inclusive_scan kernel template algorithm residing in the oneapi::dpl::experimental::kt::gpu namespace.
  • radix_sort and radix_sort_by_key kernel templates are extended with overloads for out-of-place sorting.
    These overloads preserve the input sequence and sort data into the user provided output sequence.
  • Improved performance of the reduce, min_element, max_element, minmax_element, is_partitioned,
    lexicographical_compare, binary_search, lower_bound, and upper_bound algorithms with device policies.
  • sort, stable_sort, sort_by_key algorithms now use Radix sort for sorting sycl::half elements compared with std::less or std::greater.

Fixed Issues

  • Fixed compilation errors when using reduce, min_element, max_element, minmax_element, is_partitioned, and lexicographical_compare with Intel oneAPI DPC++/C++ compiler 2023.0 and earlier.
  • Fixed possible data races in the following algorithms used with device execution policies:
    remove_if, unique, inplace_merge, stable_partition, partial_sort_copy, rotate.
  • Fixed excessive copying of data in std::vector allocated with a USM allocator for standard library implementations which have allocator information in the std::vector::iterator type.
  • Fixed an issue where checking std::is_default_constructible for transform_iterator with a functor that is not default-constructible could cause a build error or an incorrect result.
  • Fixed handling of sycl device copyable_ for internal and public oneDPL types.
  • Fixed handling of std::reverse_iterator as input to oneDPL algorithms using a device policy.
  • Fixed set_intersection to always copy from the first input sequence to the output, where previously some calls would copy from the second input sequence.
  • Fixed compilation errors when using oneapi::dpl::zip_iterator with the oneTBB backend and C++20.

New Known Issues and Limitations

  • histogram algorithm requires the output value type to be an integral type no larger than 4 bytes when used with an FPGA policy.