Skip to content

Commit e72041d

Browse files
Merge master into impl-piecewise
2 parents 7ad0a6a + 1daf4c9 commit e72041d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+1454
-112
lines changed

.github/workflows/cron-run-tests.yaml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
name: Run tests suite
22
on:
3-
# For Branch-Protection check. Only the default branch is supported. See
4-
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection
5-
branch_protection_rule:
3+
# To be able to be triggered manually
4+
workflow_dispatch:
65
# To guarantee Maintained check is occasionally updated. See
76
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained
87
schedule:
98
- cron: '28 2 * * *'
10-
workflow_dispatch:
119

1210
permissions: read-all
1311

.github/workflows/openssf-scorecard.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,16 @@ on:
77
# For Branch-Protection check. Only the default branch is supported. See
88
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection
99
branch_protection_rule:
10+
# To be able to be triggered manually
11+
workflow_dispatch:
1012
# To guarantee Maintained check is occasionally updated. See
1113
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained
1214
schedule:
1315
- cron: '28 2 * * 1'
1416
- cron: '28 2 * * 4'
1517
push:
16-
branches: [ "master" ]
18+
branches:
19+
- master
1720

1821
# Declare default permissions as read only.
1922
permissions: read-all

.github/workflows/pre-commit-autoupdate.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
name: Autoupdate pre-commit
22

33
on:
4-
# For Branch-Protection check. Only the default branch is supported. See
5-
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection
6-
branch_protection_rule:
4+
# To be able to be triggered manually
5+
workflow_dispatch:
76
# To guarantee Maintained check is occasionally updated. See
87
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained
98
schedule:
109
- cron: '28 2 * * 6' # Saturday at 02:28 UTC
11-
workflow_dispatch:
1210

1311
jobs:
1412
autoupdate:

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1515
* Added `timeout-minutes` property to GitHub jobs [#2526](https://github.com/IntelPython/dpnp/pull/2526)
1616
* Added implementation of `dpnp.ndarray.data` and `dpnp.ndarray.data.ptr` attributes [#2521](https://github.com/IntelPython/dpnp/pull/2521)
1717
* Added `dpnp.ndarray.__contains__` method [#2534](https://github.com/IntelPython/dpnp/pull/2534)
18+
* Added implementation of `dpnp.linalg.lu_factor` (SciPy-compatible) [#2557](https://github.com/IntelPython/dpnp/pull/2557), [#2565](https://github.com/IntelPython/dpnp/pull/2565)
1819
* Added implementation of `dpnp.piecewise` [#2550](https://github.com/IntelPython/dpnp/pull/2550)
1920

2021
### Changed
@@ -35,6 +36,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3536
* Replaced `ci` section in `.pre-commit-config.yaml` with a new GitHub workflow with scheduled run to autoupdate the `pre-commit` configuration [#2542](https://github.com/IntelPython/dpnp/pull/2542)
3637
* FFT module is updated to perform in-place FFT in intermediate steps of ND FFT [#2543](https://github.com/IntelPython/dpnp/pull/2543)
3738
* Reused dpctl tensor include to enable experimental SYCL namespace for complex types [#2546](https://github.com/IntelPython/dpnp/pull/2546)
39+
* Changed Windows-specific logic in dpnp initialization [#2553](https://github.com/IntelPython/dpnp/pull/2553)
40+
* Added missing includes to files in ufunc and VM pybind11 extensions [#2571](https://github.com/IntelPython/dpnp/pull/2571)
41+
* Refactored backend implementation of `dpnp.linalg.solve` to use oneMKL LAPACK `gesv` directly [#2558](https://github.com/IntelPython/dpnp/pull/2558)
42+
* Improved performance of `dpnp.isclose` function by implementing a dedicated kernel for scalar `rtol` and `atol` arguments [#2540](https://github.com/IntelPython/dpnp/pull/2540)
43+
* Extended `dpnp.pad` to support `pad_width` keyword as a dictionary [#2535](https://github.com/IntelPython/dpnp/pull/2535)
3844

3945
### Deprecated
4046

doc/reference/linalg.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ Decompositions
4343
dpnp.linalg.cholesky
4444
dpnp.linalg.outer
4545
dpnp.linalg.qr
46+
dpnp.linalg.lu_factor
4647
dpnp.linalg.svd
4748
dpnp.linalg.svdvals
4849

dpnp/__init__.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,17 +40,13 @@
4040
# where to search for DLLs towards both DPNP backend and DPCTL Sycl interface,
4141
# otherwise DPNP import will be failing. This is because the libraries
4242
# are not installed under any of default paths where Python is searching.
43-
from platform import system
44-
45-
if system() == "Windows": # pragma: no cover
46-
if hasattr(os, "add_dll_directory"):
47-
os.add_dll_directory(mypath)
48-
os.add_dll_directory(dpctlpath)
4943

44+
if sys.platform == "win32": # pragma: no cover
45+
os.add_dll_directory(mypath)
46+
os.add_dll_directory(dpctlpath)
5047
os.environ["PATH"] = os.pathsep.join(
5148
[os.getenv("PATH", ""), mypath, dpctlpath]
5249
)
53-
5450
# For virtual environments on Windows, add folder with DPC++ libraries
5551
# to the DLL search path
5652
if sys.base_exec_prefix != sys.exec_prefix and os.path.isfile(

dpnp/backend/extensions/common/ext/details/validation_utils_internal.hpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,10 @@ inline void check_no_overlap(const array_ptr &input,
114114
}
115115

116116
const auto &overlap = dpctl::tensor::overlap::MemoryOverlap();
117+
const auto &same_logical_tensors =
118+
dpctl::tensor::overlap::SameLogicalTensors();
117119

118-
if (overlap(*input, *output)) {
120+
if (overlap(*input, *output) && !same_logical_tensors(*input, *output)) {
119121
throw py::value_error(name_of(input, names) +
120122
" has overlapping memory segments with " +
121123
name_of(output, names));

dpnp/backend/extensions/ufunc/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ set(_elementwise_sources
3737
${CMAKE_CURRENT_SOURCE_DIR}/elementwise_functions/heaviside.cpp
3838
${CMAKE_CURRENT_SOURCE_DIR}/elementwise_functions/i0.cpp
3939
${CMAKE_CURRENT_SOURCE_DIR}/elementwise_functions/interpolate.cpp
40+
${CMAKE_CURRENT_SOURCE_DIR}/elementwise_functions/isclose.cpp
4041
${CMAKE_CURRENT_SOURCE_DIR}/elementwise_functions/lcm.cpp
4142
${CMAKE_CURRENT_SOURCE_DIR}/elementwise_functions/ldexp.cpp
4243
${CMAKE_CURRENT_SOURCE_DIR}/elementwise_functions/logaddexp2.cpp

dpnp/backend/extensions/ufunc/elementwise_functions/bitwise_count.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@
2323
// THE POSSIBILITY OF SUCH DAMAGE.
2424
//*****************************************************************************
2525

26+
#include <cstdint>
27+
#include <type_traits>
28+
#include <vector>
29+
2630
#include <sycl/sycl.hpp>
2731

2832
#include "dpctl4pybind11.hpp"

dpnp/backend/extensions/ufunc/elementwise_functions/common.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
#include "heaviside.hpp"
3838
#include "i0.hpp"
3939
#include "interpolate.hpp"
40+
#include "isclose.hpp"
4041
#include "lcm.hpp"
4142
#include "ldexp.hpp"
4243
#include "logaddexp2.hpp"
@@ -66,6 +67,7 @@ void init_elementwise_functions(py::module_ m)
6667
init_heaviside(m);
6768
init_i0(m);
6869
init_interpolate(m);
70+
init_isclose(m);
6971
init_lcm(m);
7072
init_ldexp(m);
7173
init_logaddexp2(m);

0 commit comments

Comments
 (0)