Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge master to gold/2021 #1484

Merged
merged 25 commits into from
Jul 18, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
a1a9b14
Check dtype support of each array in resulting tuple in call_origin (…
vlad-perevezentsev Jun 29, 2023
07d3a3e
Reuse dpctl.tensor comparison functions. (#1458)
npolina4 Jun 30, 2023
bcecead
Reuse dpctl.tensor.floor_divide() function.
npolina4 Jun 30, 2023
93a0e2a
Update dpnp/dpnp_iface_mathematical.py
npolina4 Jun 30, 2023
0d4ce80
Exclude docker image removal (#1465)
antonwolfy Jul 5, 2023
b240844
Fix to continue parallel uploading in case of error (#1466)
antonwolfy Jul 6, 2023
f49da0e
Improve dpnp.log() implementation (#1469)
antonwolfy Jul 7, 2023
f82cdc4
Improve dpnp.cos() and dpnp.sin() implementations (#1471)
antonwolfy Jul 7, 2023
fd9ce2b
Update dpnp.sqrt using dpctl and OneMKL implementations (#1470)
vlad-perevezentsev Jul 8, 2023
f294dfd
Reuse logical operations from dpctl.tensor (#1464)
antonwolfy Jul 9, 2023
725de87
Improve dpnp.square() implementation
antonwolfy Jul 10, 2023
124303c
Merge branch 'master' into reuse_floor_divide_func
npolina4 Jul 10, 2023
457fb55
Merge pull request #1473 from IntelPython/dpctl_square
npolina4 Jul 10, 2023
9349223
Merge branch 'master' into reuse_floor_divide_func
npolina4 Jul 10, 2023
10a656d
Merge pull request #1462 from IntelPython/reuse_floor_divide_func
npolina4 Jul 11, 2023
cfac723
Add metadata to setup.py (#1460)
DenisScherbakov Jul 13, 2023
771653b
Update test_linalg.py to run on Iris Xe (#1474)
vlad-perevezentsev Jul 13, 2023
326c451
Removed extra copy for transpose arrays in dot() (#1477)
antonwolfy Jul 17, 2023
ed4fa58
Corrected name of OneAPI compiler package (#1478)
antonwolfy Jul 17, 2023
977b597
Required Cython<3 until source code is updated (#1480)
antonwolfy Jul 17, 2023
c4d8719
Add specialized kernel for sum(axis=0) as extension (#1479)
AlexanderKalistratov Jul 18, 2023
4d995f6
Added changelog for 0.12.1 (#1482)
antonwolfy Jul 18, 2023
89f4120
Pinned to dpctl 0.14.5 (#1481)
antonwolfy Jul 18, 2023
af1af29
Updated version to 0.12.1 (#1483)
antonwolfy Jul 18, 2023
321c942
Merge branch 'master' into merge_to_gold
antonwolfy Jul 18, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .github/workflows/build-sphinx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ jobs:

- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
with:
docker-images: false

- name: Install Intel repository
run: |
Expand All @@ -47,7 +49,7 @@ jobs:
run: |
sudo apt-get install intel-oneapi-mkl \
intel-oneapi-mkl-devel \
intel-oneapi-dpcpp-cpp-compiler
intel-oneapi-compiler-dpcpp-cpp

# https://github.com/marketplace/actions/checkout
- name: Install nvidia-cuda support drivers
Expand Down Expand Up @@ -78,7 +80,7 @@ jobs:
- name: Install dpnp dependencies
run: |
conda install dpctl mkl-devel-dpcpp onedpl-devel tbb-devel dpcpp_linux-64 \
cmake cython pytest ninja scikit-build sysroot_linux-64">=2.28" ${{ env.CHANNELS }}
cmake cython"<3" pytest ninja scikit-build sysroot_linux-64">=2.28" ${{ env.CHANNELS }}

- name: Install cuPy dependencies
run: conda install cupy cudatoolkit=10.0
Expand Down
7 changes: 6 additions & 1 deletion .github/workflows/conda-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,12 @@ env:
test_random_state.py
test_sort.py
test_special.py
test_umath.py
test_usm_type.py
third_party/cupy/linalg_tests/test_product.py
third_party/cupy/math_tests/test_explog.py
third_party/cupy/math_tests/test_misc.py
third_party/cupy/math_tests/test_trigonometric.py
third_party/cupy/sorting_tests/test_sort.py
VER_JSON_NAME: 'version.json'
VER_SCRIPT1: "import json; f = open('version.json', 'r'); j = json.load(f); f.close(); "
Expand Down Expand Up @@ -350,7 +355,7 @@ jobs:
run:
shell: ${{ matrix.os == 'windows-latest' && 'cmd /C CALL {0}' || 'bash -l {0}' }}

continue-on-error: false
continue-on-error: true

if: |
(github.repository == 'IntelPython/dpnp') &&
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/generate_coverage.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
sudo apt-get install lcov
- name: Install dpnp dependencies
run: |
conda install cython llvm cmake">=3.21" scikit-build ninja pytest pytest-cov coverage[toml] \
conda install cython"<3" llvm cmake">=3.21" scikit-build ninja pytest pytest-cov coverage[toml] \
dpctl dpcpp_linux-64 sysroot_linux-64">=2.28" mkl-devel-dpcpp tbb-devel onedpl-devel ${{ env.CHANNELS }}
- name: Conda info
run: |
Expand Down
32 changes: 32 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,38 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.12.1] - 07/18/2023

### Added

* Added `classifiers metadata` to a description of dpnp package [#1460](https://github.com/IntelPython/dpnp/pull/1460)
* Added `pygrep-hooks` to pre-commit config [#1454](https://github.com/IntelPython/dpnp/pull/1454)
* Added `flake8` to pre-commit config [#1453](https://github.com/IntelPython/dpnp/pull/1453)
* Added `isort` to pre-commit config [#1451](https://github.com/IntelPython/dpnp/pull/1451)
* Added `clang` format to pre-commit config [#1450](https://github.com/IntelPython/dpnp/pull/1450)
* Added `black` to pre-commit config [#1449](https://github.com/IntelPython/dpnp/pull/1449)
* Added `pre-commit` hooks [#1448](https://github.com/IntelPython/dpnp/pull/1448)

### Changed

* Pinned to `dpctl>=0.14.5` as host and run dependencies [#1481](https://github.com/IntelPython/dpnp/pull/1481)
* Pinned dependent `cython` package to a version less than `3.0.0` [#1480](https://github.com/IntelPython/dpnp/pull/1480)
* Added a specialized kernel for `dpnp.sum` with `axis=0` as a pybind11 extension [#1479](https://github.com/IntelPython/dpnp/pull/1479)
* Redesigned `dpnp.square` function through pybind11 extension of OneMKL call where possible or Leveraging on `dpctl.tensor` implementation [#1473](https://github.com/IntelPython/dpnp/pull/1473)
* Redesigned `dpnp.cos` and `dpnp.sin` functions through pybind11 extension of OneMKL calls where possible or Leveraging on `dpctl.tensor` implementation [#1471](https://github.com/IntelPython/dpnp/pull/1471)
* Redesigned `dpnp.sqrt` function through pybind11 extension of OneMKL call where possible or Leveraging on `dpctl.tensor` implementation [#1470](https://github.com/IntelPython/dpnp/pull/1470)
* Redesigned `dpnp.log` function through pybind11 extension of OneMKL call where possible or Leveraging on `dpctl.tensor` implementation [#1469](https://github.com/IntelPython/dpnp/pull/1469)
* Leveraged `dpctl.tensor` implementation for logical operations [#1464](https://github.com/IntelPython/dpnp/pull/1464)
* Leveraged `dpctl.tensor` implementation for `dpnp.floor_divide` function [#1462](https://github.com/IntelPython/dpnp/pull/1462)
* Leveraged `dpctl.tensor` implementation for comparison functions [#1458](https://github.com/IntelPython/dpnp/pull/1458)
### Fixed

* Improved `dpnp.dot` function to support OneMKL calls for input and output arrays with strides [#1477](https://github.com/IntelPython/dpnp/pull/1477)
* Resolved issues with running `dpnp.linalg` functions on a device without fp64 support [#1474](https://github.com/IntelPython/dpnp/pull/1474)
* Added `dtype` check of fp64 support by the resulting array in `call_origin` function [#1457](https://github.com/IntelPython/dpnp/pull/1457)
* Resolved a compilation warning with `std::getenv()` call on Windows [#1452](https://github.com/IntelPython/dpnp/pull/1452)
* Corrected a link to OneAPI Toolkit in Installation Guide [#1445](https://github.com/IntelPython/dpnp/pull/1445)

## [0.12.0] - 06/15/2023

### Added
Expand Down
6 changes: 3 additions & 3 deletions conda-recipe/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ requirements:
- python
- setuptools
- numpy 1.21
- cython
- cython <3
- cmake >=3.21
- ninja
- git
- dpctl >=0.14.3
- dpctl >=0.14.5
- mkl-devel-dpcpp {{ environ.get('MKL_VER', '>=2023.1.0') }}
- onedpl-devel
- tbb-devel
Expand All @@ -25,7 +25,7 @@ requirements:
- sysroot_linux-64 >=2.28 # [linux]
run:
- python
- dpctl >=0.14.3
- dpctl >=0.14.5
- {{ pin_compatible('dpcpp-cpp-rt', min_pin='x.x', max_pin='x') }}
- {{ pin_compatible('mkl-dpcpp', min_pin='x.x', max_pin='x') }}
- {{ pin_compatible('numpy', min_pin='x.x', max_pin='x') }}
Expand Down
2 changes: 1 addition & 1 deletion doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
# The short X.Y version
version = "0.12"
# The full version, including alpha/beta/rc tags
release = "0.12.1dev0"
release = "0.12.1"


# -- General configuration ---------------------------------------------------
Expand Down
1 change: 1 addition & 0 deletions dpnp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ build_dpnp_cython_ext_with_backend(dparray ${CMAKE_CURRENT_SOURCE_DIR}/dparray.p
add_subdirectory(backend)
add_subdirectory(backend/extensions/lapack)
add_subdirectory(backend/extensions/vm)
add_subdirectory(backend/extensions/sycl_ext)

add_subdirectory(dpnp_algo)
add_subdirectory(dpnp_utils)
Expand Down
2 changes: 1 addition & 1 deletion dpnp/backend/doc/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ PROJECT_NAME = "DPNP C++ backend kernel library"
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = 0.12.1dev0
PROJECT_NUMBER = 0.12.1

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand Down
72 changes: 72 additions & 0 deletions dpnp/backend/extensions/sycl_ext/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# *****************************************************************************
# Copyright (c) 2016-2023, Intel Corporation
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# - Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
# - Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
# THE POSSIBILITY OF SUCH DAMAGE.
# *****************************************************************************


set(python_module_name _sycl_ext_impl)
pybind11_add_module(${python_module_name} MODULE
sum_mean.cpp
)

if (WIN32)
if (${CMAKE_VERSION} VERSION_LESS "3.27")
# this is a work-around for target_link_options inserting option after -link option, cause
# linker to ignore it.
set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -fsycl-device-code-split=per_kernel")
endif()
endif()

set_target_properties(${python_module_name} PROPERTIES CMAKE_POSITION_INDEPENDENT_CODE ON)

target_include_directories(${python_module_name} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../include)
target_include_directories(${python_module_name} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../src)

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

if (WIN32)
target_compile_options(${python_module_name} PRIVATE
/clang:-fno-approx-func
/clang:-fno-finite-math-only
)
else()
target_compile_options(${python_module_name} PRIVATE
-fno-approx-func
-fno-finite-math-only
)
endif()

target_link_options(${python_module_name} PUBLIC -fsycl-device-code-split=per_kernel)
if (UNIX)
# this option is support on Linux only
target_link_options(${python_module_name} PUBLIC -fsycl-link-huge-device-code)
endif()

if (DPNP_GENERATE_COVERAGE)
target_link_options(${python_module_name} PRIVATE -fprofile-instr-generate -fcoverage-mapping)
endif()

install(TARGETS ${python_module_name}
DESTINATION "dpnp/backend/extensions/sycl_ext"
)
Loading