Skip to content

Commit 4ad814c

Browse files
authored
Merge branch 'master' into tests_cuda
2 parents 0c64722 + 7c45c10 commit 4ad814c

File tree

123 files changed

+4208
-4125
lines changed

Some content is hidden

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

123 files changed

+4208
-4125
lines changed

.github/workflows/build-sphinx.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ jobs:
9696
sudo apt-get install -y nvidia-cuda-toolkit clinfo
9797
9898
- name: Checkout repo
99-
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
99+
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
100100
with:
101101
fetch-depth: 0
102102

@@ -237,7 +237,7 @@ jobs:
237237
runs-on: ubuntu-latest
238238

239239
steps:
240-
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
240+
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
241241
with:
242242
fetch-depth: 0
243243

.github/workflows/conda-package.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ env:
1414
# Follow oneAPI installation instruction for conda, since intel channel is not longer available
1515
# CHANNELS: '-c dppy/label/dev -c intel -c conda-forge --override-channels'
1616
CHANNELS: '-c dppy/label/dev -c https://software.repos.intel.com/python/conda/ -c conda-forge --override-channels'
17-
CONDA_BUILD_VERSION: '24.7.1'
17+
CONDA_BUILD_VERSION: '24.9.0'
1818
CONDA_INDEX_VERSION: '0.5.0'
1919
RERUN_TESTS_ON_FAILURE: 'true'
2020
RUN_TESTS_MAX_ATTEMPTS: 2
@@ -95,7 +95,7 @@ jobs:
9595
access_token: ${{ github.token }}
9696

9797
- name: Checkout DPNP repo
98-
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
98+
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
9999
with:
100100
fetch-depth: 0
101101

@@ -129,7 +129,7 @@ jobs:
129129
run: mamba install conda-build=${{ env.CONDA_BUILD_VERSION}}
130130

131131
- name: Cache conda packages
132-
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
132+
uses: actions/cache@3624ceb22c1c5a301c8db4169662070a689d9ea8 # v4.1.1
133133
env:
134134
CACHE_NUMBER: 1 # Increase to reset cache
135135
with:
@@ -144,13 +144,13 @@ jobs:
144144
run: conda build --no-test --python ${{ matrix.python }} --numpy 2.0 ${{ env.CHANNELS }} conda-recipe
145145

146146
- name: Upload artifact
147-
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
147+
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
148148
with:
149149
name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }}
150150
path: ${{ env.CONDA_BLD }}${{ env.PACKAGE_NAME }}-*.tar.bz2
151151

152152
- name: Upload wheels artifact
153-
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
153+
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
154154
with:
155155
name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Wheels Python ${{ matrix.python }}
156156
path: ${{ env.WHEELS_OUTPUT_FOLDER }}${{ env.PACKAGE_NAME }}-*.whl
@@ -229,7 +229,7 @@ jobs:
229229
TEST_CHANNELS: '-c ${{ env.channel-path }} ${{ env.CHANNELS }}'
230230

231231
- name: Cache conda packages
232-
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
232+
uses: actions/cache@3624ceb22c1c5a301c8db4169662070a689d9ea8 # v4.1.1
233233
env:
234234
CACHE_NUMBER: 1 # Increase to reset cache
235235
with:
@@ -241,7 +241,7 @@ jobs:
241241
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-
242242
243243
- name: Install dpnp
244-
run: mamba install ${{ env.PACKAGE_NAME }}=${{ env.PACKAGE_VERSION }} pytest numpy"<2.0a" python=${{ matrix.python }} ${{ env.TEST_CHANNELS }}
244+
run: mamba install ${{ env.PACKAGE_NAME }}=${{ env.PACKAGE_VERSION }} pytest python=${{ matrix.python }} ${{ env.TEST_CHANNELS }}
245245
env:
246246
TEST_CHANNELS: '-c ${{ env.channel-path }} ${{ env.CHANNELS }}'
247247
MAMBA_NO_LOW_SPEED_LIMIT: 1
@@ -373,7 +373,7 @@ jobs:
373373
run: more lockfile
374374

375375
- name: Cache conda packages
376-
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
376+
uses: actions/cache@3624ceb22c1c5a301c8db4169662070a689d9ea8 # v4.1.1
377377
env:
378378
CACHE_NUMBER: 1 # Increase to reset cache
379379
with:
@@ -387,7 +387,7 @@ jobs:
387387
- name: Install dpnp
388388
run: |
389389
@echo on
390-
mamba install ${{ env.PACKAGE_NAME }}=${{ env.PACKAGE_VERSION }} pytest numpy"<2.0a" python=${{ matrix.python }} ${{ env.TEST_CHANNELS }}
390+
mamba install ${{ env.PACKAGE_NAME }}=${{ env.PACKAGE_VERSION }} pytest python=${{ matrix.python }} ${{ env.TEST_CHANNELS }}
391391
env:
392392
TEST_CHANNELS: '-c ${{ env.channel-path }} ${{ env.CHANNELS }}'
393393
MAMBA_NO_LOW_SPEED_LIMIT: 1
@@ -514,7 +514,7 @@ jobs:
514514
run: mamba install anaconda-client
515515

516516
- name: Checkout repo
517-
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
517+
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
518518
with:
519519
repository: IntelPython/devops-tools
520520
fetch-depth: 0

.github/workflows/generate_coverage.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
access_token: ${{ github.token }}
3434

3535
- name: Checkout repo
36-
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
36+
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
3737
with:
3838
fetch-depth: 0
3939

@@ -83,7 +83,7 @@ jobs:
8383
if: env.INSTALL_ONE_API == 'yes'
8484
run: |
8585
mamba install cython llvm cmake">=3.21" scikit-build ninja pytest pytest-cov coverage[toml] \
86-
dpctl">=0.18.0dev0" numpy"<2.0a" ${{ env.NO_INTEL_CHANNELS }}
86+
dpctl">=0.18.0dev0" ${{ env.NO_INTEL_CHANNELS }}
8787
8888
- name: Install dpnp dependencies
8989
if: env.INSTALL_ONE_API != 'yes'

.github/workflows/openssf-scorecard.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333

3434
steps:
3535
- name: "Checkout code"
36-
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
36+
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
3737
with:
3838
persist-credentials: false
3939

@@ -60,14 +60,14 @@ jobs:
6060
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
6161
# format to the repository Actions tab.
6262
- name: "Upload artifact"
63-
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
63+
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
6464
with:
6565
name: SARIF file
6666
path: results.sarif
6767
retention-days: 14
6868

6969
# Upload the results to GitHub's code scanning dashboard.
7070
- name: "Upload to code-scanning"
71-
uses: github/codeql-action/upload-sarif@8214744c546c1e5c8f03dde8fab3a7353211988d # v3.26.7
71+
uses: github/codeql-action/upload-sarif@f779452ac5af1c261dce0346a8f964149f49322b # v3.26.13
7272
with:
7373
sarif_file: results.sarif

.github/workflows/pre-commit.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
pylint
2727
2828
- name: Checkout DPNP repo
29-
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
29+
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
3030

3131
- name: Set up python
3232
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# CMake build and local install directory
22
_skbuild
33
build_cython
4+
cython_debug
45
dpnp.egg-info
56

67
# Byte-compiled / optimized / DLL files

CHANGELOG.md

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
88

99
### Added
1010

11-
### Change
11+
### Changed
1212

1313
### Fixed
1414

1515

16-
## [0.16.0] - 09/DD/2024
16+
## [0.16.0] - 10/14/2024
1717

1818
This release reaches an important milestone by making offloading fully asynchronous. Calls to `dpnp` submit tasks for execution to DPC++ runtime and return without waiting for execution of these tasks to finish. The sequential semantics a user comes to expect from execution of Python script is preserved though.
1919
In addition, this release completes implementation of `dpnp.fft` module and adds several new array manipulation, indexing and elementwise routines. Moreover, it adds support to build `dpnp` for Nvidia GPUs.
@@ -50,7 +50,7 @@ In addition, this release completes implementation of `dpnp.fft` module and adds
5050
* Added implementation of `dpnp.resize` and `dpnp.rot90` functions [#2030](https://github.com/IntelPython/dpnp/pull/2030)
5151
* Added implementation of `dpnp.require` function [#2036](https://github.com/IntelPython/dpnp/pull/2036)
5252

53-
### Change
53+
### Changed
5454

5555
* Extended pre-commit pylint check to `dpnp.fft` module [#1860](https://github.com/IntelPython/dpnp/pull/1860)
5656
* Reworked `vm` vector math backend to reuse `dpctl.tensor` functions around unary and binary functions [#1868](https://github.com/IntelPython/dpnp/pull/1868)
@@ -112,14 +112,23 @@ In addition, this release completes implementation of `dpnp.fft` module and adds
112112
* Updated `Array Manipulation Routines` page in documentation to add missing functions and to remove duplicate entries [#2033](https://github.com/IntelPython/dpnp/pull/2033)
113113
* `dpnp` uses pybind11 2.13.6 [#2041](https://github.com/IntelPython/dpnp/pull/2041)
114114
* Updated `dpnp.fft` backend to depend on `INTEL_MKL_VERSION` flag to ensures that the appropriate code segment is executed based on the version of OneMKL [#2035](https://github.com/IntelPython/dpnp/pull/2035)
115+
* Use `dpctl::tensor::alloc_utils::sycl_free_noexcept` instead of `sycl::free` in `host_task` tasks associated with life-time management of temporary USM allocations [#2058](https://github.com/IntelPython/dpnp/pull/2058)
116+
* Improved implementation of `dpnp.kron` to avoid unnecessary copy for non-contiguous arrays [#2059](https://github.com/IntelPython/dpnp/pull/2059)
117+
* Updated the test suit for `dpnp.fft` module [#2071](https://github.com/IntelPython/dpnp/pull/2071)
118+
* Reworked `dpnp.clip` implementation to align with Python Array API 2023.12 specification [#2048](https://github.com/IntelPython/dpnp/pull/2048)
119+
* Skipped outdated tests for `dpnp.linalg.solve` due to compatibility issues with NumPy 2.0 [#2074](https://github.com/IntelPython/dpnp/pull/2074)
120+
* Updated installation instructions [#2098](https://github.com/IntelPython/dpnp/pull/2098)
115121

116122
### Fixed
117123

118124
* Resolved an issue with `dpnp.matmul` when an f_contiguous `out` keyword is passed to the the function [#1872](https://github.com/IntelPython/dpnp/pull/1872)
119125
* Resolved a possible race condition in `dpnp.inv` [#1940](https://github.com/IntelPython/dpnp/pull/1940)
120126
* Resolved an issue with failing tests for `dpnp.append` when running on a device without fp64 support [#2034](https://github.com/IntelPython/dpnp/pull/2034)
121127
* Resolved an issue with input array of `usm_ndarray` passed into `dpnp.ix_` [#2047](https://github.com/IntelPython/dpnp/pull/2047)
122-
128+
* Added a workaround to prevent crash in tests on Windows in internal CI/CD (when running on either Lunar Lake or Arrow Lake) [#2062](https://github.com/IntelPython/dpnp/pull/2062)
129+
* Fixed a crash in `dpnp.choose` caused by missing control of releasing temporary allocated device memory [#2063](https://github.com/IntelPython/dpnp/pull/2063)
130+
* Resolved compilation warning and error while building in debug mode [#2066](https://github.com/IntelPython/dpnp/pull/2066)
131+
* Fixed an issue with asynchronous execution in `dpnp.fft` module [#2067](https://github.com/IntelPython/dpnp/pull/2067)
123132

124133
## [0.15.0] - 05/25/2024
125134

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ python scripts/build_locally.py
4141
## Install Wheel Package via pip
4242
Install DPNP
4343
```cmd
44-
python -m pip install dpnp
44+
python -m pip install --index-url https://software.repos.intel.com/python/pypi dpnp
4545
```
4646

4747
Set path to Performance Libraries in case of using venv or system Python:

doc/known_words.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
al
2+
ary
23
backend
34
bitwise
45
boolean
@@ -31,6 +32,7 @@ Fortran
3132
Frobenius
3233
fs
3334
getter
35+
Golub
3436
Hadamard
3537
Hypergeometric
3638
iinfo
@@ -51,8 +53,10 @@ ndim
5153
Nj
5254
Nk
5355
normed
56+
nuc
5457
Nyquist
5558
oneAPI
59+
ord
5660
orthonormal
5761
Penrose
5862
Polyutils

doc/quick_start_guide.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ You will need one of the commands below:
4444

4545
* Conda: ``conda install dpnp -c https://software.repos.intel.com/python/conda/ -c conda-forge``
4646

47-
* Pip: ``python -m pip install dpnp``
47+
* Pip: ``python -m pip install --index-url https://software.repos.intel.com/python/pypi dpnp``
4848

4949
These commands install dpnp package along with its dependencies, including
5050
``dpctl`` package with `Data Parallel Control Library`_ and all required

doc/reference/binary.rst

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
Binary Operations
1+
Bit-wise operations
22
=================
33

4-
.. https://docs.scipy.org/doc/numpy/reference/routines.bitwise.html
4+
.. https://numpy.org/doc/stable/reference/routines.bitwise.html
55
66
Element-wise bit operations
77
---------------------------
@@ -15,8 +15,12 @@ Element-wise bit operations
1515
dpnp.bitwise_or
1616
dpnp.bitwise_xor
1717
dpnp.invert
18+
dpnp.bitwise_invert
1819
dpnp.left_shift
20+
dpnp.bitwise_left_shift
1921
dpnp.right_shift
22+
dpnp.bitwise_right_shift
23+
dpnp.bitwise_count
2024

2125

2226
Bit packing

doc/reference/creation.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Array creation routines
44
=======================
55

6-
.. https://docs.scipy.org/doc/numpy/reference/routines.array-creation.html
6+
.. https://numpy.org/doc/stable/reference/routines.array-creation.html
77
88
From shape or value
99
-----------------------

doc/reference/dtype.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Data type routines
44
==================
55

6-
.. https://docs.scipy.org/doc/numpy/reference/routines.dtype.html
6+
.. https://numpy.org/doc/stable/reference/routines.dtype.html
77
88
.. autosummary::
99
:toctree: generated/

doc/reference/fft.rst

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
1-
.. module:: dpnp.fft
2-
31
FFT Functions
42
=============
53

6-
.. https://docs.scipy.org/doc/numpy/reference/routines.fft.html
4+
.. https://numpy.org/doc/stable/reference/routines.fft.html
75
86
Standard FFTs
97
-------------
@@ -12,12 +10,12 @@ Standard FFTs
1210
:toctree: generated/
1311
:nosignatures:
1412

15-
fft
16-
ifft
17-
fft2
18-
ifft2
19-
fftn
20-
ifftn
13+
dpnp.fft.fft
14+
dpnp.fft.ifft
15+
dpnp.fft.fft2
16+
dpnp.fft.ifft2
17+
dpnp.fft.fftn
18+
dpnp.fft.ifftn
2119

2220

2321
Real FFTs
@@ -27,12 +25,12 @@ Real FFTs
2725
:toctree: generated/
2826
:nosignatures:
2927

30-
rfft
31-
irfft
32-
rfft2
33-
irfft2
34-
rfftn
35-
irfftn
28+
dpnp.fft.rfft
29+
dpnp.fft.irfft
30+
dpnp.fft.rfft2
31+
dpnp.fft.irfft2
32+
dpnp.fft.rfftn
33+
dpnp.fft.irfftn
3634

3735

3836
Hermitian FFTs
@@ -42,8 +40,8 @@ Hermitian FFTs
4240
:toctree: generated/
4341
:nosignatures:
4442

45-
hfft
46-
ihfft
43+
dpnp.fft.hfft
44+
dpnp.fft.ihfft
4745

4846

4947
Helper routines
@@ -53,10 +51,10 @@ Helper routines
5351
:toctree: generated/
5452
:nosignatures:
5553

56-
fftfreq
57-
rfftfreq
58-
fftshift
59-
ifftshift
54+
dpnp.fft.fftfreq
55+
dpnp.fft.rfftfreq
56+
dpnp.fft.fftshift
57+
dpnp.fft.ifftshift
6058

6159
.. fft.config module is not implemented yet
6260
.. dpnp.fft.config.set_cufft_callbacks

0 commit comments

Comments
 (0)