Parallel API is an implementation of the C++ standard libraries algorithms and execution
policies, as specified in the ISO/IEC 14882:2017 standard (commonly called C++17). The implementation
supports the unsequenced execution policy and the
shift_right algorithms, which are specified
in the final draft of the C++ 20 standard (N4860). For more details see the C++ Standard Execution
Policies. oneAPI DPC++ Library (oneDPL)
provides specific versions of the algorithms, including:
Vectorized search algorithms
Parallel API offers support for the parallel and vectorized execution of algorithms on Intel® processors and heterogeneity support with a DPC++ based implementation for device execution policies. For sequential execution, oneDPL relies on an available implementation of the C++ standard library.
The utility API includes iterators and function object classes. The iterators implement zip, transform, complete permutation operations on other iterators, and include a counting and discard iterator. The function object classes provide minimum, maximum, and identity operations that may be passed to algorithms such as reduce or transform.
oneDPL also includes an experimental implementation of range-based algorithms with their required ranges and Async API.