Skip to main content

Code style: black Imports: isort pre-commit Coverage Status Generate Documentation Join the chat at https://matrix.to/#/#Data-Parallel-Python_community:gitter.im Coverity Scan Build Status OpenSSF Scorecard

oneAPI logo

Data Parallel Control

Data Parallel Control or dpctl is a Python library that allows users to control the execution placement of a compute kernel on an XPU.

The compute kernel can be a code:

  • written by the user, e.g., using numba-dpex
  • that is part of a library, such as oneMKL

The dpctl library is built upon the SYCL standard. It implements Python bindings for a subset of the standard runtime classes that allow users to:

  • query platforms
  • discover and represent devices and sub-devices
  • construct contexts and queues

dpctl features classes for SYCL Unified Shared Memory (USM) management.

The library helps authors of Python native extensions written in C, Cython, or pybind11 to access dpctl objects representing SYCL devices, queues, and memory.

Dpctl is the core part of a larger family of data-parallel Python libraries and tools to program on XPUs.

Installing

You can install the library using conda (from Intel's channel - see instructions below) or pip package managers. It is also available in the Intel(R) Distribution for Python (IDP).

Intel(R) oneAPI

You can find the most recent release of dpctl every quarter as part of the Intel(R) oneAPI releases.

To get the library from the latest oneAPI release, follow the instructions from Intel(R) oneAPI installation guide.

NOTE: You need to install the Intel(R) oneAPI AI Analytics Toolkit to get IDP and dpctl.

Conda

To install dpctl from the Intel(R) conda channel, use the following command:

conda install dpctl -c https://software.repos.intel.com/python/conda/ -c conda-forge --override-channels

Pip

The dpctl can be installed using pip obtaining wheel packages either from PyPi or from Intel(R) channel. To install dpctl wheel package from Intel(R) channel, run the following command:

python -m pip install --index-url https://software.repos.intel.com/python/pypi dpctl

Installing the bleeding edge

To try out the latest features, install dpctl from our development channel on Anaconda cloud:

conda install dpctl -c dppy/label/dev -c conda-forge --override-channels

Building

Refer to our Documentation for more information on setting up a development environment and building dpctl from the source.

Examples

Our examples are located in the examples/ folder and are organized in sub-folders. Examples in the Python/ folder demonstrate how to inspect the heterogeneous platform, select a device, create an execution queue, and how to control device memory allocation and execution placement.

Examples in Cython/, C/, and Pybind11 folders demonstrate creation of SYCL-powered native Python extensions. Please refer to each folder's README document for directions on how to build and use each example.

Running Tests

Tests are located in folder dpctl/tests.

To run the tests, use:

pytest --pyargs dpctl

Running full test suite requires working C/C++ compiler and installed Cython package. To run the test suite without these, use:

pytest --pyargs dpctl -k "not test_cython_api and not test_c_headers"

Metadata

Release files for dpctl 0.23.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for dpctl 0.23.0
File Actions
dpctl-0.23.0-0-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details for dpctl-0.23.0-0-cp314-cp314t-win_amd64.whl
dpctl-0.23.0-0-cp314-cp314t-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64 Details for dpctl-0.23.0-0-cp314-cp314t-manylinux_2_28_x86_64.whl
dpctl-0.23.0-0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for dpctl-0.23.0-0-cp314-cp314-win_amd64.whl
dpctl-0.23.0-0-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details for dpctl-0.23.0-0-cp314-cp314-manylinux_2_28_x86_64.whl
dpctl-0.23.0-0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for dpctl-0.23.0-0-cp313-cp313-win_amd64.whl
dpctl-0.23.0-0-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details for dpctl-0.23.0-0-cp313-cp313-manylinux_2_28_x86_64.whl
dpctl-0.23.0-0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for dpctl-0.23.0-0-cp312-cp312-win_amd64.whl
dpctl-0.23.0-0-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details for dpctl-0.23.0-0-cp312-cp312-manylinux_2_28_x86_64.whl
dpctl-0.23.0-0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for dpctl-0.23.0-0-cp311-cp311-win_amd64.whl
dpctl-0.23.0-0-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details for dpctl-0.23.0-0-cp311-cp311-manylinux_2_28_x86_64.whl
dpctl-0.23.0-0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for dpctl-0.23.0-0-cp310-cp310-win_amd64.whl
dpctl-0.23.0-0-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details for dpctl-0.23.0-0-cp310-cp310-manylinux_2_28_x86_64.whl

Total release size: 18.8 MB

Release files / dpctl-0.23.0-0-cp314-cp314t-win_amd64.whl

Download URL dpctl-0.23.0-0-cp314-cp314t-win_amd64.whl
Size 1.7 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
e57bd94ce3c5934d5b07a62eb0688d49414a64c3a0ac76bed876b8392e23fdd7
BLAKE2b-256 checksum
How to use checksums
5a107e0a940ebfd53772061520461ba9b5e2b758a12bae0fc130f479c4951a03
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / dpctl-0.23.0-0-cp314-cp314t-manylinux_2_28_x86_64.whl

Download URL dpctl-0.23.0-0-cp314-cp314t-manylinux_2_28_x86_64.whl
Size 1.6 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a6121143846383cf194e7439953b070b1fa4bfd60fa94cb0990b3997dba7b3ce
BLAKE2b-256 checksum
How to use checksums
fbe3deec87387ee71e9aab283b1b89b95177a0dc8ea901ebd38e6e425461d30a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / dpctl-0.23.0-0-cp314-cp314-win_amd64.whl

Download URL dpctl-0.23.0-0-cp314-cp314-win_amd64.whl
Size 1.6 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
99f6b0571ad82f91c71348623408b53e599d68c5d68629658c2df50c000c2c5f
BLAKE2b-256 checksum
How to use checksums
752d68428de2293ebf8405eb833fbe84b671c300d0880634236ab0152d7591a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / dpctl-0.23.0-0-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL dpctl-0.23.0-0-cp314-cp314-manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4b32b7d9f8bee9d298496ff19e5797e13aaedadded97418456d9eb7b1a4ea5f9
BLAKE2b-256 checksum
How to use checksums
90020de7ce58492f6b4710ab518c6faa360dcb1c46fccb892f3d1ba148143906
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / dpctl-0.23.0-0-cp313-cp313-win_amd64.whl

Download URL dpctl-0.23.0-0-cp313-cp313-win_amd64.whl
Size 1.6 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
e843a85e49aaa028d20f2039611f0bd57cfd8f6ab07dfed531ee4f212de1e91e
BLAKE2b-256 checksum
How to use checksums
0e257340be0969411c4dc5420a2e53299b503bcb1954520be8d4fd59cda833d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / dpctl-0.23.0-0-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL dpctl-0.23.0-0-cp313-cp313-manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
95a240a2aebd09ee4ad01a0d292896a908861df319c822aa338e1ca27d1a7602
BLAKE2b-256 checksum
How to use checksums
2b19ba229fe051d2c5bbe1b4d1c20c7fedfa917fd70d463a8777124d586d2cc2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / dpctl-0.23.0-0-cp312-cp312-win_amd64.whl

Download URL dpctl-0.23.0-0-cp312-cp312-win_amd64.whl
Size 1.6 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
081c90680a4292975f24b670f4a3a65e3c914e12166559d2a7edabe0c7aedb66
BLAKE2b-256 checksum
How to use checksums
b924329ce9f003843da40f2f1919793a022d1d5f9b1912a61e104597a2012c14
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / dpctl-0.23.0-0-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL dpctl-0.23.0-0-cp312-cp312-manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3c0515e7e00d9bd6e72f03329e8b47e2fe7dc4960583fdf4443513ae02b03d6b
BLAKE2b-256 checksum
How to use checksums
1f03396710989832cad4fcabe4ea018cc615c257e605d406baafdf11aeebdadd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / dpctl-0.23.0-0-cp311-cp311-win_amd64.whl

Download URL dpctl-0.23.0-0-cp311-cp311-win_amd64.whl
Size 1.6 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
690e309581a1089b173ebdd66a03e36969fabd9294c24dfedf1190a48fa29a00
BLAKE2b-256 checksum
How to use checksums
b6e501a75ba3e15e8909ab5cde431b97dbc16a1f0425a481729762de5e7cd660
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / dpctl-0.23.0-0-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL dpctl-0.23.0-0-cp311-cp311-manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
14fd41c9aa5e0359674d6824c32da08bf785ff33e3810791b645dd2ff74d7526
BLAKE2b-256 checksum
How to use checksums
a3f60c33144c0db34500a136b75f2c4be14c352ca6cd1e1212afa818ff7398cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / dpctl-0.23.0-0-cp310-cp310-win_amd64.whl

Download URL dpctl-0.23.0-0-cp310-cp310-win_amd64.whl
Size 1.6 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
98160e9232eb656c847273e3461d416bd3e57cc38806b6afba602f0e56a9c4f8
BLAKE2b-256 checksum
How to use checksums
a63922c4e14610d07162b4cf49f6962397991440f5b04fe6e4f759820ba8a70c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / dpctl-0.23.0-0-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL dpctl-0.23.0-0-cp310-cp310-manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5932ddce7ca540d509e33e5ab4b6bc71b01c9451de91f081d3aaba2048e8e5b2
BLAKE2b-256 checksum
How to use checksums
4c3cef73a46860768a812d224d4513615f5b36a465163190faac1f49c9272dd1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Security for dpctl 0.23.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page