dpctl
Data Parallel Control (dpctl) is a Python abstraction layer over SYCL.
Dpctl implements a subset of SYCL’s API providing wrappers for the
SYCL runtime classes described in Section 4.6 of
the SYCL 2020 spec. Note that the SYCL
device_selector
class is not implemented, instead there are device
selection helper functions that can be used to simulate the same behavior.
Dpctl implements the ONEPI::filter_selector
extension that is included
in Intel’s DPC++ SYCL compiler.
The module also includes a global SYCL queue manager. The queue manager
provides convenience functions to create a global instance of
a dpctl.SyclQueue
, to create a nested stack of queue objects, and
to create a queue object for use only within a specific scope.
Sub-modules
Data Parallel Control Memory provides Python objects for untyped USM memory container of bytes for each kind of USM pointers: shared pointers, device pointers and host pointers. |
|
Data Parallel Control Program provides a way to create a SYCL kernel from either an OpenCL program represented as a string or a SPIR-V binary file. |
|
Data Parallel Tensor Collection is a collection of tensor implementations that implement Python data API (https://data-apis.github.io/array-api/latest/) standard. |
|
A collection of utility functions. |
Classes
A Python wrapper for the sycl::context C++ class. |
|
A Python wrapper for the sycl::device C++ class. |
|
Python class representing |
|
Python class representing |
|
Python class representing |
|
Python class to measure device time of execution of commands submitted to |
Queue Management Functions
Yields a SYCL queue corresponding to the input queue object, device object, or device filter selector string. |
Device Selection Functions
Selects the root |
Other Functions
Return the directory that contains the dpctl *.h header files. |
Enums
An enumeration of supported SYCL backends. |
|
An enumeration of supported SYCL device types. |
|
An enumeration of SYCL event states. |
|
An enumeration of global memory cache types for a device. |
Exceptions
A SyclContextCreationError exception is raised when SyclContext could not created. |
|
A SyclDeviceCreationError exception is raised when SyclDevice instance could not created. |
|
A SyclKernelInvalidRangeError is raised when the provided range has less than one or more than three dimensions. |
|
A SyclKernelSubmitError exception is raised when the provided |
|
A SyclQueueCreationError exception is raised when a |
|
A SyclSubDeviceCreationError exception is raised when sub-devices were not created. |