Dpctl

Latest version: v0.19.0

Safety actively analyzes 725174 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 7

0.9.0

Added
- Improvements to logic for working with custom DPC++ toolchain [481](https://github.com/IntelPython/dpctl/pull/481)
- Add SyclContext unit test cases [488](https://github.com/IntelPython/dpctl/pull/488)
- Consolidate configurations of tools that support PEP 518 into pyproject.toml [486](https://github.com/IntelPython/dpctl/pull/486)
- Added C-API hash function, used them in Python interface [491](https://github.com/IntelPython/dpctl/pull/491)
- Add missing extra checks to ensure unwrapped pointer is not Null
- Add error messages to L0 program creation routine
- Improve test coverage for dpctl_sycl_queue_interface [492](https://github.com/IntelPython/dpctl/pull/492)
- Use pytest.warns in test_lsplatform3 [495](https://github.com/IntelPython/dpctl/pull/495)
- Added test class to test DRef=nullptr case [496](https://github.com/IntelPython/dpctl/pull/496)
- Extend parameterized test in test_sycl_queue_interface [497](https://github.com/IntelPython/dpctl/pull/497)
- Use Memcpy, memadvise in tests
- Expanded types tests by TestQueueSubmitRange
- Added a test that retrieved DPCPP compiled kernel and submits them via DPCTLQueue_SubmitRange [499](https://github.com/IntelPython/dpctl/pull/499)
, DPCTLEvent_GetCommandExecutionStatus [516](https://github.com/IntelPython/dpctl/pull/516),
, DPCTLEvent_GetWaitList [510](https://github.com/IntelPython/dpctl/pull/510) functions
- Propagate compile flags [512](https://github.com/IntelPython/dpctl/pull/512)
- Add conda package CI pipeline on GitHub Actions [515](https://github.com/IntelPython/dpctl/pull/515)
- Run tests on GPU [518](https://github.com/IntelPython/dpctl/pull/518)
- Add 3 wrapper func for event::get_profiling_info [519](https://github.com/IntelPython/dpctl/pull/519)
- Changes to build_backend.py to enable sycl-compiler-prefix on Windows
- dtype keyword of usm_ndarray now supports np.double and other types [526](https://github.com/IntelPython/dpctl/pull/526)
- Implemented DPCTLQueue_SubmitBarrier, DPCTLQueue_SubmitBarrierForEvents,
SyclQueue.submit_barrier [524](https://github.com/IntelPython/dpctl/pull/524)
- Added C-API DPCTLQueue_HasEnableProfiling
- Added Python API SyclQueue.has_enable_profiling
- Use public for data owning class definitions
- Queue has enable profiling [531](https://github.com/IntelPython/dpctl/pull/531)
- Use public for data owning class definitions [533](https://github.com/IntelPython/dpctl/pull/533)
- Added logic to verify that all bits of property integer were recognized and used [494](https://github.com/IntelPython/dpctl/pull/494)
- Added support for some properties/methods of underluing device
- A test for properties, method of q mirroring that of device
- Conda build scripts should build wheels in the same setup invocation as install [538](https://github.com/IntelPython/dpctl/pull/538)
- Added install_requires keyword to setup call
- Added requirements.txt files in dpctl/ and in dpctl/docs [540](https://github.com/IntelPython/dpctl/pull/540)
- Improved C-API for dpctl Cython classes, added example of using them in Pybind11 extension. [550](https://github.com/IntelPython/dpctl/pull/550)
- dpctl.SyclEvent acquired ability to get command status and get profiling information. [553](https://github.com/IntelPython/dpctl/pull/553)

Changed
- Moved DPCLSyclInterface library from MANIFEST.in [482](https://github.com/IntelPython/dpctl/pull/482)
- Refactored tests
- Use dpcpp compiler package for Linux [514](https://github.com/IntelPython/dpctl/pull/514)
- Update conda-package.yml
- Static methods _init_helper made into functions and removed from PXD files [532](https://github.com/IntelPython/dpctl/pull/532)

Removed
- Remove imports from __future__ [485](https://github.com/IntelPython/dpctl/pull/485)

Fixed
- Fix sub devices [479](https://github.com/IntelPython/dpctl/pull/479)
- Fix addressof_ref function in `SyclContext` [488](https://github.com/IntelPython/dpctl/pull/488)
- Follow `DPCTLDevice_CreateFromSelector` which passes the check [487](https://github.com/IntelPython/dpctl/pull/487)
- Fix a typo in the pytest configuration [490](https://github.com/IntelPython/dpctl/pull/490)
- Fixed dbg_build.sh script for Linux to use L0
- Reuse IntelSycl_LIBRARY_DIR variable in cmake
- CXX, dpcpp used on Windows too
- Update conda-recipe/bld.bat
- Change to SyclQueue.__repr__ to reflect properties [531](https://github.com/IntelPython/dpctl/pull/531)
- Static methods `_init_helper` made into functions and removed from PXD files [532](https://github.com/IntelPython/dpctl/pull/532)
- Fixed typo in pip installation instruction [536](https://github.com/IntelPython/dpctl/pull/536)
- Fixed dpctl_config.h, added dpctl_service.h, .cpp [539](https://github.com/IntelPython/dpctl/pull/539)
- Fixed `__sycl_usm_array_interface__` output for 0d arrays [547](https://github.com/IntelPython/dpctl/pull/547)

0.8.0

Not secure
Added
- Implemented support for constructing MemoryUSM* from object with
__sycl_usm_array_interface__ when array-info is not contiguous [400](https://github.com/IntelPython/dpctl/pull/400)
- Print the backend as part of SyclDevice.print_device_info function [409](https://github.com/IntelPython/dpctl/pull/409)
- Added dpctl/tensor/_usmarray submodule [427](https://github.com/IntelPython/dpctl/pull/427)
- Added arg checking to functions in dpctl_sycl_usm_interface.cpp [430](https://github.com/IntelPython/dpctl/pull/430)
- A static method of _Memory to create from external allocation [430](https://github.com/IntelPython/dpctl/pull/430)
- Added usm_ndarray accessors [435](https://github.com/IntelPython/dpctl/pull/435)
- Added Device class representing Data-API notion of device [440](https://github.com/IntelPython/dpctl/pull/440)
- Added free Python function as_usm_memory(obj) [443](https://github.com/IntelPython/dpctl/pull/443) and associated unit
tests [449](https://github.com/IntelPython/dpctl/pull/449)
- Dependency for numpy 1.17 [445](https://github.com/IntelPython/dpctl/pull/445)
- Add a flag to make doxygen HTML generation optional [450](https://github.com/IntelPython/dpctl/pull/450)
- Added a feature to get the filter string for a device from Python using the
new dpctl.SyclDevice.get_filter_string method. Also added the corresponding
DPCTLDeviceMgr_GetPositionInDevices(DRef, device_mask) C API function [453](https://github.com/IntelPython/dpctl/pull/453)
- New options to setup.py to specify which dpcpp compiler to use, if L0
program creation is to be supported, and to generate code coverage [426](https://github.com/IntelPython/dpctl/pull/426)
- Github action to check Python code quality [422](https://github.com/IntelPython/dpctl/pull/422)
- Github action to auto-publish Sphinx docs for master [446](https://github.com/IntelPython/dpctl/pull/446)
- Github action to generate coverage report and publish to coveralls.io [459](https://github.com/IntelPython/dpctl/pull/459)

Changed
- Rename dpctl.dptensor to dpctl.tensor [407](https://github.com/IntelPython/dpctl/pull/407)
- Changed repr for Memory objects [442](https://github.com/IntelPython/dpctl/pull/442)
- Used dpctl.SyclQueue instead of manager and get current queue in tests for
SyclProgram [448](https://github.com/IntelPython/dpctl/pull/448)
-

Fixed
- Issue 189 dpctl.memory.MemoryUSMShared(np.int64(16)) should work [392](https://github.com/IntelPython/dpctl/pull/392)
- Use size_t instead of Py_ssize_t to fit device USM pointer [405](https://github.com/IntelPython/dpctl/pull/405)
- Various code quality issues identified by flake8 (417, 419, 420, 422)
- Fixed issues in slicing and array construction [441](https://github.com/IntelPython/dpctl/pull/441)
- Fixed an issue [447](https://github.com/IntelPython/dpctl/pull/447) where dpctl.get_devices does not return devices in the
same order as sycl::device::get_devices [451](https://github.com/IntelPython/dpctl/pull/451)
- L0 program creation support on Windows [319](https://github.com/IntelPython/dpctl/pull/319)

Removed
- Removing public keyword to get_current_queue Cython declaration [437](https://github.com/IntelPython/dpctl/pull/437)

0.7.0

Added
- Complete support for `sycl::ONEAPI::filter_selector` in dpctl.
, and `sycl::platform` [298](https://github.com/IntelPython/dpctl/pull/298)
creation using opaque pointers.
- A `DPCTLDeviceMgr` module in C API that caches a default context for root
devices [277](https://github.com/IntelPython/dpctl/pull/277).
- `DPCTLSyclBackendType` and `DPCTLSyclDeviceType` have a new member `ALL`
[287](https://github.com/IntelPython/dpctl/pull/287).
- C API now provides helper functions to convert between dpctl and SYCL enum
values [296](https://github.com/IntelPython/dpctl/pull/296).
- Macros to help create opaque vector classes for opaque SYCL types [297](https://github.com/IntelPython/dpctl/pull/297).
, `SyclContext` [334](https://github.com/IntelPython/dpctl/pull/334), `SyclPlatform` (#336, 298),
`SyclQueue` [323](https://github.com/IntelPython/dpctl/pull/323) have constructors that recognize filter selectors and closely
follow DPC++ interface.
- Add API to get a `PyCapsule` from `SyclQueue`, `SyclContext` instances [350](https://github.com/IntelPython/dpctl/pull/350).
- Added `get_queue_ref_from_ptr_and_syclobj(ptr, syclobj)` that creates
`DPCTLSyclQueueRef` from a USM pointer and Python object `syclobj` from
`__sycl_usm_array_interface__` [380](https://github.com/IntelPython/dpctl/pull/380).
- Support for SYCL sub-devices, including sub-device creation, queue, and
context creation using sub-devices [343](https://github.com/IntelPython/dpctl/pull/343).
- `SyclDevice.parent_device` property to indicate if an instance has a parent
device [366](https://github.com/IntelPython/dpctl/pull/366).
- Several new getter functions for device info descriptors to device interface
(300, 335, 318, 315, 308).
- Support for SYCL device aspects [307](https://github.com/IntelPython/dpctl/pull/307).
- Properties for every `sycl::device` info and aspect that we support in
`SyclDevice` [324](https://github.com/IntelPython/dpctl/pull/324).
- Support handling async errors inside `SylQueue` instances [346](https://github.com/IntelPython/dpctl/pull/346).
- `get_backend`, `get_platform`, `get_device_type` to Python `SyclDevice` class [300](https://github.com/IntelPython/dpctl/pull/300)
- A `_sycl_device_factory.pyx` module providing `SyclDevice` constructors using
standard `sycl::device_selector` classes (previously in `_sycl_device.pyx`)
and a new `get_devices` [277](https://github.com/IntelPython/dpctl/pull/277) function to enumerate all devices.
- `_sycl_device_factory.pyx` implements `get_num_devices` and `has_*_device(s)`
functions [320](https://github.com/IntelPython/dpctl/pull/320).
- Enable Python coverage in CI for Linux [369](https://github.com/IntelPython/dpctl/pull/369).
- Use `public` keyword in `_sycl_*.pxd` to generate header files allowing
non-Cython centric native extensions to work with dpctl's Python objects
[218](https://github.com/IntelPython/dpctl/pull/218).
- Documentation improvements [341](https://github.com/IntelPython/dpctl/pull/341).

Changed
- Rename dpCtl to dpctl in all comments, license headers, and docs. [342](https://github.com/IntelPython/dpctl/pull/342)
- `dpctl.memory.MemoryUSM*` constructors now use `dpctl.SyclQueue()` instead of
`dpctl.get_current_queue()` when the `queue` keyword argument is `None` (default) [382](https://github.com/IntelPython/dpctl/pull/382).
- `dpctl.set_default_queue` has been renamed to `dpctl.set_global_queue()` [323](https://github.com/IntelPython/dpctl/pull/323).
- Changed `dpctl.dump` to `dpctl.lsplatform` [336](https://github.com/IntelPython/dpctl/pull/336).
- Various `SyclDevice` methods related to querying `sycl::info::device` were converted
to properties [324](https://github.com/IntelPython/dpctl/pull/324).
- Various C API functions names were changed.

Fixed
- Possible crashes when a SYCL platform is not available [349](https://github.com/IntelPython/dpctl/pull/349).
- Fix tests which fail if GPU is not available (only CPU is available) [359](https://github.com/IntelPython/dpctl/pull/359).
- Fix breaking C API tests [358](https://github.com/IntelPython/dpctl/pull/358).
- Bandit warning about "subprocess.check_call(shell=True)" for Windows [306](https://github.com/IntelPython/dpctl/pull/306).

Removed
- Removed `get_num_platforms`, `has_cpu_queues`, `has_gpu_queues`, `get_num_queues`,
`has_sycl_platforms` [320](https://github.com/IntelPython/dpctl/pull/320).

0.6.1

Not secure
Fixed
- Do not use POP_FRONT in FindDPCPP.cmake so that we can use a cmake version older that 3.15.

0.6.0

Added
- Documentation improvements.
- Cmake improvements and Coverage for C API, Cython and Python.
- Added support for Level Zero devices and queues.
- Added support for SYCL standard device_selector classes.
- SyclDevice instances can now be constructed using filter selector strings.
- Code of conduct.
- Building wheels.
- Queue manager improvements.
- Adding `__array_function__` so that Numpy calls with dparrays work.
- Using clang-format for C/C++ code formatting.
- Using pytest for running tests.
- Add python and cython file coverage.
- Using Bandit for finding common security issues in Python code.
- Add instructions about file headers formats.

Changed
- Changed compiler name usage from clang++ to dpcpp.
- Reformat backend.pxd to be closer to black style.

Fixed
- Remove `cython` from `install_requires`. It allows use `dpCtl` in `numba` extensions.
- Incorrect import in example.
- Consistency of file headers.
- Klocwork issues.

0.5.0

Added
- `_Memory.get_pointer_type` static method which returns kind of USM pointer.
- Utility functions to transform string to device type and back.
- New `dpctl.dptensor.numpy_usm_shared` module containing USM array. USM array
extends NumPy ndarray.
- A lot of new examples. Including examples of building Cython extensions with DPC++ compiler that interoperate with dpCtl.
- Mechanism for registering a callback function to look and see if the object
supports USM.

Changed
- setup.py builds C++ backend for develop and install commands.
- Building wheels.
- Use DPC++ runtime from package `dpcpp_cpp_rt`.
- All usage of `DPPL` in C-API functions was changed to `DPCTL`, _e.g._, `DPPLQueueMgr_GetCurrentQueue` to `DPCTLQueueMgr_GetCurrentQueue`.
- Renamed the C-API directory is now called `dpctl-capi` instead of `backends`.
- Refactoring the `dpctl-capi` functions to prepare for changes to add Level Zero program creation.
- `SyclProgram` and `SyclKernel` classes were moved out of `dpctl` into the `dpctl.program` sub-module.

Fixed
- Klockwork static code analysis warnings.

Page 5 of 7

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.