Skip to content

Commit 6829b9c

Browse files
authored
Merge branch 'master' into unskip_cholesky_arl
2 parents b13b53c + 017d192 commit 6829b9c

Some content is hidden

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

81 files changed

+1592
-732
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
* @antonwolfy @AlexanderKalistratov @vlad-perevezentsev @vtavana @ndgrigorian
1+
* @antonwolfy @vlad-perevezentsev @ndgrigorian

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

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,18 @@ jobs:
3939
matrix:
4040
python: ['3.9', '3.10', '3.11', '3.12', '3.13']
4141
runner: [ubuntu-22.04, ubuntu-24.04, windows-2022]
42+
include:
43+
- python: 3.9
44+
# do not install scipy due to import issue
45+
test-packages: "pytest"
46+
- python: 3.10
47+
test-packages: "pytest scipy"
48+
- python: 3.11
49+
test-packages: "pytest scipy"
50+
- python: 3.12
51+
test-packages: "pytest scipy"
52+
- python: 3.13
53+
test-packages: "pytest scipy"
4254

4355
steps:
4456
- name: Cancel Previous Runs
@@ -84,12 +96,12 @@ jobs:
8496
id: install_dpnp
8597
continue-on-error: true
8698
run: |
87-
mamba install ${{ env.package-name }}=${{ steps.find_latest_tag.outputs.tag }} pytest scipy ${{ env.channels-list }}
99+
mamba install ${{ env.package-name }}=${{ steps.find_latest_tag.outputs.tag }} ${{ matrix.test-packages }} ${{ env.channels-list }}
88100
89101
- name: ReInstall dpnp
90102
if: steps.install_dpnp.outcome == 'failure'
91103
run: |
92-
mamba install ${{ env.package-name }}=${{ steps.find_latest_tag.outputs.tag }} pytest scipy ${{ env.channels-list }}
104+
mamba install ${{ env.package-name }}=${{ steps.find_latest_tag.outputs.tag }} ${{ matrix.test-packages }} ${{ env.channels-list }}
93105
94106
- name: List installed packages
95107
run: mamba list

.github/workflows/openssf-scorecard.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,6 @@ jobs:
7272

7373
# Upload the results to GitHub's code scanning dashboard.
7474
- name: "Upload to code-scanning"
75-
uses: github/codeql-action/upload-sarif@192325c86100d080feab897ff886c34abd4c83a3 # v3.30.3
75+
uses: github/codeql-action/upload-sarif@3599b3baa15b485a2e49ef411a7a4bb2452e7f93 # v3.30.5
7676
with:
7777
sarif_file: results.sarif

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,20 @@ on:
88
schedule:
99
- cron: '28 2 * * 6' # Saturday at 02:28 UTC
1010

11+
permissions: read-all
12+
1113
jobs:
1214
autoupdate:
1315
name: Autoupdate
1416

1517
runs-on: ubuntu-latest
1618
timeout-minutes: 10
1719

20+
permissions:
21+
# Needed to create a PR with autoupdate changes
22+
contents: write
23+
pull-requests: write
24+
1825
steps:
1926
- name: Checkout DPNP repo
2027
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

CHANGELOG.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1717
* Added `dpnp.ndarray.__contains__` method [#2534](https://github.com/IntelPython/dpnp/pull/2534)
1818
* 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)
1919
* Added implementation of `dpnp.piecewise` [#2550](https://github.com/IntelPython/dpnp/pull/2550)
20+
* Added implementation of `dpnp.linalg.lu_solve` for 2D inputs (SciPy-compatible) [#2575](https://github.com/IntelPython/dpnp/pull/2575)
21+
* Added implementation of `dpnp.special.erfc` [#2588](https://github.com/IntelPython/dpnp/pull/2588)
2022

2123
### Changed
2224

@@ -43,6 +45,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4345
* Extended `dpnp.pad` to support `pad_width` keyword as a dictionary [#2535](https://github.com/IntelPython/dpnp/pull/2535)
4446
* Redesigned `dpnp.erf` function through pybind11 extension of OneMKL call or dedicated kernel in `ufunc` namespace [#2551](https://github.com/IntelPython/dpnp/pull/2551)
4547
* Improved performance of batched implementation of `dpnp.linalg.det` and `dpnp.linalg.slogdet` [#2572](https://github.com/IntelPython/dpnp/pull/2572)
48+
* Improved documentations of `dpnp.tril_indices` and `dpnp.triu_indices` to clarify the returned order of indices [#2586](https://github.com/IntelPython/dpnp/pull/2586)
49+
* `dpnp` uses pybind11 3.0.1 [#2594](https://github.com/IntelPython/dpnp/pull/2594)
4650

4751
### Deprecated
4852

@@ -57,10 +61,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
5761
* Updated `pre-commit` GitHub workflow to pass `no-commit-to-branch` check [#2501](https://github.com/IntelPython/dpnp/pull/2501)
5862
* Updated the math formulas in summary of `dpnp.matvec` and `dpnp.vecmat` to correct a typo [#2503](https://github.com/IntelPython/dpnp/pull/2503)
5963
* Avoided negating unsigned integers in ceil division used in `dpnp.resize` implementation [#2508](https://github.com/IntelPython/dpnp/pull/2508)
60-
* 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)
64+
* 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), [#2587](https://github.com/IntelPython/dpnp/pull/2587)
6165
* Resolved issue when `dpnp.ndarray` constructor is called with `dpnp.ndarray.data` as `buffer` keyword [#2533](https://github.com/IntelPython/dpnp/pull/2533)
6266
* Fixed `dpnp.linalg.cond` to always return a real dtype [#2547](https://github.com/IntelPython/dpnp/pull/2547)
6367
* 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)
68+
* Resolved `conda build --test` issue in python 3.9 environment [#2583](https://github.com/IntelPython/dpnp/pull/2583)
69+
* Fixed tests for the rounding functions to depend on minimum required numpy version [#2589](https://github.com/IntelPython/dpnp/pull/2589)
70+
* Fixed tests for the ufuncs to depend on minimum required numpy version [#2590](https://github.com/IntelPython/dpnp/pull/2590)
71+
* Added missing permission definition in `Autoupdate pre-commit` GitHub workflow [#2591](https://github.com/IntelPython/dpnp/pull/2591)
6472

6573
### Security
6674

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ include(GNUInstallDirs)
5353
include(FetchContent)
5454
FetchContent_Declare(
5555
pybind11
56-
URL https://github.com/pybind/pybind11/archive/refs/tags/v2.13.6.tar.gz
57-
URL_HASH SHA256=e08cb87f4773da97fa7b5f035de8763abc656d87d5773e62f6da0587d1f0ec20
56+
URL https://github.com/pybind/pybind11/archive/refs/tags/v3.0.1.tar.gz
57+
URL_HASH SHA256=741633da746b7c738bb71f1854f957b9da660bcd2dce68d71949037f0969d0ca
5858
FIND_PACKAGE_ARGS NAMES pybind11
5959
)
6060
FetchContent_MakeAvailable(pybind11)

conda-recipe/meta.yaml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ test:
6363
requires:
6464
- pytest
6565
- setuptools
66-
- scipy
66+
- scipy # [py>39]
6767

6868
about:
6969
home: https://github.com/IntelPython/dpnp
@@ -83,7 +83,5 @@ about:
8383
extra:
8484
recipe-maintainers:
8585
- antonwolfy
86-
- AlexanderKalistratov
87-
- vtavana
8886
- vlad-perevezentsev
8987
- ndgrigorian

doc/reference/linalg.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ Solving linear equations
8686
dpnp.linalg.solve
8787
dpnp.linalg.tensorsolve
8888
dpnp.linalg.lstsq
89+
dpnp.linalg.lu_solve
8990
dpnp.linalg.inv
9091
dpnp.linalg.pinv
9192
dpnp.linalg.tensorinv

dpnp/backend/extensions/blas/CMakeLists.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,7 @@ endif()
6060

6161
set_target_properties(${python_module_name} PROPERTIES CMAKE_POSITION_INDEPENDENT_CODE ON)
6262

63-
target_include_directories(${python_module_name} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../include)
64-
target_include_directories(${python_module_name} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../src)
63+
target_include_directories(${python_module_name} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../)
6564
target_include_directories(${python_module_name} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../common)
6665

6766
target_include_directories(${python_module_name} PUBLIC ${Dpctl_INCLUDE_DIRS})

dpnp/backend/extensions/blas/blas_py.cpp

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@
3030
#include <pybind11/pybind11.h>
3131
#include <pybind11/stl.h>
3232

33+
// utils extension header
34+
#include "ext/common.hpp"
35+
3336
#include "dot.hpp"
3437
#include "dot_common.hpp"
3538
#include "dotc.hpp"
@@ -41,7 +44,9 @@
4144
namespace blas_ns = dpnp::extensions::blas;
4245
namespace py = pybind11;
4346
namespace dot_ns = blas_ns::dot;
47+
4448
using dot_ns::dot_impl_fn_ptr_t;
49+
using ext::common::init_dispatch_vector;
4550

4651
// populate dispatch vectors and tables
4752
void init_dispatch_vectors_tables(void)
@@ -64,7 +69,7 @@ PYBIND11_MODULE(_blas_impl, m)
6469
using event_vecT = std::vector<sycl::event>;
6570

6671
{
67-
dot_ns::init_dot_dispatch_vector<blas_ns::DotContigFactory>(
72+
init_dispatch_vector<dot_impl_fn_ptr_t, blas_ns::DotContigFactory>(
6873
dot_dispatch_vector);
6974

7075
auto dot_pyapi = [&](sycl::queue &exec_q, const arrayT &src1,
@@ -82,7 +87,7 @@ PYBIND11_MODULE(_blas_impl, m)
8287
}
8388

8489
{
85-
dot_ns::init_dot_dispatch_vector<blas_ns::DotcContigFactory>(
90+
init_dispatch_vector<dot_impl_fn_ptr_t, blas_ns::DotcContigFactory>(
8691
dotc_dispatch_vector);
8792

8893
auto dotc_pyapi = [&](sycl::queue &exec_q, const arrayT &src1,
@@ -101,7 +106,7 @@ PYBIND11_MODULE(_blas_impl, m)
101106
}
102107

103108
{
104-
dot_ns::init_dot_dispatch_vector<blas_ns::DotuContigFactory>(
109+
init_dispatch_vector<dot_impl_fn_ptr_t, blas_ns::DotuContigFactory>(
105110
dotu_dispatch_vector);
106111

107112
auto dotu_pyapi = [&](sycl::queue &exec_q, const arrayT &src1,

0 commit comments

Comments
 (0)