Welcome to the Data Parallel Control (dpctl) Documentation!
The Data Parallel Control (dpctl) package provides C and Python bindings for SYCL 2020. The SYCL 2020 features supported by dpctl are limited to those included by Intel(R) DPC++ compiler and specifically cover the SYCL runtime classes described in 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
Dpctl also supports the DPC++ ext::oneapi::filter_selector extension and has
experimental support for SYCL’s interoperability
Dpctl includes a reference implementation for array API specification using
DPC++ and USM memory allocation in the
dpctl.tensor sub-module provides an N-dimensional array Python object
dpctl.tensor.usm_ndarray and a growing implementation of array API specification
compliant operations on instances of the array class.
dpctl is developed by Intel(R) and is part of the Intel Distribution for Python.
See the contributing guide for the information on coding style and standards used in dpctl.
dpctl is licensed under Apache License 2.0 that can be found in LICENSE. All usage and contributions to the project are subject to the terms and conditions of this license.