Recent Releases of https://github.com/intelpython/dpnp
https://github.com/intelpython/dpnp - v0.18.1
Summary
This release achieves dpnp compatibility with Python 3.13 and enables distributing dpnp packages with the latest Python version.
Moreover, the release provides compatibility with NumPy 2.3.0 and includes several bug fixes.
Details
Added
- Enabled support of Python 3.13 #2490
Changed
- Updated the tests scope to exclude several
matmultests in case of numpy 2.3.0 due to known NumPy issue #2495
Fixed
- Fixed a bug for calculating the norm (
dpnp.linalg.norm) of empty arrays whenkeepdims=Trueis passed #2477 - Updated the tests for hyperbolic and trigonometric elementwise functions to set correct tolerance for
float16dtype #2483
Contributors
- @antonwolfy
- @vtavana
Full Changelog: https://github.com/IntelPython/dpnp/compare/0.18.0...0.18.1
- Python
Published by antonwolfy 8 months ago
https://github.com/intelpython/dpnp - v0.18.0
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
dpnpfor specified AMD GPU architecture using CodePlay oneAPI plug-in #2302
Changed
- Improved performance of
dpnp.nansum,dpnp.nanprod,dpnp.nancumsum, anddpnp.nancumprodby reusingdpnp.nan_to_numfunction in implementation of the functions #2339 - Allowed input array of
uint64dtype 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.fftfreqanddpnp.fft.rfftfreqfunctions to supportdtypekeyword per Python Array API spec 2024.12 #2384 - Updated
dpnp.fixto return output with the same data-type of input #2392 - Updated
dpnp.einsumto add support fororder=None#2411 - Updated Python Array API specification version supported to
2024.12#2416 - Removed
einsum_callkeyword fromdpnp.einsum_pathsignature #2421 - Updated
dpnp.vdotto return a 0-D array when one of the inputs is a scalar #2295 - Updated
dpnp.outerto return the same dtype as NumPy when multiplying an array with a scalar #2295 - Changed
"max dimensions"toNonein array API capabilities #2432 - Updated kernel header
i0.hppto exposecyl_bessel_i0function depending on build target #2440 - Added MKL functions
arg,copysign,i0, andinvfrom VM namespace to be used by implementation of the appropriate element-wise functions #2445 - Clarified details about conda install instructions in
Quick start quideandREADME#2446 - Bumped oneMKL version up to
0.7#2448 - The parameter
axisindpnp.take_along_axisfunction 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
blackconfiguration with the list of supported python versions #2457 - Use
pyproject.tomlinstead ofsetup.pyaligning with current packaging best practices #2462 - Added a clarification to
dpnp.linalg.conddocstring 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 createcommands build and install instructions ofQuick start guideto avoid a compilation error #2395 - Added handling of empty string passed to a test env variable defining data type scope as a
Falsevalue #2415 - Resolved build issues on non-Intel targets in
dpnp.i0anddpnp.kaiser#2439 - Ensure consistency in the
dpnp.linalg.LinAlgErrorexception raised on singular input matrices for both non-batched and batched cases indpnp.linalg.inv#2458 - Updated test f/w to correct a check of array interface while converting to
numpy.ndarrayfor comparison #2467
New Contributors
- @david-cortes-intel made their first contribution in https://github.com/IntelPython/dpnp/pull/2446
Contributors
- @AlexanderKalistratov
- @antonwolfy
- @david-cortes-intel
- @ndgrigorian
- @vlad-perevezentsev
- @vtavana
Full Changelog: https://github.com/IntelPython/dpnp/compare/0.17.0...0.18.0
- Python
Published by antonwolfy 9 months ago
https://github.com/intelpython/dpnp - v0.17.0
Summary
This release achieves 100% compliance with Python Array API specification (revision 2023.12).
The release provides enhanced compatibility with NumPy 2.2.3. Array manipulation, mathematical, logic, and statistics routines are complemented by a set of new functions.
Furthermore, a number of issues relating to running on NVIDIA GPUs have been resolved.
Details
Added
- Added implementation of
dpnp.gcdanddpnp.lcmfunctions #2091 - Added implementation of
dpnp.padfunction #2093 - Added implementation of
dpnp.linalg.svdvalsfunction #2094 - Added implementation of
dpnp.matrix_transposefunction anddpnp.ndarray.mTattribute #2095 - Exposed
cross,diagonal,matrix_norm,outer,tensordot,traceandvector_normfunctions as part ofdpnp.linalgnamespace #2099 - Added implementation of
dpnp.unstackfunction #2106 - Added implementation of
dpnp.ldexpfunction #2110 - Added implementation of
dpnp.vecdotanddpnp.linalg.vecdotfunctions #2112 - Added implementation of
dpnp.i0function #2118 - Added implementation of
dpnp.isfortranfunction #2122 - Added implementation of
dpnp.spacingfunction #2125 - Added implementation of
dpnp.sincfunction #2133 - Added implementation of
dpnp.corrcoeffunction #2139 - Added implementation of
dpnp.deletefunction #2142 - Added implementation of
dpnp.histogramddfunction #2143 - Added implementation of
dpnp.bincountfunction #2145 - Added support of inplace matrix multiplication via the
@=operator #2147 - Added implementation of
dpnp.insertfunction #2151 - Added implementation of
dpnp.broadcast_shapesfunction #2153 - Added implementation of
dpnp.byte_boundsfunction #2155 - Added implementation of
dpnp.ndindexclass #2157 - Added implementation of
dpnp.histogram2dfunction #2262 - Added implementation of
dpnp.binary_reprfunction #2168 - Added implementation of
dpnp.apply_along_axisfunction #2169 - Added implementation of
dpnp.cumulative_sumanddpnp.cumulative_prodfunctions #2171 - Added implementation of
dpnp.apply_over_axesfunction #2174 - Added implementation of
dpnp.compressfunction anddpnp_array.compressmethod #2177 - Added implementation of
dpnp.correlatefunction #2180, #2203 - Added implementation of
dpnp.nanmedianfunction #2191 - Added implementation of
dpnp.ndarray.__iter__method #2206 - Added implementation of
dpnp.iterablefunction #2208 - Added missing aliases on integer data types #2230
- Enabled validation of dpnp conda/wheel packages with Python 3.13 (limited support) #2249
- Added implementation of
dpnp.ndarray.__array_namespace__method #2252 - Added implementation of
dpnp.ndarray.__usm_ndarray__protocol #2261 - Added implementation of
dpnp.isdtypefunction #2274 - Added implementation of Python Array API Inspection namespace #2275
- Added implementation of
dpnp.matvecanddpnp.vecmatfunctions #2288 - Added implementation of
dpnp.unique_all,dpnp.unique_counts,dpnp.unique_inverseanddpnp.unique_valuesfunctions #2320
Changed
- Improved performance of
dpnp.histogramfunction by implementing a dedicated kernel #2027 - Improved performance of
dpnp.ndarray.fillmethod by leveraging on dpctl extension exposingfillkernel #2055 - Extended
dpnp.ndarray.reshapemethod anddpnp.reshapefunction to supportshapeandnewshapekeywords #2080 - Extended support of
orderkeyword in like-functions #2088 - Updated
dpnp.einsumfunction to comply with NEP-50 #2120 - Extended
dpnp.linalg.pinvanddpnp.linalg.matrix_rankfunctions to supportrtolkeyword #2124 - Extended
dpnp.arrayfunction to supportndminkeyword #2135 - Leveraged
dpctl.tensorimplementation fordpnp.put_along_axisfunction #2134 - Corrected
dpnp.ndarray.itemimplemented to return a python scalar instead of zero-dimensional array #2138 - Bumped NumPy, CuPy and Python versions used for building docs #2158
- Extended
dpnp.sortanddpnp.argsortfunctions to supportkind="mergesort"andkind="radixsort"values #2159 - Revised and updated information in
README.mddocument #2166 - Permitted
"same_kind"casting for elementwise inplace operators #2170 - Bumped oneMKL version up to
0.6and added new--onemkl-interfaces-diroption to build script #2193 - Updated implementation of
dpnp.linalg.solvefunction to align withnumpy >= 2.0and Python array API #2198 - Improved performance of
dpnp.choosefunction by implementing a dedicated kernel #2201 - Aligned with the functional changes introduced by NumPy 2.2 #2226
- Improved performance of
dpnp.nan_to_numfunction by implementing a dedicated kernel #2228 - Enabled Intel MKL backends when building from the source with
--onemkl-interfacesoption #2229 - Extended
intersphinx_mappingwith a link to CuPy documentation to make cupy functions clickable from the rendered pages #2232 - Improved performance of
dpnp.nanmedianfunction whenaxisis notNonepassed #2240 - Aligned
dpnp.trim_zeroswith NumPy 2.2 and added support of a multi-dimensional input array #2241 - Disallowed implicit conversion of
dpnp.ndarraytonumpy.ndarray#2260 - Extended
dpnp.ndarray.to_devicemethod to supportstreamkeyword #2263 - Extended
dpnp.sortanddpnp.argsortfunctions anddpnp.ndarray.sortanddpnp.ndarray.argsortmethods to supportdescendingkeyword #2269 - Extended
dpnp.stdanddpnp.varfunctions anddpnp.ndarray.stdanddpnp.ndarray.varmethods to supportmeankeyword #2271 - Aligned
qr,eig,eigh,svdandslogdetfunctions fromdpnp.linalgto return namedtuple per Python array API #2276 - Extended
dpnp.stdanddpnp.varfunctions anddpnp.ndarray.stdanddpnp.ndarray.varmethods to supportcorrectionkeyword #2300 - Extended
dpnp.covfunction to support all keyword arguments #2303 - Disallowed
minlength=Nonevalue passed intodpnp.bincountfunction #2310 - Added build support with
oneMath(new name ofoneMKLinterface) #2313 - Aligned the signature of
dpnp.astypefunction with Python array API #2318
Fixed
- Migrated to experimental extension of DPC++ compiler with
group_load/group_storeper deprecation build warning #2123 - Fixed
DeprecationWarningappearing during running the tests #2156 - Modified installation path for the tests to enable tests run by
pytest --pyargs dpnp.testscommand #2116 - Resolved issues with
dpnp.linalg.svdimplementation invoked on NVIDIA GPU #2212 - Fixed compilation warnings when building from the source with
--target=cudaoption #2225 - Passed
stripedproperty togroup_load/group_storefunctions replicating legacy behavior #2238 - Added a workaround to prevent a race condition in
dpnp.linalg.qrwhen running on NVIDIA GPU #2265 - Resolved
IndexErrorexception raised bydpnp.matmul#2278 - Declared missing required dependencies on numpy and dpctl packages from dpnp wheel package #2283
- Resolved an issue with wrong result shape returned by
dpnp.vecdot#2294 - Resolved an issue with wrong result returned by
dpnp.tensordotfor integer data types #2296 - Resolved
ValueErrorexception raised bydpnp.linalg.qrwith non-contiguous input array #2314 - Resolved an issue with wrong result returned by
dpnp.fft.fftnanddpnp.fft.rfftnwhen running on NVIDIA GPU #2332 - Added a workaround to prevent a memory corruption in
dpnp.correlate#2333
New Contributors
- @ndgrigorian made their first contribution in https://github.com/IntelPython/dpnp/pull/2055
- @jharlow-intel made their first contribution in https://github.com/IntelPython/dpnp/pull/2285
Contributors
- @AlexanderKalistratov
- @antonwolfy
- @ekomarova
- @jharlow-intel
- @npolina4
- @ndgrigorian
- @vlad-perevezentsev
- @vtavana
Full Changelog: https://github.com/IntelPython/dpnp/compare/0.16.3...0.17.0
- Python
Published by antonwolfy 12 months ago
https://github.com/intelpython/dpnp - v0.16.3
This is a bug fix release which supports building dpnp with DPC++ 2025.0.4 compiler, resolving gh-2243.
Full Changelog: https://github.com/IntelPython/dpnp/compare/0.16.2...0.16.3
- Python
Published by antonwolfy about 1 year ago
https://github.com/intelpython/dpnp - v0.16.2
This is a bug fix release which supports use of dpnp in virtual environment on Windows, resolving gh-2242.
Full Changelog: https://github.com/IntelPython/dpnp/compare/0.16.1...0.16.2
- Python
Published by antonwolfy about 1 year ago
https://github.com/intelpython/dpnp - v0.16.1
Summary
This is a maintenance release that fixes bugs and regressions discovered after the 0.16.0 release.
Details
Changed
- Changed to use
Miniforgeinstaller in GitHub actions #2057 - Updated
README.mdto reflect current installation requirements and available options #2166 - Corrected the list of owners and code maintainers #2185
- Bumped the version of
oneMKLinterface used in dpnp build by default to align it with2025.0oneAPI release #2193
Fixed
- Resolved an issue with Compute Follows Data inconsistency in
dpnp.extractfunction #2172 - Resolved an import error when using
dpnpin virtual environment on Linux #2199 - Fixed incorrect result produced by
dpnp.fft.fftfunction when input array has negative strides #2202 - Fixed an issue with
numpy.ndarrayinput processing in thedpnp.from_dlpackfunction and updated the documentation #2209 - Resolved a compilation error when building with DPC++ 2025.1 compiler #2211
Full Changelog: https://github.com/IntelPython/dpnp/compare/0.16.0...0.16.1
- Python
Published by antonwolfy about 1 year ago
https://github.com/intelpython/dpnp - v0.16.0
Summary
This release reaches an important milestone by making offloading fully asynchronous. Calls to dpnp submit tasks for execution to DPC++ runtime and return without waiting for execution of these tasks to finish. The sequential semantics a user comes to expect from execution of Python script is preserved though.
In addition, this release completes implementation of dpnp.fft module and adds several new array manipulation, indexing and elementwise routines. Moreover, it adds support to build dpnp for Nvidia GPUs.
DPNP is now compatible with NumPy 2.0.
Details
Added
- Added implementation of
dpnp.gradientfunction #1859 - Added implementation of
dpnp.sort_complexfunction #1864 - Added implementation of
dpnp.fft.fftanddpnp.fft.ifftfunctions #1879 - Added implementation of
dpnp.isneginfanddpnp.isposinffunctions #1888 - Added implementation of
dpnp.fft.fftfreqanddpnp.fft.rfftfreqfunctions #1898 - Added implementation of
dpnp.fft.fftshiftanddpnp.fft.ifftshiftfunctions #1900 - Added implementation of
dpnp.isreal,dpnp.isrealobj,dpnp.iscomplex, anddpnp.iscomplexobjfunctions #1916 - Added support to build
dpnpfor Nvidia GPU #1926 - Added implementation of
dpnp.fft.rfftanddpnp.fft.irfftfunctions #1928 - Added implementation of
dpnp.nextafterfunction #1938 - Added implementation of
dpnp.trim_zerofunction #1941 - Added implementation of
dpnp.fft.hfftanddpnp.fft.ihfftfunctions #1954 - Added implementation of
dpnp.logaddexp2function #1955 - Added implementation of
dpnp.flatnonzerofunction #1956 - Added implementation of
dpnp.float_powerfunction #1957 - Added implementation of
dpnp.fft.fft2,dpnp.fft.ifft2,dpnp.fft.fftn, anddpnp.fft.ifftnfunctions #1961 - Added implementation of
dpnp.array_equalanddpnp.array_equivfunctions #1965 - Added implementation of
dpnp.nan_to_numfunction #1966 - Added implementation of
dpnp.fixfunction #1971 - Added implementation of
dpnp.fft.rfft2,dpnp.fft.irfft2,dpnp.fft.rfftn, anddpnp.fft.irfftnfunctions #1982 - Added implementation of
dpnp.argwherefunction #2000 - Added implementation of
dpnp.real_if_closefunction #2002 - Added implementation of
dpnp.ndimanddpnp.sizefunctions #2014 - Added implementation of
dpnp.appendanddpnp.asarray_chkfinitefunctions #2015 - Added implementation of
dpnp.array_split,dpnp.split,dpnp.hsplit,dpnp.vsplit, anddpnp.dsplitfunctions #2017 - Added runtime dependency on
intel-gpu-ocl-icd-systempackage #2023 - Added implementation of
dpnp.ravel_multi_indexanddpnp.unravel_indexfunctions #2022 - Added implementation of
dpnp.resizeanddpnp.rot90functions #2030 - Added implementation of
dpnp.requirefunction #2036
Changed
- Extended pre-commit pylint check to
dpnp.fftmodule #1860 - Reworked
vmvector math backend to reusedpctl.tensorfunctions around unary and binary functions #1868 - Extended
dpnp.ndarray.astypemethod to supportdevicekeyword argument #1870 - Improved performance of
dpnp.linalg.solveby implementing a dedicated kernel for its batch implementation #1877 - Extended
dpnp.fabsto supportorderandoutkeyword arguments by writing a dedicated kernel for it #1878 - Extended
dpnp.linalgmodule to supportusm_ndarrayas input #1880 - Reworked
dpnp.modimplementation to be an alias fordpnp.remainder#1882 - Removed the legacy implementation of linear algebra functions from the backend #1887
- Removed the legacy implementation of elementwise functions from the backend #1890
- Extended
dpnp.allanddpnp.anyto supportoutkeyword argument #1893 - Reworked
dpnp.repeatto add a explicit type check of input array #1894 - Improved performance of different functions by adopting asynchronous implementation of
dpctl#1897 - Extended
dpnp.fmaxanddpnp.fminto supportorderandoutkeyword arguments by writing dedicated kernels for them #1905 - Removed the legacy implementation of array creation and manipulation functions from the backend #1903
- Extended
dpnp.extractimplementation to align with NumPy #1906 - Reworked backend implementation to align with non-backward compatible changes in DPC++ 2025.0 #1907
- Removed the legacy implementation of indexing functions from the backend #1908
- Extended
dpnp.takeimplementation to align with NumPy #1909 - Extended
dpnp.placeimplementation to align with NumPy #1912 - Reworked the implementation of indexing functions to avoid unnecessary casting to
dpnp_arraywhen input isusm_ndarray#1913 - Reduced code duplication in the implementation of sorting functions #1914
- Removed the obsolete dparray interface #1915
- Improved performance of
dpnp.linalgmodule for BLAS routines by adopting asynchronous implementation ofdpctl#1919 - Relocated
dpnp.einsumutility functions to a separate file #1920 - Improved performance of
dpnp.linalgmodule for LAPACK routines by adopting asynchronous implementation ofdpctl#1922 - Reworked
dpnp.matmulto allow larger batch size to be used #1927 - Removed data synchronization where it is not needed #1930
- Leveraged
dpctl.tensorimplementation fordpnp.whereto support scalar as input #1932 - Improved performance of
dpnp.linalg.eighby implementing a dedicated kernel for its batch implementation #1936 - Reworked
dpnp.iscloseanddpnp.allcloseto comply with compute follows data approach #1937 - Extended
dpnp.deg2radanddpnp.radiansto supportorderandoutkeyword arguments by writing dedicated kernels for them #1943 dpnpuses pybind11 2.13.1 #1944- Extended
dpnp.degreesanddpnp.rad2degto supportorderandoutkeyword arguments by writing dedicated kernels for them #1949 - Extended
dpnp.unwrapto support all keyword arguments provided by NumPy #1950 - Leveraged
dpctl.tensorimplementation fordpnp.count_nonzerofunction #1962 - Leveraged
dpctl.tensorimplementation fordpnp.difffunction #1963 - Leveraged
dpctl.tensorimplementation fordpnp.take_along_axisfunction #1969 - Reworked
dpnp.ediff1dimplementation through existing functions instead of a separate kernel #1970 - Reworked
dpnp.uniqueimplementation through existing functions whenaxisis given otherwise through leveragingdpctl.tensorimplementation #1972 - Improved performance of
dpnp.linalg.svdby implementing a dedicated kernel for its batch implementation #1936 - Leveraged
dpctl.tensorimplementation forshape.settermethod #1975 - Extended
dpnp.ndarray.copyto support compute follow data keyword arguments #1976 - Reworked
dpnp.selectimplementation through existing functions instead of a separate kernel #1977 - Leveraged
dpctl.tensorimplementation fordpnp.from_dlpackanddpnp.ndarray.__dlpack__functions #1980 - Reworked
dpnp.linalgmodule backend implementation for BLAS rouitnes to work with OneMKL interfaces #1981 - Reworked
dpnp.ediff1dimplementation to reduce code duplication #1983 dpnpcan be used with any NumPy from 1.23 to 2.0 #1985- Reworked
dpnp.uniqueimplementation to properly handle NaNs values #1972 - Removed
dpnp.issubcdtypeper NumPy 2.0 recommendation #1996 - Reworked
dpnp.uniqueimplementation to align with NumPy 2.0 #1999 - Reworked
dpnp.linalg.solvebackend implementation to work with OneMKL Interfaces #2001 - Reworked
dpnp.trapezoidimplementation through existing functions instead of falling back on NumPy #2003 - Added
copykeyword todpnp.arrayto align with NumPy 2.0 #2006 - Extended
dpnp.heavisideto supportorderandoutkeyword arguments by writing dedicated kernel for it #2008 dpnpuses pybind11 2.13.5 #2010- Added
COMPILER_VERSION_2025_OR_LATERflag to be able to rundpnp.fftmodule with both 2024.2 and 2025.0 versions of the compiler #2025 - Cleaned up an implementation of
dpnp.gradientby removing obsolete TODO which is not going to be done #2032 - Updated
Array Manipulation Routinespage in documentation to add missing functions and to remove duplicate entries #2033 dpnpuses pybind11 2.13.6 #2041- Updated
dpnp.fftbackend to depend onINTEL_MKL_VERSIONflag to ensures that the appropriate code segment is executed based on the version of OneMKL #2035 - Use
dpctl::tensor::alloc_utils::sycl_free_noexceptinstead ofsycl::freeinhost_tasktasks associated with life-time management of temporary USM allocations #2058 - Improved implementation of
dpnp.kronto avoid unnecessary copy for non-contiguous arrays #2059 - Updated the test suit for
dpnp.fftmodule #2071 - Reworked
dpnp.clipimplementation to align with Python Array API 2023.12 specification #2048 - Skipped outdated tests for
dpnp.linalg.solvedue to compatibility issues with NumPy 2.0 #2074 - Updated installation instructions #2098
Fixed
- Resolved an issue with
dpnp.matmulwhen an f_contiguousoutkeyword is passed to the the function #1872 - Resolved a possible race condition in
dpnp.inv#1940 - Resolved an issue with failing tests for
dpnp.appendwhen running on a device without fp64 support #2034 - Resolved an issue with input array of
usm_ndarraypassed intodpnp.ix_#2047 - Added a workaround to prevent crash in tests on Windows in internal CI/CD (when running on either Lunar Lake or Arrow Lake) #2062
- Fixed a crash in
dpnp.choosecaused by missing control of releasing temporary allocated device memory #2063 - Resolved compilation warning and error while building in debug mode #2066
- Fixed an issue with asynchronous execution in
dpnp.fftmodule #2067
Full Changelog: https://github.com/IntelPython/dpnp/compare/0.15.0...0.16.0
- Python
Published by antonwolfy over 1 year ago
https://github.com/intelpython/dpnp - v0.15.0
Summary
This release completes implementation of dpnp.linalg module and array creation routine, adds cumulative reductions and histogram functions.
Details
Added
- Implemented
dpnp.frombuffer,dpnp.fromfileanddpnp.fromstringfunctions #1727 - Implemented
dpnp.fromfunction,dpnp.fromiteranddpnp.loadtxtfunctions #1728 - Added implementation of
dpnp.linalg.pinvfunction #1704 - Added implementation of
dpnp.linalg.eigvalshfunction #1714 - Added implementation of
dpnp.linalg.tensorinvfunction #1752 - Added implementation of
dpnp.linalg.tensorsolvefunction #1753 - Added implementation of
dpnp.linalg.lstsqfunction #1792 - Added implementation of
dpnp.einsumanddpnp.einsum_pathfunctions #1779 - Added implementation of
dpnp.histogramfunction #1785 - Added implementation of
dpnp.histogram_bin_edgesfunction #1823 - Added implementation of
dpnp.digitizefunction #1847 - Extended pre-commit hooks with
pylintconfiguration #1718 - Extended pre-commit hooks with
codespellconfiguration #1798 - Added a Security policy page #1730
- Implemented
ninandnoutproperties fordpnpelementwise functions #1712 - Implemented
outermethod fordpnpelementwise functions #1813
Changed
- Added support of more number of data types and dimensions for input arrays, and all keyword arguments in
dpnp.crossfunction #1715 - Added support of more number of data types and dimensions for input array, and all keyword arguments in
dpnp.linalg.matrix_rankfunction #1717 - Added support of more number of data types and dimensions for input arrays in
dpnp.innerfunction #1726 - Added support of more number of data types and dimensions for input arrays in
dpnp.linalg.multi_dotfunction #1729 - Added support of more number of data types and dimensions for input arrays in
dpnp.kronfunction #1732 - Added support of more number of data types and dimensions for input arrays in
dpnp.linalg.matrix_powerfunction #1748 - Added support of more number of data types and dimensions for input array, and all keyword arguments in
dpnp.normfunction #1746 - Added support of more number of data types and dimensions for input array in
dpnp.condfunction #1773 - Extended
dpnp.matmulfunction to supportaxeskeyword argument #1705 - Extended
dpnp.searchsortedfunction to supportsideandsorterkeyword arguments #1751 - Extended
dpnp.wherefunction to support scalar type byxandyarrays #1760 - Extended
dpnp.ndarray.transposemethod to supportaxeskeyword as a list #1770 - Extended
dpnp.nancumsumfunction to supportaxis,dtypeandoutkeyword arguments #1781 - Extended
dpnp.nancumprodfunction to supportaxis,dtypeandoutkeyword arguments #1812 - Extended
dpnp.putfunction to support more number of data types and dimensions for input arrays #1838 - Extended
dpnp.tracefunction to supportaxis1,axis2,dtypeandoutkeyword arguments #1842 - Corrected
dpnp.ndarray.realanddpnp.ndarray.imagmethods to return a view of the array #1719 - Corrected
dpnp.nonzerofunction to raiseTypeErrorexception for input array of unexpected type #1764 - Corrected
dpnp.diagonalfunction to return a view of the array #1817 - Removed
dpnp.find_common_typefunction as it was deprecated since NumPy 1.25.0 #1742 - Removed use of
dpctlqueue manager API #1735 - Leveraged
dpctl.tensorimplementation fordpnp.cumsumfunction #1772 - Leveraged
dpctl.tensorimplementation fordpnp.cumprodfunction #1811 - Leveraged
dpctl.tensorimplementation fordpnp.cumlogsumexpfunction #1816 - Leveraged
dpctl.tensorsupport ofoutkeyword argument in reduction anddpnp.wherefunctions #1808 - Aligned with
dpctlinterface changes per Python Array API 2023.12 specification #1774 - Reworked
dpnp.linalg.eiganddpnp.linalg.eigvalsimplementations to fall back on on NumPy calculation due to a lack of required functionality in OneMKL LAPACK #1780 dpnpuses pybind11 2.12.0 #1783- Improved
dpnp.matmulimplementation to use column majorgemmlayout for F-contiguous input arrays #1793 - Improved performance of
dpnp.matmulfunction by call ofdpnp.kronanddpnp.dotfor special cases #1815 - Improved performance of
dpnp.diagfunction by use ofdpnp.diagonalwhich returns a view of the array #1822 - Removed limitations from
diag_indices,diag_indices_from,fill_diagonal,tril_indices,tril_indices_from,triu_indices,triu_indices_fromfunctions and added implementation ofdpnp.mask_indicesfunction #1814
Fixed
- Changed
dpnp.linalg.solveto use a pair ofgetrfandgetrscalls from OneMKL library instead ofgesvone to mitigate an unexpectedRuntimeErrorexception #1763 - Resolved a hang in batch implementation of
dpnp.linalg.solvewhen computes on CPU device #1778 - Resolved an unexpected
TypeErrorexception raised fromdpnp.random.vonmiseswhen used with a scalarkappaargument #1799 - Changed
dpnp.flattento comply with compute follows data approach #1825 - Resolved a hang in batch implementation of
dpnp.linalg.eighwhen computes on CPU device #1832 - Resolved an unexpected
ValueErrorexception raised fromdpnp.linalg.pinvdue to a shape issue indpnp.matmul#1843
New Contributors
- @ZzEeKkAa made their first contribution in https://github.com/IntelPython/dpnp/pull/1593
Full Changelog: https://github.com/IntelPython/dpnp/compare/0.14.0...0.15.0
- Python
Published by antonwolfy over 1 year ago
https://github.com/intelpython/dpnp - v0.14.0
This release will require DPC++ 2024.1.0, which no longer supports Intel Gen9 integrated GPUs found in Intel CPUs of 10th generation and older.
Added
- Added implementation of
dpnp.tensordotfunction #1699 - Added implementation of
dpnp.nanmeananddpnp.nanstdfunctions #1654 - Added implementation of
dpnp.anglefunction #1650 - Added implementation of
dpnp.logsumexpanddpnp.reduce_hypotfunctions #1648 - Added implementation of
dpnp.column_stack,dpnp.dstackanddpnp.row_stackfunctions #1647 - Added implementation of
dpnp.nanargmax,dpnp.nanargmin,dpnp.nanmaxanddpnp.nanminfunctions #1646 - Added implementation of
dpnp.clipfunction, available as well as a method of dpnp array #1645 - Added implementation of
dpnp.copysignanddpnp.rsqrtfunctions #1624 - Added implementation of
dpnp.linalg.slogdetfunction #1607 - Added implementation of
dpnp.can_castfunction #1600 - Added implementation of
dpnp.linalg.solvefunction #1598 - Added implementation of
dpnp.broadcast_arraysfunction #1594 - Added implementation of
dpnp.tilefunction #1586 - Added implementation of
dpnp.iinfoanddpnp.finfofunctions #1582 - Added implementation of
dpnp.logaddexpfunction #1561 - Added implementation of
dpnp.positivefunction #1559
Changed
- Changed exception type from
ValueErrortoNotImplementedErrorfor unsupporting keyword arguments in array creation functions #1695 - Enabled compatibility support against numpy
1.26.4#1690 - Implemented
dpnp.true_divideas an alias ondpnp.dividefunction #1641 - Added support of more number of data types and dimensions for input array in
dpnp.vdotfunction #1692 - Added support of more number of data types and dimensions for input array in
dpnp.linalg.qrfunction #1673 - Added support of more number of data types and dimensions for input array in
dpnp.dotfunction #1669 - Added support of more number of data types and dimensions for input array in
dpnp.linalg.invfunction #1665 - Added support of more number of data types for input array in
dpnp.sortanddpnp.argsortfunctions, as well as implementing support ofaxiskeyword #1660 - Added support of more number of data types and dimensions for input array in
dpnp.linalg.choleskyfunction, as well as implementing support ofupperkeyword #1638 - Added support of more number of data types and dimensions for input array in
dpnp.diff, as well as implementing support ofprependandappendkeywords #1637 - Added support of more number of data types and dimensions for input array in
dpnp.matmulfunction #1616 - Added support of more number of data types and dimensions for input array in
dpnp.linalg.detfunction #1607 - Added support of more number of data types and dimensions for input array in
dpnp.linalg.svdfunction, as well as implementing support offull_matrices,compute_uvandhermitiankeywords #1604 - Accepted different data types and dimensions of input arrays in
dpnp.put_along_axisanddpnp.take_along_axisfunctions, as well as available values ofaxiskeyword #1636 - Added
keepdims,initialandwherekeywords todpnp.amaxanddpnp.aminfunctions #1639 - Extended
dpnp.meshgridfunction to supportsparseandcopykeyword arguments #1675 - Extended
dpnp.averagefunction to supportaxis,weights,returnedandkeepdimskeywords anddpnp.nansumfunction withaxis,dtype,keepdimsandoutkeyword arguments #1654 - Extended
dpnp.std,dpnp.varandnanvarfunctions to supportaxis,dtype,outandkeepdimskeyword arguments #1635 - Extended
dpnp.ogridanddpnp.mgridfunctions with support of device-aware keywords of compute follows data paradigm #1622 - Extended
dpnp.indicesfunction to supportdtypeandsparsekeyword arguments, as well as device-aware keywords of compute follows data paradigm #1622 - Extended
dpnp.count_nonzerofunction to supportaxisandkeepdimskeyword arguments #1615 - Extended
dpnp.put_along_axisanddpnp.take_along_axisfunctions to supportout,dtypeandcastingkeyword arguments #1608 - Extended
dpnp.stackanddpnp.concatenatefunctions to supportout,dtypeandcastingkeyword arguments #1608 - Extended
dpnp.vstackfunction to supportdtypeandcastingkeyword arguments #1595 - Extended
dpnp.diag,dpnp.diagflat,dpnp.ptpanddpnp.vanderfunctions with support of extra keywords to align with compute follows data paradigm #1579 - Extended
dpnp.trianddpnp.identityfunctions with support of device-aware keywords of compute follows data paradigm #1577 - Added dedicated in-place kernels to
dpnp.divideanddpnp.floor_dividefunctions #1587 - Redesigned
dpnp.cbrtanddpnp.exp2functions through pybind11 extension of OneMKL call where possible or leveraging ondpctl.tensorimplementation #1624 - Redesigned
dpnp.exp,dpnp.expm1,dpnp.log10,dpnp.log1panddpnp.log2functions through pybind11 extension of OneMKL call where possible or leveraging ondpctl.tensorimplementation #1576 - Redesigned
dpnp.absfunction through pybind11 extension of OneMKL call where possible or leveraging ondpctl.tensorimplementation #1575 - Redesigned
dpnp.hypotfunction through pybind11 extension of OneMKL call where possible or leveraging ondpctl.tensorimplementation #1560 - Leveraged
dpctl.tensorimplementation fordpnp.reciprocalfunction #1650 - Leveraged
dpctl.tensorimplementation fordpnp.meanfunction #1632 - Leveraged
dpctl.tensorimplementation fordpnp.repeatfunction #1614 - Leveraged
dpctl.tensorimplementation fordpnp.argmaxanddpnp.argminfunctions #1610 - Leveraged
dpctl.tensorimplementation fordpnp.geomspaceanddpnp.logspacefunctions #1603 - Leveraged
dpctl.tensorimplementation fordpnp.maxanddpnp.minfunctions #1602 - Leveraged
dpctl.tensorimplementation fordpnp.astypefunction #1597 - Leveraged
dpctl.tensorimplementation fordpnp.maximumanddpnp.minimumfunctions #1558
Fixed
- Resolved potential raising of execution placement error from
dpnp.take_along_axisanddpnp.put_along_axisfunctions #1702 - Improved performance of
dpnp.matmulanddpnp.dotfunction whenoutkeyword is passed #1694 - Completed documentation for each array creation functions #1674
- Aligned
dpnp.clipwhere bothminandmaxkeywords haveNonevalue with NumPy implementation #1670 - Fixed a bug related to
outkeyword in elementwise functions #1656 - Resolved compilation warnings due to
-Wvla-extensionoption enabled by default #1651 - Replaced deprecated
IntelDPCPPConfig.cmakescript with vendoredIntelSYCLConfig.cmake#1611 - Improved coverage report to include code of pybind11 extensions #1609
- Improved performance of
dpnp.atleast_2danddpnp.atleast_3dfunctions and fixed to return a correct shape of resulting array #1560
- Python
Published by antonwolfy almost 2 years ago
https://github.com/intelpython/dpnp - DPNP 0.13.0
Added
- Added implementation of flipping functions:
dpnp.flip,dpnp.fliplranddpnp.flipud#1543 - Added implementation of
dpnp.rintfunction throughdpnp.roundcall #1537 - Added implementation of
dpnp.realanddpnp.imagelementwise functions #1557 - Added in-place support for arithmetic operators #1530
- Dropped build and uploading the package with
python=3.8todppy/label/devchannel of Anaconda #1534 - Implemented build and uploading the package with
python=3.11todppy/label/devchannel of Anaconda #1501 - Added the versioneer to compute a product version number #1497
- Added
cythonsupport of3.0.0or above version #1495
Changed
- Updated
Build from sourcesection inREADME.mdto state all the required prerequisite packages #1553 - Reworked
dpnp.hstackanddpnp.atleast_1dthrough existing functions to get rid of falling back on NumPy #1544 - Reworked
dpnp.asfarraythrough existing functions to get rid of falling back on NumPy #1542 - Converted from
rawtomulti_ptrwithaddress_space_castto adopt towards changes introduced inSYCL 2020#1538 - Updated install instruction via
pip#1531 - Reworked
dpnp.copytothrough existing functions instead of a separate kernel #1516 - Aligned default order value with NumPy in asarray-like functions #1526
- Created unary and binary elementwise functions at module import #1522
- Redesigned trigonometric and hyperbolic functions through pybind11 extension of OneMKL calls where possible or leveraging on
dpctl.tensorimplementation #1545 - Added
dpnp.signbitanddpnp.projfunctions implemented through pybind11 extension of OneMKL calls where possible or leveraging ondpctl.tensorimplementation #1535 - Redesigned
dpnp.roundanddpnp.aroundfunctions through pybind11 extension of OneMKL calls where possible or leveraging ondpctl.tensorimplementation #1520 - Redesigned
dpnp.signanddpnp.negativefunctions through pybind11 extension of OneMKL calls where possible or leveraging ondpctl.tensorimplementation #1523 - Redesigned
dpnp.conjugateanddpnp.conjfunctions through pybind11 extension of OneMKL calls where possible or leveraging ondpctl.tensorimplementation #1519 - Redesigned
dpnp.ceil,dpnp.flooranddpnp.truncfunctions through pybind11 extension of OneMKL calls where possible or leveraging ondpctl.tensorimplementation #1518 - Redesigned
dpnp.remainderanddpnp.modfunctions through pybind11 extension of OneMKL calls where possible or leveraging ondpctl.tensorimplementation #1515 - Redesigned
dpnp.powerfunction through pybind11 extension of OneMKL calls where possible or leveraging ondpctl.tensorimplementation #1476 - Leveraged
dpctl.tensorimplementation fordpnp.putfunction #1529 - Leveraged
dpctl.tensorimplementation fordpnp.rollanddpnp.rollaxisfunctions #1517 - Leveraged
dpctl.tensorimplementation fordpnp.copyfunction #1540 - Leveraged
dpctl.tensorimplementation fordpnp.expand_dimsanddpnp.swapaxesfunctions #1532 - Leveraged
dpctl.tensorimplementation for bitwise operations #1508 - Leveraged
dpctl.tensorimplementation fordpnp.allanddpnp.anyfunctions #1512 - Leveraged
dpctl.tensorimplementation fordpnp.stackfunction #1509 - Leveraged
dpctl.tensorimplementation fordpnp.concatenatefunction #1507 - Leveraged
dpctl.tensorimplementation fordpnp.isnan,dpnp.isinfanddpnp.isfinitefunctions #1504 - Leveraged
dpctl.tensorimplementation fordpnp.takefunction #1492 - Refreshed API References block in the documentation #1490
- Refreshed documentation to reflect an actual product behavior #1485
- Upgraded the build flow to use newer
pybind11=2.11.1version #1510 - Updated pre-commit hooks to run with
flake8=6.1.0andblack=23.7.0#1505 - Pinned DPC++ and OneMKL versions to
2023.2` release #1496 - Added a specialized kernel for F-contiguous arrays to
dpnp.sumwithaxis=1#1489 - Removed a workaround to Klockwork since it is not used anymore due to transition to Coverity tool #1493
Fixed
- Resolved
Logically dead codeissue addressed by Coverity scan #1541 - Resolved
Arguments in wrong orderissue addressed by Coverity scan #1513 - Resolved
Pointer to local outside scopeissue addressed by Coverity scan #1514 - Fixed assigning a value to potentially none-valued dictionary coverage generation script #1511
- Resolved issues with running
dpnp.allclosefunction on a device without fp64 support #1536 - Resolved issues with running FFT functions on a device without fp64 support #1524
- Resolved issues with running mathematical functions on a device without fp64 support #1502
- Resolved issues with running random functions on a device without fp64 support #1498
- Resolved issues with running statistics functions on a device without fp64 support #1494
Full Changelog: https://github.com/IntelPython/dpnp/compare/0.12.1...0.13.0
- Python
Published by vlad-perevezentsev over 2 years ago
https://github.com/intelpython/dpnp - DPNP 0.12.1
Added
- Added
classifiers metadatato a description of dpnp package #1460 - Added
pygrep-hooksto pre-commit config #1454 - Added
flake8to pre-commit config #1453 - Added
isortto pre-commit config #1451 - Added
clangformat to pre-commit config #1450 - Added
blackto pre-commit config #1449 - Added
pre-commithooks #1448
Changed
- Pinned to
dpctl>=0.14.5as host and run dependencies #1481 - Pinned dependent
cythonpackage to a version less than3.0.0#1480 - Added a specialized kernel for
dpnp.sumwithaxis=0as a pybind11 extension #1479 - Redesigned
dpnp.squarefunction through pybind11 extension of OneMKL call where possible or Leveraging ondpctl.tensorimplementation #1473 - Redesigned
dpnp.cosanddpnp.sinfunctions through pybind11 extension of OneMKL calls where possible or Leveraging ondpctl.tensorimplementation #1471 - Redesigned
dpnp.sqrtfunction through pybind11 extension of OneMKL call where possible or leveraging ondpctl.tensorimplementation #1470 - Redesigned
dpnp.logfunction through pybind11 extension of OneMKL call where possible or leveraging ondpctl.tensorimplementation #1469 - Leveraged
dpctl.tensorimplementation for logical operations #1464 - Leveraged
dpctl.tensorimplementation fordpnp.floor_dividefunction #1462 - Leveraged
dpctl.tensorimplementation for comparison functions #1458
Fixed
- Improved
dpnp.dotfunction to support OneMKL calls for input and output arrays with strides #1477 - Resolved issues with running
dpnp.linalgfunctions on a device without fp64 support #1474 - Added
dtypecheck of fp64 support by the resulting array incall_originfunction #1457 - Resolved a compilation warning with
std::getenv()call on Windows #1452 - Corrected a link to OneAPI Toolkit in Installation Guide #1445
Full Changelog: https://github.com/IntelPython/dpnp/compare/0.12.0...0.12.1
- Python
Published by antonwolfy over 2 years ago
https://github.com/intelpython/dpnp - DPNP 0.12.0
Added
- Implemented
dpnp.broadcast_tofunction #1333 - Implemented
dpnp.extractfunction #1340 - Implemented
dpnp.linalg.eighfunction through pybind11 extension of OneMKL call #1383 - Implemented
dpnp.meanfunction #1431 - Added support of bool types in bitwise operations #1334
- Added
outparameter indpnp.addfunction #1329 - Added
outparameter indpnp.multiplyfunction #1365 - Added
outparameter indpnp.sqrtfunction #1332 - Added
rowvarparameter indpnp.covfunction #1371 - Added
nbytesproperty to dpnp array #1359 - Introduced a new github Action to control code coverage #1373
- Added change log #1439
Changed
- Leveraged
dpctl.tensorimplementation fordpnp.placefunction #1337 - Leveraged
dpctl.tensorimplementation fordpnp.moveaxisfunction #1382 - Leveraged
dpctl.tensorimplementation fordpnp.squeezefunction #1381 - Leveraged
dpctl.tensorimplementation fordpnp.wherefunction #1380 - Leveraged
dpctl.tensorimplementation fordpnp.transposefunction #1389 - Leveraged
dpctl.tensorimplementation fordpnp.reshapefunction #1391 - Leveraged
dpctl.tensorimplementation fordpnp.add,dpnp.multiplyanddpnp.subtractfunctions #1430 - Leveraged
dpctl.tensorimplementation fordpnp.sumfunction #1426 - Leveraged
dpctl.tensorimplementation fordpnp.result_typefunction #1435 - Reused OneDPL
std::nth_elementfunction indpnp.partitionwith 1d array #1406 - Transitioned dpnp build system to use scikit-build #1349
- Renamed included dpnpalgo*.pyx files to *.pxi #1356
- Implemented support of key as a tuple in
dpnp.__getitem__()anddpnp.__setitem__()functions #1362 - Selected dpnp own kernels for elementwise functions instead of OneMKL VM calls on a device without fp64 aspect #1386
- Pinned to
sysroot>=2.28and transitioned toconda-forgechannel #1408 - Redesigned
dpnp.divideimplementation to calldivfrom OneMKL for C-contiguous data or to usedpctl.tensorlibrary otherwise #1418 - Changed an engine used for random generated array on GPU device from MT19937 to MCG59 #1423
- Implemented in-place support of
dpnp.divide#1434 - Redesigned
dpnp.outerimplementation throughdpnp.multiplywith broadcasted arrays #1436 - Pinned to
dpctl>=0.14.3as host and run dependencies #1437 - Reimplemented
dpnp.covthrough existing dpnp function instead of a separate kernel #1396
Fixed
- Fixed
dpnp.asarrayfunction to accept a sequence of dpnp arrays #1355 - Fixed crash in
dpnp.sumwith an empty array #1369 - Fixed compilation error around
sycl::abswith DPC++ 2023.2.0 #1393 - Fixed Klockwork run and enabled cmake verbose mode for conda build #1433
Full Changelog: https://github.com/IntelPython/dpnp/compare/0.11.1...0.12.0
- Python
Published by antonwolfy over 2 years ago
https://github.com/intelpython/dpnp - DPNP 0.10.0
Compatibility with dpctl version 0.12.
- Python
Published by Alexander-Makaryev almost 4 years ago
https://github.com/intelpython/dpnp - DPNP 0.9.0
- Python
Published by Alexander-Makaryev over 4 years ago
https://github.com/intelpython/dpnp - DPNP 0.8.0
DPNP 0.8.0 Compatibility with dpctl version 0.10. Compatibility with numba-dppy version 0.16. Migrating to dpctl.tensor.usm_ndarray as default data container.
- Python
Published by Alexander-Makaryev over 4 years ago
https://github.com/intelpython/dpnp - DPNP 0.8.0dev0
Backend library API changes
- Python
Published by Alexander-Makaryev over 4 years ago
https://github.com/intelpython/dpnp - DPNP 0.5.1
DPNP 0.5.1 New functions
- Python
Published by Alexander-Makaryev about 5 years ago
https://github.com/intelpython/dpnp - DPNP 0.5.0
DPNP 0.5.0 Backend library API changed
- Python
Published by Alexander-Makaryev about 5 years ago
https://github.com/intelpython/dpnp - DPNP 0.4.0
DPNP 0.4.0 Release Compatible with DPCTL 0.5 version
- Python
Published by Alexander-Makaryev about 5 years ago
https://github.com/intelpython/dpnp - DPNP 0.2 with MKL beta9
This is the newest sources adapted to previously used MKL beta09
- Python
Published by shssf over 5 years ago
https://github.com/intelpython/dpnp - DPNP 0.3.0
DPNP 0.3.0 Release Compatible with oneAPI beta10 version
- Python
Published by Alexander-Makaryev over 5 years ago
https://github.com/intelpython/dpnp - initial release
Initial release of the DPNP library Contains 122 partial implementation of the NumPy API
- Python
Published by shssf over 5 years ago