oneDPL 2022.7.1 release
·
402 commits
to main
since this release
Fixed Issues
- Fixed a build error for the
oneapi::dpl::sort_by_keyalgorithm when multiple calls are made to the algorithm
with identically typed parameter lists.
Known Issues and Limitations
Existing Issues
See oneDPL Guide for other restrictions and known limitations.
histogrammay provide incorrect results with device policies in a program built with -O0 option.- Inclusion of
<oneapi/dpl/dynamic_selection>prior to<oneapi/dpl/random>may result in compilation errors.
Include<oneapi/dpl/random>first as a workaround. - Incorrect results may occur when using
oneapi::dpl::experimental::philox_enginewith no predefined template
parameters and withword_sizevalues other than 64 and 32. - Incorrect results or a synchronous SYCL exception may be observed with the following algorithms built
with -O0 option and executed on a GPU device:exclusive_scan,inclusive_scan,transform_exclusive_scan,
transform_inclusive_scan,copy_if,remove,remove_copy,remove_copy_if,remove_if,
partition,partition_copy,stable_partition,unique,unique_copy, andsort. - The value type of the input sequence should be convertible to the type of the initial element for the following
algorithms with device execution policies:transform_inclusive_scan,transform_exclusive_scan,
inclusive_scan, andexclusive_scan. - The following algorithms with device execution policies may exceed the C++ standard requirements on the number
of applications of user-provided predicates or equality operators:copy_if,remove,remove_copy,
remove_copy_if,remove_if,partition_copy,unique, andunique_copy. In all cases,
the predicate or equality operator is appliedO(n)times. - The
adjacent_find,all_of,any_of,equal,find,find_if,find_end,find_first_of,
find_if_not,includes,is_heap,is_heap_until,is_sorted,is_sorted_until,mismatch,
none_of,search, andsearch_nalgorithms may cause a segmentation fault when used with a device execution
policy on a CPU device, and built on Linux with Intel® oneAPI DPC++/C++ Compiler 2025.0.0 and -O0 -g compiler options. histogramalgorithm requires the output value type to be an integral type no larger than 4 bytes
when used with an FPGA policy.- Compilation issues may be encountered when passing zip iterators to
exclusive_scan_by_segmenton Windows. - For
transform_exclusive_scanandexclusive_scanto run in-place (that is, with the same data
used for both input and destination) and with an execution policy ofunseqorpar_unseq,
it is required that the provided input and destination iterators are equality comparable.
Furthermore, the equality comparison of the input and destination iterator must evaluate to true.
If these conditions are not met, the result of these algorithm calls is undefined. sort,stable_sort,sort_by_key,stable_sort_by_key,partial_sort_copyalgorithms
may work incorrectly or cause a segmentation fault when used a device execution policy on a CPU device,
and built on Linux with Intel® oneAPI DPC++/C++ Compiler and -O0 -g compiler options.
To avoid the issue, pass-fsycl-device-code-split=per_kerneloption to the compiler.- Incorrect results may be produced by
exclusive_scan,inclusive_scan,transform_exclusive_scan,
transform_inclusive_scan,exclusive_scan_by_segment,inclusive_scan_by_segment,reduce_by_segment
withunseqorpar_unseqpolicy when compiled by Intel® oneAPI DPC++/C++ Compiler
with-fiopenmp,-fiopenmp-simd,-qopenmp,-qopenmp-simdoptions on Linux.
To avoid the issue, pass-fopenmpor-fopenmp-simdoption instead. - Incorrect results may be produced by
reduce,reduce_by_segment, andtransform_reduce
with 64-bit data types when compiled by Intel® oneAPI DPC++/C++ Compiler versions 2021.3 and newer
and executed on a GPU device. For a workaround, define theONEDPL_WORKAROUND_FOR_IGPU_64BIT_REDUCTION
macro to1before including oneDPL header files. std::tuple,std::paircannot be used with SYCL buffers to transfer data between host and device.std::arraycannot be swapped in DPC++ kernels withstd::swapfunction orswapmember function
in the Microsoft* Visual C++ standard library.- The
oneapi::dpl::experimental::ranges::reversealgorithm is not available with-fno-sycl-unnamed-lambdaoption. - STL algorithm functions (such as
std::for_each) used in DPC++ kernels do not compile with the debug version of
the Microsoft* Visual C++ standard library.