v0.20.0
This release achieves compliance of dpctl.tensor
with the Python Array API 2024.12 standard.
The dpctl
namespace has also received a number of new features, including new Python classes dpctl.LocalAccessor
, dpctl.WorkGroupMemory
, and dpctl.RawKernelArg
to be used as kernel argument types, support for peer access between dpctl.SyclDevice
instances, and support for composite Level Zero devices.
Added
- Added
dpctl.WorkGroupMemory
class representingsycl::ext::oneapi::experimental::work_group_memory
, to be used as a kernel argument type gh-1984 - Added
dpctl.LocalAccessor
class representingsycl::local_accessor
, to be used as a kernel argument type gh-1991 - Added
dpctl.SyclPlatform.get_devices
method for getting alldpctl.SyclDevices
for the platform gh-1992 - Added support for the composite devices extension for Level Zero devices, usable with some devices when setting
ZE_FLAT_DEVICE_HIERARCHY=COMBINED
gh-1993 - Added
out
keyword totensor.take
gh-2010 - Added
dpctl.RawKernelArg
class representingsycl::ext::oneapi::experimental::raw_kernal_arg
, to be used as a kernel argument type gh-2038 - Added
dpctl.SyclDevice
methods for querying, enabling, and disabling peer access between devices gh-2077, gh-2082
Changed
- Updated Level Zero loader detection to no longer rely on reading
libur_adapter_level_zero.so
for the loader filename gh-2025 - Updated integer array indexing to align with the 2024.12 array API specification gh-2032
- Support for Boolean data-type is added to
dpctl.tensor.ceil
,dpctl.tensor.floor
, anddpctl.tensor.trunc
gh-2033 - Changed implementation of
DPCTLPlatform_GetDefaultContext
from using deprecatedext_oneapi_get_default_context
tokhr_get_default_context
gh-2042 - Updated supported array API specification version to 2024.12 gh-2047
- Implementation struct for
tensor.imag
now uses a static member value for the imaginary part of real-valued inputs gh-2063 - Updated
repr
to show the shape of the abbreviated arrays and show the shape and data type of zero-size arrays gh-2067 - Changed
tensor.__array_namespace_info__().capabilities()[]"max dimensions"]
toNone
gh-2071
Fixed
- Refactored code common to accumulation operations (
dpt.cumulative_sum
,dpt.cumulative_prod
,dpt.cumulative_logsumexp
) and removed unnecessary event initialization gh-2011 - Fixed incorrect results for
dpt.cumulative_sum
anddpt.cumulative_prod
whendtype=dpt.bool
gh-2018 - Fixed a typo in
dpctl.SyclPlatform
repr gh-2035 - Fixed a bug in
tensor.asarray
whereorder="K"
could fail to produce an array sufficient for the internal copy operation for some edge cases, including a contiguous array with permuted dimensions gh-2058 - Fixed a typo in
dpctl.memory.USMAllocationError
gh-2072
Maintenance
- Document
dpctl.device_type
,dpctl.backend_type
,dpctl.event_status_type
, anddpctl.global_mem_cache_type
enums gh-2019 - Updated
SYCL_INCLUDE_DIR_HINT
in Conda recipe gh-2039 - Updated expected dtypes in element-wise function docstrings gh-2041, gh-2048
- Set
ARRAY_API_TESTS_VERSION=2024.12
when running array API conformity job in CI gh-2046 - Install
hwloc
when running CI job for nightly SYCL compiler gh-2050 - Added
cython-lint
topre-commit
to improve style and readability of Cython code gh-2056 - Skip upload jobs when GitHub CI is called from a forked repo gh-2059
- Disable nightly tests run from forked repos gh-2060
- Fixed a typo in beginner's guide example gh-2061
- Updated bandit version gh-2075
- Updated Conda installation instructions gh-2080, gh-2081
- Fixed an incorrect link to changelog in package metadata gh-2085
- Miscellaneous changes to continuous integration/delivery (CI/CD) supporting scripts gh-2020, gh-2034, gh-2043, gh-2044, gh-2065, gh-2066, gh-2068, gh-2070
New Contributors
- @jharlow-intel made their first contribution in #2054
- @david-cortes-intel made their first contribution in #2080