Data Parallel Control
The compute kernel can be a code:
- written by the user, e.g., using
- that is part of a library, such as oneMKL
- query platforms
- discover and represent devices and sub-devices
- construct contexts and queues
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.
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 from the Intel(R) channel on Anaconda
cloud, use the following command:
conda install dpctl -c intel
dpctl can be installed using
pip obtaining wheel packages either from PyPi or from Intel(R) channel on Anaconda.
dpctl wheel package from Intel(R) channel on Anaconda, run the following command:
python -m pip install --index-url https://pypi.anaconda.org/intel/simple dpctl
Installing the bleeding edge
To try out the current master, install it from our development channel on Anaconda cloud:
conda install dpctl -c dppy/label/dev
Refer to our Documentation for more information on
setting up a development environment and building
dpctl from the source.
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.
Tests are located in folder dpctl/tests.
To run the tests, use:
pytest --pyargs dpctl
Running full test suite requires working C++ compiler. To run the test suite without one, use:
pytest --pyargs dpctl -k "not test_cython_api"