A lightweight Python wrapper for a subset of SYCL.
Project description
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 and implements a tensor library conforming to Python Array
API standard.
The library helps authors of Python native extensions written
in C, Cython, or pybind11 to access dpctl objects representing SYCL
devices, queues, memory, and tensors.
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 Tookit 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"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dpctl-0.21.1-0-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: dpctl-0.21.1-0-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 27.3 MB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ed87f4abf01b6f343a3eea3a2b59dbf4d64e51ffe813a9da7a1273ffd90ef39
|
|
| MD5 |
bef9bd24f201a47810f91e992e16f85a
|
|
| BLAKE2b-256 |
afbba4dfe43d55685b1bcea088833790deaa45cbcbd6f2128606c8f1cde1936c
|
File details
Details for the file dpctl-0.21.1-0-cp314-cp314-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: dpctl-0.21.1-0-cp314-cp314-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 27.8 MB
- Tags: CPython 3.14, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fcce16b09086a671e9541245303e56bd603a08356f1df4f4ec26bca6c8f496d
|
|
| MD5 |
5d7313a54d8efbc100ea091ad1c7c167
|
|
| BLAKE2b-256 |
891320f73eb2e9db6b806df80bc2b6d2026f5968de7383e745876755a4e010b8
|
File details
Details for the file dpctl-0.21.1-0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: dpctl-0.21.1-0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 27.3 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a7405ca7638497372d9fa6299a34ffd0b39998a0cf1bf4c3fd38c5481fa7f65
|
|
| MD5 |
fce490988176a911ceb84fdccda83425
|
|
| BLAKE2b-256 |
1799b4d5d8bf9d54ac6130e587342149b200a868ee7e98466a0dff38d4621450
|
File details
Details for the file dpctl-0.21.1-0-cp313-cp313-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: dpctl-0.21.1-0-cp313-cp313-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 27.8 MB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f1e447a89f8418ca8d633756146c3ac203b6cedbb27a02f3a2070843d28b1a2
|
|
| MD5 |
1c9ebb4040db1b66553b2baac76128f8
|
|
| BLAKE2b-256 |
c393a47888c23aee1deb2c7c1aecc848fff1a1d100dfaf1c91ea0e11803da63e
|
File details
Details for the file dpctl-0.21.1-0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: dpctl-0.21.1-0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 27.2 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa1c857bc2925b93eb3c3e8c2a25ae55dc9459cb4a10247c7108de3aa22e75d5
|
|
| MD5 |
f32e2921159bec461614713693a2559a
|
|
| BLAKE2b-256 |
38eaee4dd227bfd85f89e15456104cbc7ee5ce80ed4576350232b3f8ba2cec55
|
File details
Details for the file dpctl-0.21.1-0-cp312-cp312-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: dpctl-0.21.1-0-cp312-cp312-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 27.8 MB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
95e0e9dfd4eaae7e054cded54cf10c9d9a7e65d2d589e4028e488e4d746054f4
|
|
| MD5 |
242faea5eeba4887f11f921328848362
|
|
| BLAKE2b-256 |
a3e3d35f1d3d5ecf9c028b1fd0f664316e448c4742e3b9b86b8a538387df7be1
|
File details
Details for the file dpctl-0.21.1-0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: dpctl-0.21.1-0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 27.2 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f2c6093576bf716f845083c76212a70e66090491f317cad0c609a768042937f
|
|
| MD5 |
3857b26d23fbc412af131e9876e072c1
|
|
| BLAKE2b-256 |
0737379ced80d369251a8b1127c8d30de9746fdb0c0091b3e19814929fe73fa4
|
File details
Details for the file dpctl-0.21.1-0-cp311-cp311-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: dpctl-0.21.1-0-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 27.8 MB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cdfdf72bc7d41de3297367f3aabcbdb321c6eb409b07fc78c9d07d8c0a0b3213
|
|
| MD5 |
3862b50bd9e6fb0336cc342d58903815
|
|
| BLAKE2b-256 |
3b747320d4af2af94509e5f75d9e30da43301a872bf900466c785318499785c6
|
File details
Details for the file dpctl-0.21.1-0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: dpctl-0.21.1-0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 27.2 MB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
270537cd9d09cd092b03178cd5e6738bdc310487c2a89312d9ec640d4dd4fc3d
|
|
| MD5 |
8005fe19c8c75bd2690b7bb99c454c75
|
|
| BLAKE2b-256 |
75544252e337a0ba9f1d690b397ad841698050d15650cda7f2eed6b63692f567
|
File details
Details for the file dpctl-0.21.1-0-cp310-cp310-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: dpctl-0.21.1-0-cp310-cp310-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 27.8 MB
- Tags: CPython 3.10, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a6c3c8eddb921b7bc3e2285ebf72f91e74a116452b0b140464d4a29044e18eb8
|
|
| MD5 |
fcf7825002dafb3dc625ccecba72507f
|
|
| BLAKE2b-256 |
7222fa6376a89c263f1ae1529aeaa044ff6ef79ecfb02d1cff66ce02f718021d
|