Skip to content

Commit eb268f1

Browse files
authored
Merge branch 'master' into fix-vecmat-win-failure
2 parents c4f02bc + f244f40 commit eb268f1

Some content is hidden

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

93 files changed

+1544
-121
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: 5 additions & 2 deletions
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
@@ -69,6 +72,6 @@ jobs:
6972

7073
# Upload the results to GitHub's code scanning dashboard.
7174
- name: "Upload to code-scanning"
72-
uses: github/codeql-action/upload-sarif@3c3833e0f8c1c83d449a7478aa59c036a9165498 # v3.29.11
75+
uses: github/codeql-action/upload-sarif@f1f6e5f6af878fb37288ce1c627459e94dbf7d01 # v3.30.1
7376
with:
7477
sarif_file: results.sarif

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

Lines changed: 3 additions & 5 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:
@@ -22,7 +20,7 @@ jobs:
2220
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
2321

2422
- name: Set up python
25-
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
23+
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
2624
with:
2725
python-version: '3.13'
2826

.github/workflows/pre-commit.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
ref: ${{ github.sha }}
3737

3838
- name: Set up python
39-
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
39+
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
4040
with:
4141
python-version: '3.13'
4242

CHANGELOG.md

Lines changed: 7 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

1920
### Changed
2021

@@ -34,6 +35,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3435
* 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)
3536
* FFT module is updated to perform in-place FFT in intermediate steps of ND FFT [#2543](https://github.com/IntelPython/dpnp/pull/2543)
3637
* Reused dpctl tensor include to enable experimental SYCL namespace for complex types [#2546](https://github.com/IntelPython/dpnp/pull/2546)
38+
* Changed Windows-specific logic in dpnp initialization [#2553](https://github.com/IntelPython/dpnp/pull/2553)
39+
* Added missing includes to files in ufunc and VM pybind11 extensions [#2571](https://github.com/IntelPython/dpnp/pull/2571)
40+
* Refactored backend implementation of `dpnp.linalg.solve` to use oneMKL LAPACK `gesv` directly [#2558](https://github.com/IntelPython/dpnp/pull/2558)
41+
* 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)
42+
* Extended `dpnp.pad` to support `pad_width` keyword as a dictionary [#2535](https://github.com/IntelPython/dpnp/pull/2535)
3743

3844
### Deprecated
3945

@@ -51,6 +57,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
5157
* Fixed `dpnp.unique` with 1d input array and `axis=0`, `equal_nan=True` keywords passed where the produced result doesn't collapse the NaNs [#2530](https://github.com/IntelPython/dpnp/pull/2530)
5258
* Resolved issue when `dpnp.ndarray` constructor is called with `dpnp.ndarray.data` as `buffer` keyword [#2533](https://github.com/IntelPython/dpnp/pull/2533)
5359
* Fixed `dpnp.linalg.cond` to always return a real dtype [#2547](https://github.com/IntelPython/dpnp/pull/2547)
60+
* Resolved the issue in `dpnp.random` functions to allow any value of `size` where each element is castable to `Py_ssize_t` type [#2578](https://github.com/IntelPython/dpnp/pull/2578)
5461

5562
### Security
5663

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"

0 commit comments

Comments
 (0)