oneDPL

oneDPL#

This is the specification of oneAPI DPC++ Library, part of the oneAPI Specification version 1.4-provisional-rev-1.

The oneAPI DPC++ Library (oneDPL) provides the functionality specified in the C++ standard, with extensions to support data parallelism and offloading to devices, and with extensions to simplify its usage for implementing data parallel algorithms.

Note

Unless specified otherwise, in this document the C++ standard refers to ISO/IEC 14882:2017 Programming languages - C++, commonly known as C++17.

The library is comprised of the following components:

  • Parallel API:

    • Parallel algorithms, complemented with execution policies and companion APIs for running on oneAPI devices.

    • An additional set of library classes and functions that are known to be useful in practice but are not yet included into C++ or SYCL specifications.

  • SYCL Kernels API:

    • A subset of the C++ standard library which can be used with buffers and data parallel kernels.

    • Support of random number generation including engines and distributions.

    • Various utilities in addition to the C++ standard functionality.