Skip to content

0.20.0 Phoenix

Compare
Choose a tag to compare
@diptorupd diptorupd released this 11 Mar 21:22
· 1085 commits to main since this release

Added

  • New dpjit decorator supporting dpnp compilation (#887)
  • Boxing and unboxing functionality for dpnp.ndarray to numba_dpex (#902)
  • New DpexTarget and dispatcher for compiling dpnp using numba-dpex (#887)
  • Overload implementation for dpnp.empty (#902)
  • Overload implementation for dpnp.empty_like, dpnp.zeros_like and
    dpnp.ones_like inside dpjit (#928)
  • Overload implementation for dpnp.zeros and dpnp.ones inside dpjit (#923)
  • Compilation and offload support for dpnp vector style expressions using Numba
    parfors (#957)
  • Compilation of over 70 ufuncs for dpnp inside dpjit (#957)
  • Backported the split parfor pass from upstream Numba. (#949)
  • Numba type aliases to numba_dpex. (#851)
  • Numba prange alias inside numba_dpex. (#957)
  • New LRU cache for kernels (#804) and funcs (#877)
  • New Range and NdRange classes for kernel submission that follow sycl's range
    and ndrange syntax. (#888)
  • Monkey pacthes to Numba 0.56.4 to support dpnp ufuncs, allocating dpnp
    arrays (#954)
  • New config flag (NUMBA_DPEX_DUMP_KERNEL_LLVM) to dump a kernel's
    LLVM IR (#924)
  • A badge to our gitter chatroom (#919)
  • A small script to update copyright headers (#917)
  • A new dpexrt_python extension to support USM allocators for Numba
    NRT_MemInfo (#902)
  • Updated examples for kernel API demonstrating compute-follows-data programming
    model. (#826)

Changed

  • CLK_GLOBAL_MEM_FENCE and CLK_LOCAL_MEM_FENCE flags renamed to
    GLOBAL_MEM_FENCE and LOCAL_MEM_FENCE. (#844)
  • Switched from Ubuntu-latest to Ubuntu-20.04 for conda package build (#836)
  • Rename USMNdArrayType to USMNdArray (#851)
  • Changes to the Numba type to represent dpnp ndarray typess now renamed to
    DpnpNdarray (#880)
  • Improved exceptions and user errors (#804)
  • Updated internal API for kernel interface with improved support for
    __sycl_usm_array_interface__ protocol (#804)
  • Pin generated spirv version for kernels to 1.1 (#885)
  • Rename DpexContext and DpexTypingContext to DpexKernelTarget and
    DpexKernelTypingContext (#887)
  • Renamed existing dpnp overloads that used stubs to dpnp_stubs_impl.py (#953)
  • Dpctl version requirement mismatch is now a warning and not an
    ImportError (#925)
  • Update to versioneer 0.28 (#827)
  • Update to dpctl 0.14 (#858)
  • Update linters: black to 23.1.0, isort to 5.12.0 (#900)
  • License in setup.py to match actual project licensing (#904)

Fixed

  • Kernel specialization, compute follows data programming model for
    kernels (#804)
  • Dispatcher/caching rewrite to address performance regression (#912, #896)
  • func decorator qualname ambiguation fix (#905)

Removed

  • Removes the numpy_usm_shared module from numba_dpex. (#841)
  • Removes the usage of llvmlite.llvmpy (#932)

Deprecated

  • Support for NumPy arrays as kernel arguments (#804)
  • Kernel argument access specifiers (#804)
  • Support for dpctl.device_context to launch kernels and njit offloading (#804)
  • Dpnp overloads using stubs. (#953)