Releases: IntelPython/dpnp
Releases · IntelPython/dpnp
Release list
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
Full Changelog: 0.14.0...0.15.0
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 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: 0.12.1...0.13.0
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: 0.12.0...0.12.1
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 dpnp_algo_*.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: 0.11.1...0.12.0
DPNP 0.10.0
Compatibility with dpctl version 0.12.
DPNP 0.9.0
Merge branch 'master' into gold/2021
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.
DPNP 0.8.0dev0
Backend library API changes
0.7.0: Merge pull request #814 from IntelPython/gold/2021
Gold/2021