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 kernel
and
kernel_bundle<bundle_state::executable>
classes.
Dpctl includes a reference implementation for array API specification using
DPC++ and USM memory allocation in the dpctl.tensor
sub-module.
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.
How-to Guides
API Documentation
About
dpctl is developed by Intel(R) and is part of the Intel Distribution for Python.
Contributing
See the contributing guide for the information on coding style and standards used in dpctl.
License
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.