Skip to content

v0.20.0

Compare
Choose a tag to compare
@ndgrigorian ndgrigorian released this 06 Jun 20:55
· 24 commits to master since this release
de4b977

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 representing sycl::ext::oneapi::experimental::work_group_memory, to be used as a kernel argument type gh-1984
  • Added dpctl.LocalAccessor class representing sycl::local_accessor, to be used as a kernel argument type gh-1991
  • Added dpctl.SyclPlatform.get_devices method for getting all dpctl.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 to tensor.take gh-2010
  • Added dpctl.RawKernelArg class representing sycl::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, and dpctl.tensor.trunc gh-2033
  • Changed implementation of DPCTLPlatform_GetDefaultContext from using deprecated ext_oneapi_get_default_context to khr_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"] to None 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 and dpt.cumulative_prod when dtype=dpt.bool gh-2018
  • Fixed a typo in dpctl.SyclPlatform repr gh-2035
  • Fixed a bug in tensor.asarray where order="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, and dpctl.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 to pre-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