Skip to content

Commit ccc7053

Browse files
Merge remote-tracking branch 'origin/master' into gold/2021
2 parents ba88f8d + acd1a60 commit ccc7053

File tree

115 files changed

+13069
-1899
lines changed

Some content is hidden

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

115 files changed

+13069
-1899
lines changed

.github/workflows/conda-package.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818

1919
strategy:
2020
matrix:
21-
python: ['3.8', '3.9', '3.10']
21+
python: ['3.8', '3.9', '3.10', '3.11']
2222
steps:
2323
- uses: actions/checkout@v3
2424
with:
@@ -63,7 +63,7 @@ jobs:
6363

6464
strategy:
6565
matrix:
66-
python: ['3.8', '3.9', '3.10']
66+
python: ['3.8', '3.9', '3.10', '3.11']
6767
env:
6868
conda-bld: C:\Miniconda\conda-bld\win-64\
6969
steps:
@@ -102,7 +102,7 @@ jobs:
102102

103103
strategy:
104104
matrix:
105-
python: ['3.8', '3.9', '3.10']
105+
python: ['3.8', '3.9', '3.10', '3.11']
106106
experimental: [false]
107107
runner: [ubuntu-20.04]
108108
continue-on-error: ${{ matrix.experimental }}
@@ -168,7 +168,7 @@ jobs:
168168
run: |
169169
. $CONDA/etc/profile.d/conda.sh
170170
conda activate test_dpctl
171-
gdb --batch -ex r -ex 'info sharedlibrary' -ex 'set print elements 1000' -ex bt --args ${CONDA_PREFIX}/bin/python -m pytest -q -ra --disable-warnings --pyargs dpctl.tests.test_tensor_elementwise::test_cos_order -vv || true
171+
gdb --batch -ex r -ex 'info sharedlibrary' -ex 'set print elements 1000' -ex bt --args ${CONDA_PREFIX}/bin/python -m pytest -q -ra --disable-warnings --pyargs dpctl.tests.elementwise.test_trigonometric::test_trig_order -vv || true
172172
- name: Run tests
173173
env:
174174
SYCL_QUEUE_THREAD_POOL_SIZE: 6
@@ -185,7 +185,7 @@ jobs:
185185
shell: cmd /C CALL {0}
186186
strategy:
187187
matrix:
188-
python: ['3.8', '3.9', '3.10']
188+
python: ['3.8', '3.9', '3.10', '3.11']
189189
experimental: [false]
190190
runner: [windows-latest]
191191
continue-on-error: ${{ matrix.experimental }}
@@ -300,7 +300,7 @@ jobs:
300300
runs-on: ubuntu-20.04
301301
strategy:
302302
matrix:
303-
python: ['3.8', '3.9', '3.10']
303+
python: ['3.8', '3.9', '3.10', '3.11']
304304
steps:
305305
- name: Download artifact
306306
uses: actions/download-artifact@v3
@@ -324,7 +324,7 @@ jobs:
324324
runs-on: windows-latest
325325
strategy:
326326
matrix:
327-
python: ['3.8', '3.9', '3.10']
327+
python: ['3.8', '3.9', '3.10', '3.11']
328328
steps:
329329
- name: Download artifact
330330
uses: actions/download-artifact@v3

.github/workflows/generate-coverage.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ jobs:
7979
- name: Install dpctl dependencies
8080
shell: bash -l {0}
8181
run: |
82-
pip install numpy cython"<3" setuptools pytest pytest-cov scikit-build cmake coverage[toml]
82+
pip install numpy cython setuptools pytest pytest-cov scikit-build cmake coverage[toml]
8383
8484
- name: Build dpctl with coverage
8585
shell: bash -l {0}

.github/workflows/generate-docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ jobs:
4949
if: ${{ !github.event.pull_request || github.event.action != 'closed' }}
5050
shell: bash -l {0}
5151
run: |
52-
pip install numpy cython"<3" setuptools scikit-build cmake sphinx sphinx_rtd_theme pydot graphviz sphinxcontrib-programoutput sphinxcontrib-googleanalytics
52+
pip install numpy cython setuptools scikit-build cmake sphinx sphinx_rtd_theme pydot graphviz sphinxcontrib-programoutput sphinxcontrib-googleanalytics
5353
- name: Checkout repo
5454
uses: actions/checkout@v3
5555
with:

.github/workflows/os-llvm-sycl-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ jobs:
108108
- name: Install dpctl dependencies
109109
shell: bash -l {0}
110110
run: |
111-
pip install numpy cython"<3" setuptools pytest scikit-build cmake
111+
pip install numpy cython setuptools pytest scikit-build cmake
112112
113113
- name: Checkout repo
114114
uses: actions/checkout@v3

CHANGELOG.md

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,100 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7+
## [dev]
8+
9+
### Added
10+
### Changed
11+
12+
* Removed `dpctl.tensor.numpy_usm_shared` obsolete class and associated tests which were being skipped
13+
14+
### Fixed
15+
16+
## [0.14.5] - 07/17/2023
17+
18+
### Added
19+
20+
* Added `dpctl.tensor.log2` and `dpctl.tensor.log10`: [#1267](https://github.com/IntelPython/dpctl/pull/1267)
21+
* Added `dpctl.tensor.negative`, `dpctl.tensor.positive`, `dpctl.tensor.square` [#1268](https://github.com/IntelPython/dpctl/pull/1268)
22+
* Added `dpctl.tensor.logical_not`, `dpctl.tensor.logical_and`, `dpctl.tensor.logical_or`, `dpctl.tensor.logical_xor` [#1270](https://github.com/IntelPython/dpctl/pull/1270)
23+
24+
### Changed
25+
26+
* `dpctl.tensor.astype` behavior for `newdtype=None` changes [#1261](https://github.com/IntelPython/dpctl/pull/1262)
27+
* `dpctl.tensor.usm_ndaray` constructor default value of `dtype` keyword argument changed to `None`: [#1265](https://github.com/IntelPython/dpctl/pull/1265)
28+
* Support for `out` arguments that overlap with inputs for unary elementwise functions[#1281](https://github.com/IntelPython/dpctl/pull/1281)
29+
* Copying from one array to another a no-op if both arrays view into the same memory [#1284](https://github.com/IntelPython/dpctl/pull/1284)
30+
31+
## [0.14.4] - 06/14/2023
32+
33+
### Added
34+
35+
* Added `dpctl.tensor.less_equal`, `dpctl.tensor.greater`, `dpctl.tensor.greater_equal`: [#1239](https://github.com/IntelPython/dpctl/pull/1239)
36+
37+
### Changed
38+
39+
* Optimized in-place arithmetic operations for updating matrix with rows/columns via broadcasting: [#1244](https://github.com/IntelPython/dpctl/pull/1244)
40+
41+
### Fixed
42+
43+
* Fixed handling of 0d arrays in `dpctl.tensor.sum`: [#1238](https://github.com/IntelPython/dpctl/pull/1238)
44+
45+
## [0.14.3] - 06/13/2023
46+
47+
### Added
48+
49+
* Added support of `axis=None` in `dpctl.tensor.concat` [#1125](https://github.com/IntelPython/dpctl/pull/1125)
50+
* Added caching for `dpctl.SyclDevice.filter_string` property [#1127](https://github.com/IntelPython/dpctl/pull/1127)
51+
* Added `dpctl.tensor.isdtype` from array API [#1133](https://github.com/IntelPython/dpctl/pull/1133)
52+
* Added `dpctl.tensor.unstack`, `dpctl.tensor.moveaxis`, `dpctl.tensor.swapaxes` [#1137](https://github.com/IntelPython/dpctl/pull/1137), [#1174](https://github.com/IntelPython/dpctl/pull/1174)
53+
* Allow for mutation of `dpctl.tensor.usm_ndarray.flags.writable` [#1141](https://github.com/IntelPython/dpctl/pull/1141)
54+
* Added `dpctl.tensor.where` from array API [#1147](https://github.com/IntelPython/dpctl/pull/1147)
55+
* Include libtensor headers in `dpctl` installation layout [#1185](https://github.com/IntelPython/dpctl/pull/1185)
56+
* Added new properties of `dpctl.tensor.usm_ndarray` object [#1199](https://github.com/IntelPython/dpctl/pull/1199)
57+
* Added a list of unary and binary elementwise functions from array API:
58+
- [#1203](https://github.com/IntelPython/dpctl/pull/1203): `dpctl.tensor.add`, `dpctl.tensor.divide`, `dpctl.tensor.isnan`, `dpctl.tensor.isinf`, `dpctl.tensor.isfinite`, `dpctl.tensor.cos`, `dpctl.tensor.abs`, `dpctl.tensor.equal`
59+
- [#1205](https://github.com/IntelPython/dpctl/pull/1205): `dpctl.tensor.sqrt`
60+
- [#1209](https://github.com/IntelPython/dpctl/pull/1209): implements `out` keyword argument
61+
- [#1211](https://github.com/IntelPython/dpctl/pull/1211): `dpctl.tensor.multiply`, `dpctl.tensor.subtract`
62+
- [#1214](https://github.com/IntelPython/dpctl/pull/1214): `dpctl.tensor.not_equal`
63+
- [#1216](https://github.com/IntelPython/dpctl/pull/1216): `dpctl.tensor.exp`, `dpctl.tensor.sin`
64+
- [#1217](https://github.com/IntelPython/dpctl/pull/1217): `dpctl.tensor.real`, `dpctl.tensor.imag`, `dpctl.tensor.proj`
65+
- [#1218](https://github.com/IntelPython/dpctl/pull/1218): `dpctl.tensor.log`, `dpctl.tensor.log1p`, `dpctl.tensor.expm1`
66+
- [#1221](https://github.com/IntelPython/dpctl/pull/1221): `dpctl.tensor.floor_divide`
67+
- [#1235](https://github.com/IntelPython/dpctl/pull/1235): `dpctl.tensor.less`
68+
- [#1237](https://github.com/IntelPython/dpctl/pull/1237): in-place support for addition, multiplication and subtraction
69+
* Added `dpctl.tensor.all` and `dpctl.tensor.any` [#1204](https://github.com/IntelPython/dpctl/pull/1204)
70+
* Added `dpctl.tensor.sum` [#1210](https://github.com/IntelPython/dpctl/pull/1210)
71+
72+
### Changed
73+
74+
* Updated examples of native Python extensions built using `dpctl` [#1108](https://github.com/IntelPython/dpctl/pull/1108)
75+
* Used security flags to compile and link native extensions of `dpctl` [#1109](https://github.com/IntelPython/dpctl/pull/1109)
76+
* Changed types of `dpctl.tensor.finfo` and `dpctl.tensor.iinfo` output structure per array API spec [#1110](https://github.com/IntelPython/dpctl/pull/1110)
77+
* Consolidated multiple USM temporaries life-time management `host_task`s to improve test suite stability [#1111](https://github.com/IntelPython/dpctl/pull/1111)
78+
* MAINT: Improved cmake target dependency tracking [#1112](https://github.com/IntelPython/dpctl/pull/1112)
79+
* MAINT: Improved docstrings for existing `dpctl.tensor` functions [#1123](https://github.com/IntelPython/dpctl/pull/1123)
80+
* Changed default value of `mode` keyword in `dpctl.tensor.take` and `dpctl.take.put` from `clip` to `wrap` [#1132](https://github.com/IntelPython/dpctl/pull/1132)
81+
* Added support for (nested) sequence of `dpctl.tensor.usm_ndarray` objects in `dpctl.tensor.asarray` [#1139](https://github.com/IntelPython/dpctl/pull/1139)
82+
* Improved exception handling in `dpctl.tensor.usm_ndarray.__setitem__` special method [#1146](https://github.com/IntelPython/dpctl/pull/1146)
83+
* Simplified implementation of copy-and-cast kernels and removed special casing for 2D arrays to conserve binary size [#1165](https://github.com/IntelPython/dpctl/pull/1165)
84+
* Improved speed of `dpctl.tensor.usm_ndarray` printing functionality [#1187](https://github.com/IntelPython/dpctl/pull/1187)
85+
* Require DPC++ RT 2023.1 to build and run `dpctl` [#1195](ttps://github.com/IntelPython/dpctl/pull/1195)
86+
* Compile offloading native extensions with `-fno-sycl-id-queries-fit-in-int` fixing [gh-1184](https://github.com/IntelPython/dpctl/issues/1184), [#1200](https://github.com/IntelPython/dpctl/pull/1200)
87+
* Transition to conda-forge ecosystem [#1213](https://github.com/IntelPython/dpctl/pull/1213)
88+
89+
90+
91+
### Fixed
92+
93+
* Fix to add empty values check for `dpctl.tensor.place` [#1105](https://github.com/IntelPython/dpctl/pull/1105), [#1106](https://github.com/IntelPython/dpctl/pull/1106)
94+
* Fixed [gh-1089](https://github.com/IntelPython/dpctl/issues/1089) by improving `dpctl.tensor.asarray` handling of NumPy arrays viewing into host-accessible USM allocation objects.
95+
* MAINT: Fixed build break with newer GCC and SYCLOS [#1118](https://github.com/IntelPython/dpctl/pull/1118)
96+
* Fixed a bug in basic indexing of `dpctl.tensor.usm_ndarray` [#1136](https://github.com/IntelPython/dpctl/pull/1136)
97+
98+
99+
100+
7101
## [0.14.2] - 03/07/2023
8102

9103
### Fixed

conda-recipe/build.sh

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
#!/bin/bash
22

3-
# Workaround to Klocwork overwriting LD_LIBRARY_PATH that was modified
4-
# by DPC++ compiler conda packages. Will need to be added to DPC++ compiler
5-
# activation scripts.
6-
export LDFLAGS="$LDFLAGS -Wl,-rpath,$PREFIX/lib"
7-
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PREFIX/compiler/lib/intel64_lin:$PREFIX/compiler/lib:$PREFIX/lib"
3+
# This is necessary to help DPC++ find Intel libraries such as SVML, IRNG, etc in build prefix
4+
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${BUILD_PREFIX}/lib"
85

96
# Intel LLVM must cooperate with compiler and sysroot from conda
107
echo "--gcc-toolchain=${BUILD_PREFIX} --sysroot=${BUILD_PREFIX}/${HOST}/sysroot -target ${HOST}" > icpx_for_conda.cfg

conda-recipe/meta.yaml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,22 @@ build:
1313
requirements:
1414
build:
1515
- {{ compiler('cxx') }}
16-
- {{ compiler('dpcpp') }} >=2023.1 # [not osx]
16+
- {{ compiler('dpcpp') }} >=2023.2 # [not osx]
1717
- sysroot_linux-64 >=2.28 # [linux]
1818
host:
1919
- setuptools
2020
- cmake >=3.21
2121
- ninja
2222
- git
23-
- cython <3
23+
- cython
2424
- python
2525
- scikit-build
2626
- numpy
2727
- wheel
2828
run:
2929
- python
3030
- {{ pin_compatible('numpy', min_pin='x.x', max_pin='x') }}
31-
- {{ pin_compatible('dpcpp-cpp-rt', min_pin='x.x', max_pin='x') }} # [py<=39]
32-
- dpcpp-cpp-rt >=2023.1 # [py>39]
31+
- dpcpp-cpp-rt >=2023.2
3332
- level-zero # [linux]
3433

3534
test:

docs/Doxyfile.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ DOXYFILE_ENCODING = UTF-8
3232
# title of most generated pages and in a few other places.
3333
# The default value is: My Project.
3434

35-
PROJECT_NAME = "Data-parallel Control (dpctl)"
35+
PROJECT_NAME = "Data Parallel Control (dpctl)"
3636

3737
# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
3838
# could be handy for archiving the generated documentation or if some version

docs/conf.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ import extlinks_gen as urlgen
3636

3737
# -- Project information -----------------------------------------------------
3838

39-
project = "Data-parallel Control (dpctl)"
39+
project = "Data Parallel Control (dpctl)"
4040
copyright = "2020-21, Intel Corp."
4141
author = "Intel Corp."
4242

docs/docfiles/intro.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
Welcome to the Data-parallel Control (dpctl) Documentation!
1+
Welcome to the Data Parallel Control (dpctl) Documentation!
22
===========================================================
33

4-
The data-parallel control (dpctl) library provides C and Python bindings for
4+
The Data Parallel Control (dpctl) package provides C and Python bindings for
55
:sycl_spec_2020:`SYCL 2020 <>`. The SYCL 2020 features supported by dpctl are
66
limited to those included by Intel(R) DPC++ compiler and specifically cover the
77
SYCL runtime classes described in :sycl_runtime_classes:`Section 4.6 <>`

0 commit comments

Comments
 (0)