Summary
This release achieves 100% compliance with Python Array API specification (revision 2024.12).
The release provides enhanced compatibility with NumPy 2.2.5. Window and mathematical routines are complemented by a set of new functions.
Moreover, it adds support to build dpnp
from the source for AMD GPUs.
Details
Added
- Added implementation of
dpnp.hamming
#2341, #2357 - Added implementation of
dpnp.hanning
#2358 - Added implementation of
dpnp.blackman
#2363 - Added implementation of
dpnp.bartlett
#2366 - Added implementation of
dpnp.convolve
#2205 - Added implementation of
dpnp.kaiser
#2387 - Added implementation of
dpnp.bitwise_count
#2308 - Added implementation of
dpnp.common_type
#2391 - Added implementation of
dpnp.interp
#2417 - Added support to build
dpnp
for specified AMD GPU architecture using CodePlay oneAPI plug-in #2302
Changed
- Improved performance of
dpnp.nansum
,dpnp.nanprod
,dpnp.nancumsum
, anddpnp.nancumprod
by reusingdpnp.nan_to_num
function in implementation of the functions #2339 - Allowed input array of
uint64
dtype indpnp.bincount
#2361 - The vector norms
ord={None, 1, 2, inf}
and the matrix normsord={None, 1, 2, inf, "fro", "nuc"}
now consistently return zero for empty arrays, which are arrays with at least one axis of size zero. This change affectsdpnp.linalg.norm
,dpnp.linalg.vector_norm
, anddpnp.linalg.matrix_norm
. Previously, dpnp would either raise errors or return zero depending on the parameters provided #2371 - Extended
dpnp.fft.fftfreq
anddpnp.fft.rfftfreq
functions to supportdtype
keyword per Python Array API spec 2024.12 #2384 - Updated
dpnp.fix
to return output with the same data-type of input #2392 - Updated
dpnp.einsum
to add support fororder=None
#2411 - Updated Python Array API specification version supported to
2024.12
#2416 - Removed
einsum_call
keyword fromdpnp.einsum_path
signature #2421 - Updated
dpnp.vdot
to return a 0-D array when one of the inputs is a scalar #2295 - Updated
dpnp.outer
to return the same dtype as NumPy when multiplying an array with a scalar #2295 - Changed
"max dimensions"
toNone
in array API capabilities #2432 - Updated kernel header
i0.hpp
to exposecyl_bessel_i0
function depending on build target #2440 - Added MKL functions
arg
,copysign
,i0
, andinv
from VM namespace to be used by implementation of the appropriate element-wise functions #2445 - Clarified details about conda install instructions in
Quick start quide
andREADME
#2446 - Bumped oneMKL version up to
0.7
#2448 - The parameter
axis
indpnp.take_along_axis
function has now a default value of-1
#2442 - Updates the list of required python versions documented in
Quick Start Guide
#2449 - Updated FFT module to ensure an input array is Hermitian before calling complex-to-real FFT #2444
- Aligned
black
configuration with the list of supported python versions #2457 - Use
pyproject.toml
instead ofsetup.py
aligning with current packaging best practices #2462 - Added a clarification to
dpnp.linalg.cond
docstring about its behavior with singular matrices #2460
Fixed
- Resolved an issue with an incorrect result returned due to missing dependency from the strided kernel on a copy event in
dpnp.erf
#2378 - Updated
conda create
commands build and install instructions ofQuick start guide
to avoid a compilation error #2395 - Added handling of empty string passed to a test env variable defining data type scope as a
False
value #2415 - Resolved build issues on non-Intel targets in
dpnp.i0
anddpnp.kaiser
#2439 - Ensure consistency in the
dpnp.linalg.LinAlgError
exception raised on singular input matrices for both non-batched and batched cases indpnp.linalg.inv
[#2458] (#2458) - Updated test f/w to correct a check of array interface while converting to
numpy.ndarray
for comparison [#2467] (#2467)
New Contributors
- @david-cortes-intel made their first contribution in #2446
Contributors
Full Changelog: 0.17.0...0.18.0