Skip to content

Edits to documentation per review feedback #936

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

Merged
merged 3 commits into from
Oct 27, 2022
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
15 changes: 10 additions & 5 deletions docs/docfiles/intro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,21 @@ Welcome to the Data-parallel Control (dpctl) Documentation!

The data-parallel control (dpctl) library provides C and Python bindings for
:sycl_spec_2020:`SYCL 2020 <>`. The SYCL 2020 features supported by dpctl are
limited to those included by Intel(R) DPCPP compiler and specifically cover the
limited to those included by Intel(R) DPC++ compiler and specifically cover the
SYCL runtime classes described in :sycl_runtime_classes:`Section 4.6 <>`
of the SYCL 2020 specification.

Apart from the bindings for these runtime
classes, dpctl includes bindings for SYCL USM memory allocators and
deallocators. Dpctl Python API provides classes that implement
`Python buffer protocol <https://docs.python.org/3/c-api/buffer.html>`_
using SYCL USM memory. It makes it possible to create Python objects that are
backed by SYCL USM memory.

Dpctl also supports the DPCPP :oneapi_filter_selection:`oneapi::filter_selector <>` extension and has
experimental support for SYCL's ``kernel`` and ``program`` classes.
Dpctl also supports the DPC++ :oneapi_filter_selection:`ext::oneapi::filter_selector <>` extension and has
experimental support for SYCL's interoperability ``kernel`` and
``kernel_bundle<bundle_state::executable>`` classes.

Dpctl includes a reference implementation for :array_api:`array API specification <>` using
DPC++ and USM memory allocation in the :class:`dpctl.tensor` sub-module.
The :class:`dpctl.tensor` sub-module provides an N-dimensional array Python object
:class:`dpctl.tensor.usm_ndarray` and a growing implementation of :array_api:`array API specification <>`
compliant operations on instances of the array class.
3 changes: 2 additions & 1 deletion docs/docfiles/urls.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,6 @@
"sycl_platform": "https://sycl.readthedocs.io/en/latest/iface/platform.html",
"sycl_queue": "https://sycl.readthedocs.io/en/latest/iface/queue.html",
"sycl_runtime_classes": "https://www.khronos.org/registry/SYCL/specs/sycl-2020/html/sycl-2020.html#_sycl_runtime_classes",
"sycl_spec_2020": "https://www.khronos.org/registry/SYCL/specs/sycl-2020/html/sycl-2020.html"
"sycl_spec_2020": "https://www.khronos.org/registry/SYCL/specs/sycl-2020/html/sycl-2020.html",
"array_api": "https://data-apis.org/array-api/latest/"
}
9 changes: 3 additions & 6 deletions docs/docfiles/user_guides/QuickStart.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,9 @@ On Windows OS

.. note::

The ``dpctl.lsplatform()`` function is new in dpctl 0.7 and will be
available in oneAPI 2021.3. If you are following the guide on an older
oneAPI installation, use ``dpctl.dump()``. If no GPU platforms are shown,
make sure your system has a supported GPU and the necessary GPU drivers
installed. You can install GPU drivers by following the
`GPU driver installation guide <https://dgpu-docs.intel.com/installation-guides/index.html>`_.
If no GPU platforms are shown, make sure your system has a supported
GPU and the necessary GPU drivers installed.
See `GPU driver installation guide <https://dgpu-docs.intel.com/installation-guides/index.html>`_ to install GPU drivers.

Install the Wheel Package from PyPi
====================================
Expand Down
11 changes: 5 additions & 6 deletions docs/docfiles/user_guides/manual/dpctl/basic_concepts.rst
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,11 @@ This section introduces the basic concepts for XPU management used by `dpctl`.
tasks are executed in the order in which they were submitted.

* **Event**
Holds information related to computation or data movement operation
scheduled for the execution on a queue. An event can store the execution status or
profiling information of the queue, to which the task is submitted.
Events can be used to specify task
dependencies or to synchronize host and devices.
An event holds information related to computation/data movement operation
scheduled for execution on a queue, such as its execution status as well
as profiling information if the queue the task was submitted to allowed
for collection of such information. Events can be used to specify task
dependencies as well as to synchronize host and devices.

* **USM**
Unified Shared Memory (USM) refers to pointer-based device memory management.
Expand All @@ -67,7 +67,6 @@ This section introduces the basic concepts for XPU management used by `dpctl`.
"Shared allocation", "Yes", "Accessible by both the host and device."
"Host allocation", "Yes", "Accessible by both the host and device."


Runtime manages synchronization of the host's and device's view into shared allocations.
The initial placement of the shared allocations is not defined.

Expand Down