Skip to content

Commit 323a660

Browse files
Merge tag '0.14.0dev1' into gold/2021
2 parents b93d567 + eb8ddb2 commit 323a660

File tree

237 files changed

+9173
-4421
lines changed

Some content is hidden

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

237 files changed

+9173
-4421
lines changed

.flake8

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ per-file-ignores =
2525
dpctl/program/_program.pyx: E999, E225, E226, E227
2626
dpctl/tensor/_usmarray.pyx: E999, E225, E226, E227
2727
dpctl/tensor/_dlpack.pyx: E999, E225, E226, E227
28+
dpctl/tensor/_flags.pyx: E999, E225, E226, E227
2829
dpctl/tensor/numpy_usm_shared.py: F821
2930
dpctl/tests/_cython_api.pyx: E999, E225, E227, E402
3031
dpctl/utils/_compute_follows_data.pyx: E999, E225, E227

.github/workflows/conda-package.yml

Lines changed: 225 additions & 54 deletions
Large diffs are not rendered by default.

.github/workflows/cpp_style_checks.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
name: clang-format
1515
runs-on: ubuntu-latest
1616
steps:
17-
- uses: actions/checkout@v2
17+
- uses: actions/checkout@v3
1818
- name: Run clang-format style check for C/C++ programs.
1919
uses: jidicula/[email protected]
2020
with:

.github/workflows/generate-coverage.yaml

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

1616
steps:
1717
- name: Cancel Previous Runs
18-
uses: styfle/cancel-workflow-action@0.6.0
18+
uses: styfle/cancel-workflow-action@0.11.0
1919
with:
2020
access_token: ${{ github.token }}
2121

@@ -37,7 +37,7 @@ jobs:
3737
sudo apt-get install cmake ninja-build
3838
3939
- name: Setup Python
40-
uses: actions/setup-python@v2
40+
uses: actions/setup-python@v4
4141
with:
4242
python-version: '3.10'
4343
architecture: x64
@@ -68,7 +68,7 @@ jobs:
6868
make && make install
6969
7070
- name: Checkout repo
71-
uses: actions/checkout@v2
71+
uses: actions/checkout@v3
7272
with:
7373
fetch-depth: 0
7474

.github/workflows/generate-docs.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
runs-on: ubuntu-20.04
1313
steps:
1414
- name: Cancel Previous Runs
15-
uses: styfle/cancel-workflow-action@0.6.0
15+
uses: styfle/cancel-workflow-action@0.11.0
1616
with:
1717
access_token: ${{ github.token }}
1818
- name: Add Intel repository
@@ -41,7 +41,7 @@ jobs:
4141
sudo apt-get install cmake ninja-build
4242
- name: Setup Python
4343
if: ${{ !github.event.pull_request || github.event.action != 'closed' }}
44-
uses: actions/setup-python@v2
44+
uses: actions/setup-python@v4
4545
with:
4646
python-version: '3.10'
4747
architecture: x64
@@ -51,7 +51,7 @@ jobs:
5151
run: |
5252
pip install numpy cython setuptools scikit-build sphinx sphinx_rtd_theme pydot graphviz sphinxcontrib-programoutput
5353
- name: Checkout repo
54-
uses: actions/checkout@v2
54+
uses: actions/checkout@v3
5555
with:
5656
fetch-depth: 0
5757
persist-credentials: false

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

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919

2020
steps:
2121
- name: Cancel Previous Runs
22-
uses: styfle/cancel-workflow-action@0.6.0
22+
uses: styfle/cancel-workflow-action@0.11.0
2323
with:
2424
access_token: ${{ github.token }}
2525

@@ -41,15 +41,35 @@ jobs:
4141
cd /home/runner/work
4242
mkdir -p sycl_bundle
4343
cd sycl_bundle
44-
export LATEST_LLVM_TAG=$(git -c 'versionsort.suffix=-' ls-remote --tags --sort='v:refname' https://github.com/intel/llvm.git | tail --lines=1)
45-
export LATEST_LLVM_TAG_SHA=$(echo ${LATEST_LLVM_TAG} | awk '{print $1}')
46-
export NIGHTLY_TAG=$(python3 -c "import sys, urllib.parse as ul; print (ul.quote_plus(sys.argv[1]))" \
47-
$(echo ${LATEST_LLVM_TAG} | awk '{gsub(/^refs\/tags\//, "", $2)} {print $2}'))
48-
if [[ -f bundle_id.txt && ( "$(cat bundle_id.txt)" == "${LATEST_LLVM_TAG_SHA}" ) ]]; then
49-
echo "Using cached download of ${LATEST_LLVM_TAG}"
44+
# get list of shas and tags from remote, filter sycl-nightly tags and reverse order
45+
export LLVM_TAGS=$(git -c 'versionsort.suffix=-' ls-remote --tags --sort='v:refname' https://github.com/intel/llvm.git | \
46+
grep sycl-nightly | awk '{a[i++]=$0} END {for (j=i-1; j>=0;) print a[j--] }')
47+
# initialize
48+
unset DEPLOY_NIGHTLY_TAG
49+
unset DEPLOY_NIGHTLY_TAG_SHA
50+
51+
# go through tags and find the most recent one where nighly build binary is available
52+
while IFS= read -r NEXT_LLVM_TAG; do
53+
export NEXT_LLVM_TAG_SHA=$(echo ${NEXT_LLVM_TAG} | awk '{print $1}')
54+
export NEXT_NIGHTLY_TAG=$(python3 -c "import sys, urllib.parse as ul; print (ul.quote_plus(sys.argv[1]))" \
55+
$(echo ${NEXT_LLVM_TAG} | awk '{gsub(/^refs\/tags\//, "", $2)} {print $2}'))
56+
if [[ `wget -S --spider ${DOWNLOAD_URL_PREFIX}/${NEXT_NIGHTLY_TAG}/dpcpp-compiler.tar.gz 2>&1 | grep 'HTTP/1.1 200 OK'` ]];
57+
then
58+
export DEPLOY_NIGHTLY_TAG=${NEXT_NIGHTLY_TAG}
59+
export DEPLOY_LLVM_TAG_SHA=${NEXT_LLVM_TAG_SHA}
60+
break
61+
fi
62+
done <<< "${LLVM_TAGS}"
63+
64+
[[ -n "${DEPLOY_NIGHTLY_TAG}" ]] || exit 1
65+
[[ -n "${DEPLOY_LLVM_TAG_SHA}" ]] || exit 1
66+
echo "Using ${m} corresponding to intel/llvm at ${DEPLOY_LLVM_TAG_SHA}"
67+
68+
if [[ -f bundle_id.txt && ( "$(cat bundle_id.txt)" == "${DEPLOY_LLVM_TAG_SHA}" ) ]]; then
69+
echo "Using cached download of ${DEPLOY_LLVM_TAG_SHA}"
5070
else
5171
rm -rf dpcpp-compiler.tar.gz
52-
wget ${DOWNLOAD_URL_PREFIX}/${NIGHTLY_TAG}/dpcpp-compiler.tar.gz && echo ${LATEST_LLVM_TAG_SHA} > bundle_id.txt || rm -rf bundle_id.txt
72+
wget ${DOWNLOAD_URL_PREFIX}/${DEPLOY_NIGHTLY_TAG}/dpcpp-compiler.tar.gz && echo ${DEPLOY_LLVM_TAG_SHA} > bundle_id.txt || rm -rf bundle_id.txt
5373
[ -f ${OCLCPUEXP_FN} ] || wget ${DOWNLOAD_URL_PREFIX}/${DRIVER_PATH}/${OCLCPUEXP_FN} || rm -rf bundle_id.txt
5474
[ -f ${FPGAEMU_FN} ] || wget ${DOWNLOAD_URL_PREFIX}/${DRIVER_PATH}/${FPGAEMU_FN} || rm -rf bundle_id.txt
5575
[ -f ${TBB_FN} ] || wget ${TBB_URL}/${TBB_FN} || rm -rf bundle_id.txt
@@ -71,7 +91,7 @@ jobs:
7191
sudo apt-get install cmake ninja-build libtinfo5
7292
7393
- name: Setup Python
74-
uses: actions/setup-python@v2
94+
uses: actions/setup-python@v4
7595
with:
7696
python-version: '3.9'
7797
architecture: x64
@@ -82,7 +102,7 @@ jobs:
82102
pip install numpy cython setuptools pytest scikit-build
83103
84104
- name: Checkout repo
85-
uses: actions/checkout@v2
105+
uses: actions/checkout@v3
86106
with:
87107
fetch-depth: 0
88108

.github/workflows/pre-commit.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ jobs:
99
pre-commit:
1010
runs-on: ubuntu-latest
1111
steps:
12-
- uses: actions/checkout@v2
13-
- uses: actions/setup-python@v2
14-
- uses: pre-commit/[email protected]
12+
- uses: actions/checkout@v3
13+
- uses: actions/setup-python@v4
14+
with:
15+
python-version: '3.10'
16+
- uses: pre-commit/[email protected]

.github/workflows/python_style_checks.yml

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@ jobs:
1515
isort:
1616
runs-on: ubuntu-latest
1717
steps:
18-
- uses: actions/checkout@v2
19-
- uses: actions/setup-python@v2
18+
- uses: actions/checkout@v3
19+
- uses: actions/setup-python@v4
20+
with:
21+
python-version: '3.10'
2022
- uses: jamescurtin/isort-action@master
2123
with:
2224
configuration: "--check-only"
@@ -27,14 +29,16 @@ jobs:
2729

2830
strategy:
2931
matrix:
30-
python-version: [3.9]
32+
python-version: ['3.10']
3133

3234
# Steps represent a sequence of tasks that will be executed as part of the job
3335
steps:
3436
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
35-
- uses: actions/checkout@v2
37+
- uses: actions/checkout@v3
3638
# Set up a Python environment for use in actions
37-
- uses: actions/setup-python@v2
39+
- uses: actions/setup-python@v4
40+
with:
41+
python-version: ${{ matrix.python-version }}
3842

3943
# Run black code formatter
4044
- uses: psf/black@stable
@@ -47,17 +51,17 @@ jobs:
4751

4852
strategy:
4953
matrix:
50-
python-version: [3.9]
54+
python-version: ['3.10']
5155

5256
steps:
53-
- uses: actions/checkout@v2
57+
- uses: actions/checkout@v3
5458
- name: Set up Python ${{ matrix.python-version }}
55-
uses: actions/setup-python@v2
59+
uses: actions/setup-python@v4
5660
with:
5761
python-version: ${{ matrix.python-version }}
5862
- name: Install dependencies
5963
run: |
6064
python -m pip install --upgrade pip
6165
pip install flake8
6266
- name: Lint with flake8
63-
uses: py-actions/flake8@v1
67+
uses: py-actions/flake8@v2

CHANGELOG.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,37 @@ 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+
11+
* Implemented `dpctl.tensor.linspace` function from array-API [#875](https://github.com/IntelPython/dpctl/pull/875).
12+
* Implemented `dpctl.tensor.eye` function from array-API [#896](https://github.com/IntelPython/dpctl/pull/896).
13+
* Implemented `dpctl.tensor.tril` and `dpctl.tensor.triu` functions from array-API [#910](https://github.com/IntelPython/dpctl/pull/910).
14+
* Added data type objects to `dpctl.tensor` namespace, and `finfo` and `iinfo` functions [#913](https://github.com/IntelPython/dpctl/pull/913).
15+
* Implemented `dpctl.tensor.meshgrid` creation function from array-API [#920](https://github.com/IntelPython/dpctl/pull/920).
16+
* Implemented convenience class to represent output of `dpctl.tensor.usm_ndarray.flags` property [#921](https://github.com/IntelPython/dpctl/pull/921).
17+
* Added new device attributes and kernel's device-specific attributes [#894](https://github.com/IntelPython/dpctl/pull/894).
18+
* Added `dpctl.utils.onetrace_enabled` context manager for targeted trace collection [#903](https://github.com/IntelPython/dpctl/pull/903).
19+
* Added support for `stream` keyword in `__dlpack__` method, enabling support for sending `usm_ndarray` using mpi4py [#906](https://github.com/IntelPython/dpctl/pull/906).
20+
* `dpctl.tensor.asarray` can now transition data between incompatible devices, [#951](https://github.com/IntelPython/dpctl/pull/951).
21+
22+
### Changed
23+
* Improved queue compatibility testing in `dpctl.tensor`'s implementation module [#900](https://github.com/IntelPython/dpctl/pull/900).
24+
* Added automatic measurement of array-API conformance test suite in CI [#901](https://github.com/IntelPython/dpctl/pull/901).
25+
* Improved performance of array metadata transfer from host to device [#912](https://github.com/IntelPython/dpctl/pull/912).
26+
* Used `os.add_dll_directory` on Windows to ensure that `DPCTLSyclInterface` library can be found [#918](https://github.com/IntelPython/dpctl/pull/918).
27+
* Refactored `dpctl.tensor`'s implementation module [#941](https://github.com/IntelPython/dpctl/pull/941) to streamline adding new functionality. Streamlined `dpctl::tensor::usm_ndarray` class implementation.
28+
* Added debugging messaging in case when `DPCTLDynamicLib::getSymbol` encounters errors [#956](https://github.com/IntelPython/dpctl/pull/956).
29+
* Updated code base according to changes in DPC++ compiler [#952](https://github.com/IntelPython/dpctl/pull/952), [#957](https://github.com/IntelPython/dpctl/pull/957), [#958](https://github.com/IntelPython/dpctl/pull/958).
30+
31+
### Fixed
32+
* Improved SyclDevice constructor error message [#893](https://github.com/IntelPython/dpctl/pull/893).
33+
* Fixed issue gh-890 about `dpctl.tensor.reshape` function [#915](https://github.com/IntelPython/dpctl/pull/915).
34+
* Fixed unexpected `UnboundLocalError` exception in [#922](https://github.com/IntelPython/dpctl/pull/922).
35+
* Fixed bugs in `dpctl.tensor.arange` in [#945](https://github.com/IntelPython/dpctl/pull/945).
36+
* Fixed issue with type inferencing in `dpctl.tensor.asarray` in [#949](https://github.com/IntelPython/dpctl/pull/949).
37+
738
## [0.13.0] - 07/28/2022
839

940
### Added

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ include(FetchContent)
3333

3434
FetchContent_Declare(
3535
pybind11
36-
URL https://github.com/pybind/pybind11/archive/refs/tags/v2.9.2.tar.gz
37-
URL_HASH SHA256=6bd528c4dbe2276635dc787b6b1f2e5316cf6b49ee3e150264e455a0d68d19c1
36+
URL https://github.com/pybind/pybind11/archive/refs/tags/v2.10.0.tar.gz
37+
URL_HASH SHA256=eacf582fa8f696227988d08cfc46121770823839fe9e301a20fbce67e7cd70ec
3838
)
3939
FetchContent_MakeAvailable(pybind11)
4040

0 commit comments

Comments
 (0)