Releases: IntelPython/dpnp
Releases · 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 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
DPNP 0.6.2
refector comment to preprocessor