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.WorkGroupMemoryclass representingsycl::ext::oneapi::experimental::work_group_memory, to be used as a kernel argument type gh-1984 - Added
dpctl.LocalAccessorclass representingsycl::local_accessor, to be used as a kernel argument type gh-1991 - Added
dpctl.SyclPlatform.get_devicesmethod for getting alldpctl.SyclDevicesfor 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=COMBINEDgh-1993 - Added
outkeyword totensor.takegh-2010 - Added
dpctl.RawKernelArgclass representingsycl::ext::oneapi::experimental::raw_kernal_arg, to be used as a kernel argument type gh-2038 - Added
dpctl.SyclDevicemethods 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.sofor 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.truncgh-2033 - Changed implementation of
DPCTLPlatform_GetDefaultContextfrom using deprecatedext_oneapi_get_default_contexttokhr_get_default_contextgh-2042 - Updated supported array API specification version to 2024.12 gh-2047
- Implementation struct for
tensor.imagnow uses a static member value for the imaginary part of real-valued inputs gh-2063 - Updated
reprto 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"]toNonegh-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_sumanddpt.cumulative_prodwhendtype=dpt.boolgh-2018 - Fixed a typo in
dpctl.SyclPlatformrepr gh-2035 - Fixed a bug in
tensor.asarraywhereorder="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.USMAllocationErrorgh-2072
Maintenance
- Document
dpctl.device_type,dpctl.backend_type,dpctl.event_status_type, anddpctl.global_mem_cache_typeenums gh-2019 - Updated
SYCL_INCLUDE_DIR_HINTin Conda recipe gh-2039 - Updated expected dtypes in element-wise function docstrings gh-2041, gh-2048
- Set
ARRAY_API_TESTS_VERSION=2024.12when running array API conformity job in CI gh-2046 - Install
hwlocwhen running CI job for nightly SYCL compiler gh-2050 - Added
cython-linttopre-committo 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