Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[oneDPL] Clarify the version of the C++ standard for the oneDPL spec #500

Merged
merged 5 commits into from
Sep 11, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion source/elements/oneDPL/source/common.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ functionality including parallel algorithms, oneDPL execution policies, etc.
For the subset of the standard C++ library for kernels, the standard class
and function names are also aliased in :code:`namespace oneapi::dpl`.

oneDPL uses nested namespaces for the functionality aligned with C++ standard.
oneDPL uses nested namespaces for the functionality aligned with the C++ standard.
The names of those namespaces are the same as in :code:`namespace std`. For example,
oneDPL execution policies are provided in :code:`namespace oneapi::dpl::execution`.
8 changes: 6 additions & 2 deletions source/elements/oneDPL/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ 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:

- :doc:`Parallel API <parallel_api>`:
Expand All @@ -26,12 +30,12 @@ The library is comprised of the following components:

- :doc:`SYCL Kernels API <sycl_kernels_api>`:

* A subset of the `C++ standard`_ library which can be used with
* 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 C++ standard functionality.
* Various utilities in addition to the C++ standard functionality.

.. toctree::

Expand Down
5 changes: 3 additions & 2 deletions source/elements/oneDPL/source/parallel_api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
Parallel API
------------

oneDPL provides the set of algorithms with execution policies as defined by the `C++ Standard`_.
oneDPL provides the set of parallel algorithms as defined by the `C++ Standard`_,
including parallel algorithms added in the 6th edition known as C++20.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to say

Suggested change
including parallel algorithms added in the 6th edition known as C++20.
including parallel algorithms added in the International Standard ISO/IEC 14882:2020 known as C++20.

?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm okay with either.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

According to https://www.iso.org/standard/79358.html, C++20 is the 6th edition of the standard. Since a reference to the standard is already given in this sentence, I think it's quite clear what "the 6th edition" refers to.

I can do this change here, but then the other mentioning of the 6th edition below will look less clear.

All those algorithms work with *C++ Standard aligned execution policies* and with *DPC++
execution policies*.

Expand All @@ -16,7 +17,7 @@ C++ Standard aligned execution policies
+++++++++++++++++++++++++++++++++++++++

oneDPL has the set of execution policies and related utilities that are semantically aligned
with the C++ Standard:
with the `C++ Standard`_, 6th edition (C++20):
akukanov marked this conversation as resolved.
Show resolved Hide resolved

.. code:: cpp

Expand Down