Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
139 commits
Select commit Hold shift + click to select a range
684f393
Add dpnp.broadcast_to() function (#1333)
antonwolfy Mar 7, 2023
29a2063
Add support of bool type in bitwise operations (#1334)
antonwolfy Mar 7, 2023
464e140
Tweaked compiler options used.
oleksandr-pavlyk Mar 13, 2023
d653acf
Specify dependencies on dpnp_algo on other included pyx files
oleksandr-pavlyk Mar 13, 2023
5242cff
Inplace out parameter in elementwise functions
antonwolfy Mar 16, 2023
64093b2
Add support of dpnp.extract() (#1340)
vlad-perevezentsev Mar 17, 2023
75f7da1
Merge branch 'master' into set-dependencies
oleksandr-pavlyk Mar 17, 2023
e4b900b
Merge pull request #1338 from IntelPython/set-dependencies
oleksandr-pavlyk Mar 17, 2023
4de4ef9
Reuse dpctl.tensor.place for dpnp.place (#1337)
vlad-perevezentsev Mar 20, 2023
098e698
Add tests and use dpctl overlap function
antonwolfy Mar 20, 2023
6a2cac6
Merge branch 'master' into fix_inplace
antonwolfy Mar 20, 2023
921893e
Transitioned dpnp build system to use scikit-build
oleksandr-pavlyk Mar 22, 2023
68683d9
Added docs and defaults for supported options
oleksandr-pavlyk Mar 22, 2023
e12576c
Include dpnp/backend/tests if DPNP_BACKEND_TESTS is set
oleksandr-pavlyk Mar 22, 2023
9626bb8
Ignore _skbuild/ folder
oleksandr-pavlyk Mar 22, 2023
9796c48
Use interface library dpnp_backend_library instead of library target …
oleksandr-pavlyk Mar 22, 2023
bb6d2b0
Need scikit-build in host environment
oleksandr-pavlyk Mar 22, 2023
9866674
Removing old CMakeLists.txt
oleksandr-pavlyk Mar 22, 2023
69a54b1
Updated conda-recipe build scipts per changes in build system
oleksandr-pavlyk Mar 22, 2023
18d8d39
Vendored oneDPLConfig.cmake, provide HINTS in find_packages(oneDPL)
oleksandr-pavlyk Mar 22, 2023
327e861
Fixed build.sh to specify install command
oleksandr-pavlyk Mar 22, 2023
84efe0f
Remember to set MKL_DIR and TBB_DIR
oleksandr-pavlyk Mar 22, 2023
840e3ff
Vendor TBBConfig.cmake since it has only been added to tbb-devel in 2…
oleksandr-pavlyk Mar 22, 2023
4e86577
Tweaked TBBConfig to use find_library instead of find_filename_component
oleksandr-pavlyk Mar 23, 2023
bac4c4b
Use find_path in oneDPLConfig.cmake
oleksandr-pavlyk Mar 23, 2023
8a85303
Merge branch 'master' into use-skbuild-and-cmake
oleksandr-pavlyk Mar 23, 2023
9ec7643
Use . as possible suffix instead of empty string
oleksandr-pavlyk Mar 23, 2023
0fd3859
Merge branch 'use-skbuild-and-cmake' of http://github.com/IntelPython…
oleksandr-pavlyk Mar 23, 2023
a118769
Set DPL_ROOT_HINT, MKL_ROOT_HINT, TBB_ROOT_HINT
oleksandr-pavlyk Mar 23, 2023
2e44586
Adding HINTS to find_library/find_path calls, fixed typo
oleksandr-pavlyk Mar 23, 2023
a96f6a0
Add logic to set DPCTL_MODULE_PATH in bld.bat
oleksandr-pavlyk Mar 23, 2023
e04c081
Install scikit-build in build-sphinx.yaml
oleksandr-pavlyk Mar 23, 2023
43d07e6
Corrected build command in build-sphinx, also install ninja
oleksandr-pavlyk Mar 23, 2023
d56b0b6
Replaced stray get_filename_component with find_path
oleksandr-pavlyk Mar 23, 2023
45c6c11
Ensure to use vendored TBBConfig.cmake and oneDPLConfig.cmake
oleksandr-pavlyk Mar 24, 2023
d9b0a2d
HINTs should point to %CONDA_PREFIX%/Library
oleksandr-pavlyk Mar 24, 2023
5257e0f
Fixed typos HITNS->HINTS, improved find_path call for _dpl_headers
oleksandr-pavlyk Mar 24, 2023
a9a5b4b
Vendor MKLConfig.cmake too to fix issue with MKL_DLL_FILE search paths
oleksandr-pavlyk Mar 24, 2023
3330e9c
Completed support for DPNP_GENERATE_COVERAGE
oleksandr-pavlyk Mar 24, 2023
83fa049
Use PREFIX rather than CONDA_PREFIX in build scripts
oleksandr-pavlyk Mar 24, 2023
3f9773b
Fixed cmake scripts to work on Windows with conda build
oleksandr-pavlyk Mar 24, 2023
1dd0589
Removed debugging message(STATUS msg_txt)
oleksandr-pavlyk Mar 25, 2023
bab5fdf
Use no-approx-func and no-finite-math-only to build backend
oleksandr-pavlyk Mar 25, 2023
cc32075
Request TBB backend for oneDPL
oleksandr-pavlyk Mar 26, 2023
e23ecd7
Vendored oneDPLConfig.cmake should ensure calling vendored TBBConfig.…
oleksandr-pavlyk Mar 26, 2023
b14555e
Ensure library is installed in dpnp on Win
oleksandr-pavlyk Mar 26, 2023
4cc9492
Work around lack of support for -fno-approx-func in icx.exe
oleksandr-pavlyk Mar 27, 2023
52e5ee0
rename dpctl to dpnp in bld.bat for wheels copying
ekomarova Mar 27, 2023
3c870f6
Allow asarray to work on sequences of dpnp_array with support compute…
npolina4 Mar 29, 2023
0568397
Added tests for asarray function.
npolina4 Mar 29, 2023
530f94f
Only set GXX-specific defined on Unix
oleksandr-pavlyk Mar 31, 2023
01a11e4
sycl_queue check returned for dpnp.asarray() function.
npolina4 Mar 31, 2023
c1c40e3
Merge pull request #1341 from antonwolfy/fix_inplace
npolina4 Mar 31, 2023
c7858af
Update tests/test_sycl_queue.py
antonwolfy Mar 31, 2023
c7ae46e
Merge branch 'master' into fix_asarray_sequences
npolina4 Mar 31, 2023
c88ded7
Renamed included dpnp_algo_*.pyx files to *.pxi
oleksandr-pavlyk Mar 31, 2023
ee8f15a
Merge pull request #1355 from IntelPython/fix_asarray_sequences
npolina4 Apr 1, 2023
d41ed51
Support parameter out in dpnp.add() (#1329)
antonwolfy Apr 3, 2023
b536ae9
Merge pull request #1356 from IntelPython/rename-included-pyx-to-pxi
oleksandr-pavlyk Apr 3, 2023
20c262e
PR template: memento perficientur
antonwolfy Apr 3, 2023
1f6619a
Support parameter out in dpnp.multiply()
antonwolfy Apr 3, 2023
2168093
Implement support of tuple key in __getitem__ and __setitem__ (#1362)
antonwolfy Apr 4, 2023
6748b93
Implement 'nbytes' property of dpnp array
antonwolfy Apr 3, 2023
1b4f398
Update dpnp/dpnp_array.py
antonwolfy Apr 3, 2023
8e45a67
Enable profiling for .pxi and .pyx files
vlad-perevezentsev Apr 4, 2023
88f9f82
Add gen_coverage script
vlad-perevezentsev Apr 4, 2023
2a9a9c7
Adding a script to drive build of dpnp
oleksandr-pavlyk Apr 4, 2023
22880e6
Removed uses of 0.build.sh and 1.build.bat
oleksandr-pavlyk Apr 4, 2023
0416c41
Corrected documentation for option cmake-opts
oleksandr-pavlyk Apr 4, 2023
25e0f19
Fix gh-1352 dpnp.sum() for empty array crashes.
npolina4 Apr 5, 2023
15babb0
Fixed dpnp.sum() function with output argument.
npolina4 Apr 5, 2023
d122322
Fixed erroneous call.
npolina4 Apr 5, 2023
26f73d5
Merge pull request #1368 from vlad-perevezentsev/cython_profiling
oleksandr-pavlyk Apr 5, 2023
b6ce69a
Add generate_coverage.yaml
vlad-perevezentsev Apr 5, 2023
9bf1cc4
set env
vlad-perevezentsev Apr 5, 2023
15f2855
Set OSL_ICD_FILENAMES env
vlad-perevezentsev Apr 5, 2023
c389b9d
Support `out` parameter in dpnp.sqrt() (#1332)
vlad-perevezentsev Apr 5, 2023
bc628d0
Added tests for function sum() with diffent data types of output and …
npolina4 Apr 5, 2023
17f9977
Merge branch 'master' into fix-gh-1352
npolina4 Apr 5, 2023
e39f7a9
Merge pull request #1366 from IntelPython/add-scripts-build-locally
oleksandr-pavlyk Apr 5, 2023
9800998
Merge remote-tracking branch 'origin/master' into use-skbuild-and-cmake
oleksandr-pavlyk Apr 5, 2023
1aec74d
Add dummy use of SKBUILD cmake variable to avoid warning
oleksandr-pavlyk Apr 5, 2023
bc60d08
add coveralls support
vlad-perevezentsev Apr 5, 2023
58135be
Update generage_coverage.yaml
vlad-perevezentsev Apr 5, 2023
b9dd88e
Enable running all tests for coverage
vlad-perevezentsev Apr 5, 2023
63b2571
ignore test_random.py
vlad-perevezentsev Apr 5, 2023
e71d9dc
Fix OCL CPU RT activation in test_windows step
oleksandr-pavlyk Apr 6, 2023
d65a635
Merge pull request #1369 from IntelPython/fix-gh-1352
npolina4 Apr 6, 2023
95232dc
No need to set OCL_ICD_FILENAMES on Linux either with intel-opencl-rt…
oleksandr-pavlyk Apr 6, 2023
f771699
Merge branch 'master' into fix-test-windows-ocl-activation
oleksandr-pavlyk Apr 6, 2023
ee17454
Skip falling tests on cpu
vlad-perevezentsev Apr 6, 2023
b419bce
Skip falling tests in test_random and remove --ignore flag in pytest
vlad-perevezentsev Apr 6, 2023
e9cfc00
Add parser for command-line options
vlad-perevezentsev Apr 6, 2023
ee6d2e4
Fix a mistake
vlad-perevezentsev Apr 6, 2023
a53fd6b
Merge use-skbuild-and-cmake into add_gen_coverage
vlad-perevezentsev Apr 6, 2023
67b488c
Change branch name in generate_coverage.yaml
vlad-perevezentsev Apr 6, 2023
650b38a
Merge pull request #1372 from IntelPython/fix-test-windows-ocl-activa…
oleksandr-pavlyk Apr 6, 2023
5adbab0
Merge remote-tracking branch 'origin/master' into use-skbuild-and-cmake
oleksandr-pavlyk Apr 6, 2023
554e978
Merge use-skbuild-and-cmake into add_gen_coverage
vlad-perevezentsev Apr 6, 2023
a8950c5
Fix remarks in CMakeLists
vlad-perevezentsev Apr 6, 2023
a9d7906
Add --ignore test_strides.py in yaml
vlad-perevezentsev Apr 6, 2023
9543c23
Unset OCL_ICD_FILENAMES
vlad-perevezentsev Apr 6, 2023
d2c3fbc
Update scripts/gen_coverage.py
oleksandr-pavlyk Apr 7, 2023
10018ba
Merge pull request #1373 from vlad-perevezentsev/add_gen_coverage
oleksandr-pavlyk Apr 7, 2023
12e791e
Merge pull request #1349 from IntelPython/use-skbuild-and-cmake
oleksandr-pavlyk Apr 8, 2023
2dfa804
using rowvar flag in dpnp.cov
Apr 5, 2023
1ec95dd
OneMKL 2023.1 includes fix gaussian() with box_muller2 method
antonwolfy Feb 15, 2023
9cb5848
Rename a variable with numpy array to 'expected' in tests
antonwolfy Apr 26, 2023
1a3864e
fix_cov_for_no_fp64
Apr 19, 2023
13575a3
Use internal dpnp kernel instead of MKL if no FP64 support
antonwolfy Apr 20, 2023
69eae31
Get rid of default casting to double while invoking sycl::efr() and s…
antonwolfy Apr 25, 2023
84b9f99
Update test for dpnp.erf() with strides
antonwolfy Apr 26, 2023
153f1ca
Add dpnp.linalg.eigh() function
antonwolfy Apr 19, 2023
5859aec
Applying the review comments
antonwolfy Apr 20, 2023
4d27b4c
Added array type check in dpnp.get_usm_ndarray()
antonwolfy Apr 29, 2023
25e6b9a
Fix compilation error with sycl::abs()
antonwolfy May 5, 2023
02d86b5
Change branches for generate coverage push event (#1384)
vlad-perevezentsev May 23, 2023
2e4a389
Update scripts for conda recipe (#1394)
vlad-perevezentsev May 24, 2023
de9a7b1
Pin to sysroot 2.28 or above
antonwolfy May 23, 2023
04bd709
Extending workaround of ignoring per_kernel option to cmake 2.26
antonwolfy May 24, 2023
3a03847
Modify the code to patch Windows-IntelLLVM.cmake for different cmake
antonwolfy May 24, 2023
4674624
Reuse OneDPL implementation of std::nth_element() for partition of 1D…
antonwolfy May 22, 2023
f4c8986
Add complex type in dpnp.copy() and tune tests
antonwolfy May 22, 2023
5c67ba3
Added dpnp.ndarray.partition() & unmuted cupy tests
antonwolfy May 23, 2023
340ec40
Fix generation of coverage in GitHub Action (#1397)
vlad-perevezentsev May 31, 2023
30dedf5
Add type dispatching to pybind11 extension of dpnp.linalg.eigh()
antonwolfy May 2, 2023
b90e391
Added dep on dpctl tensor headers and removed todo
antonwolfy May 31, 2023
675fbc3
Resolved compilation errors
antonwolfy May 31, 2023
dfca733
Fix coverage action
antonwolfy May 31, 2023
74153fb
Fix sphinix build
antonwolfy May 31, 2023
8e2c5f7
Added print of dpctl includes
antonwolfy May 31, 2023
4e4d231
reuse dpctl.tensor.moveaxis for dpnp.moveaxis
vlad-perevezentsev Apr 19, 2023
ac5d887
Fix remark
vlad-perevezentsev Apr 27, 2023
2cd7600
Reuse dpctl.tensor.squeeze for dpnp.squeeze
vlad-perevezentsev Apr 17, 2023
67e5ce1
Fix remarks
vlad-perevezentsev Apr 27, 2023
3b3fecf
Remove dpnp.where implementation
vlad-perevezentsev Apr 14, 2023
40aa693
Reuse dpctl.tensor.where in dpnp.where
vlad-perevezentsev Apr 17, 2023
b69ab1e
Fix small remark
vlad-perevezentsev Apr 17, 2023
747222e
Merge branch 'master' into merge_to_gold
antonwolfy Jun 5, 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
15 changes: 0 additions & 15 deletions .coveragerc

This file was deleted.

1 change: 1 addition & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
- [ ] Have you added a test, reproducer or referred to issue with a reproducer?
- [ ] Have you tested your changes locally for CPU and GPU devices?
- [ ] Have you made sure that new changes do not introduce compiler warnings?
- [ ] Have you checked performance impact of proposed changes?
- [ ] If this PR is a work in progress, are you filing the PR as a draft?
24 changes: 24 additions & 0 deletions .github/workflows/Windows-IntelLLVM_3.22.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# file Copyright.txt or https://cmake.org/licensing for details.


# This module is shared by multiple languages; use include blocker.
if(__WINDOWS_INTEL)
return()
endif()
set(__WINDOWS_INTEL 1)

include(Platform/Windows-MSVC)
macro(__windows_compiler_intel lang)
__windows_compiler_msvc(${lang})

set(CMAKE_${lang}_LINK_EXECUTABLE "<CMAKE_${lang}_COMPILER> ${CMAKE_CL_NOLOGO} <CMAKE_${lang}_LINK_FLAGS> <OBJECTS> ${CMAKE_START_TEMP_FILE} -link -out:<TARGET> -implib:<TARGET_IMPLIB> -pdb:<TARGET_PDB> -version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR>${_PLATFORM_LINK_FLAGS} <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}")
set(CMAKE_${lang}_CREATE_SHARED_LIBRARY "<CMAKE_${lang}_COMPILER> ${CMAKE_CL_NOLOGO} <CMAKE_${lang}_LINK_FLAGS> <OBJECTS> ${CMAKE_START_TEMP_FILE} -LD -link -out:<TARGET> -implib:<TARGET_IMPLIB> -pdb:<TARGET_PDB> -version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR>${_PLATFORM_LINK_FLAGS} <LINK_FLAGS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
set(CMAKE_${lang}_CREATE_SHARED_MODULE ${CMAKE_${lang}_CREATE_SHARED_LIBRARY})
if (NOT "${lang}" STREQUAL "Fortran") # Fortran driver does not support -fuse-ld, yet
set(CMAKE_${lang}_CREATE_STATIC_LIBRARY "<CMAKE_${lang}_COMPILER> ${CMAKE_CL_NOLOGO} <CMAKE_${lang}_LINK_FLAGS> <OBJECTS> ${CMAKE_START_TEMP_FILE} -fuse-ld=llvm-lib -o <TARGET> -link <LINK_FLAGS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
endif()
set(CMAKE_DEPFILE_FLAGS_${lang} "-QMMD -QMT <DEP_TARGET> -QMF <DEP_FILE>")
set(CMAKE_${lang}_DEPFILE_FORMAT gcc)

endmacro()
66 changes: 66 additions & 0 deletions .github/workflows/Windows-IntelLLVM_3.26.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# file Copyright.txt or https://cmake.org/licensing for details.


# This module is shared by multiple languages; use include blocker.
if(__WINDOWS_INTEL_LLVM)
return()
endif()
set(__WINDOWS_INTEL_LLVM 1)

# Platform/Windows-MSVC adds some linking options icx/ifx do not understand,
# but that need to be passed to the linker. Wrap all the linking options from
# Platform/Windows-MSVC so that the compiler will hand them off to the linker
# without interpreting them.

# Save original CMAKE_${t}_LINKER_FLAGS_INIT
foreach(t EXE SHARED MODULE STATIC)
set(_saved_cmake_${t}_linker_flags_init ${CMAKE_${t}_LINKER_FLAGS_INIT})
set(CMAKE_${t}_LINKER_FLAGS_INIT "")
endforeach()
include(Platform/Windows-MSVC)
# Wrap linker flags from Windows-MSVC
set(_IntelLLVM_LINKER_WRAPPER_FLAG "/Qoption,link,")
set(_IntelLLVM_LINKER_WRAPPER_FLAG_SEP ",")
foreach(t EXE SHARED MODULE STATIC)
set(_wrapped_linker_flags "")
foreach(flag ${CMAKE_${t}_LINKER_FLAGS_INIT})
string(STRIP ${flag} flag)
list(APPEND _wrapped_linker_flags "${_IntelLLVM_LINKER_WRAPPER_FLAG}${flag}")
endforeach()
set(CMAKE_${t}_LINKER_FLAGS_INIT "")
list(APPEND CMAKE_${t}_LINKER_FLAGS_INIT
${_saved_cmake_${t}_linker_flags_init} ${_wrapped_linker_flags})
endforeach()

macro(__windows_compiler_intel lang)
__windows_compiler_msvc(${lang})

set(CMAKE_${lang}_LINKER_WRAPPER_FLAG "${_IntelLLVM_LINKER_WRAPPER_FLAG}")
set(CMAKE_${lang}_LINKER_WRAPPER_FLAG_SEP "${_IntelLLVM_LINKER_WRAPPER_FLAG_SEP}")
set(CMAKE_${lang}_CREATE_WIN32_EXE "${CMAKE_${lang}_LINKER_WRAPPER_FLAG}/subsystem:windows")
set(CMAKE_${lang}_CREATE_CONSOLE_EXE "${CMAKE_${lang}_LINKER_WRAPPER_FLAG}/subsystem:console")
set(CMAKE_LINK_DEF_FILE_FLAG "${CMAKE_${lang}_LINKER_WRAPPER_FLAG}/DEF:")
set(CMAKE_LIBRARY_PATH_FLAG "${CMAKE_${lang}_LINKER_WRAPPER_FLAG}/LIBPATH:")

# Features for LINK_LIBRARY generator expression
if(MSVC_VERSION GREATER "1900")
## WHOLE_ARCHIVE: Force loading all members of an archive
set(CMAKE_LINK_LIBRARY_USING_WHOLE_ARCHIVE "LINKER:/WHOLEARCHIVE:<LIBRARY>")
set(CMAKE_LINK_LIBRARY_USING_WHOLE_ARCHIVE_SUPPORTED TRUE)
endif()

set(CMAKE_${lang}_LINK_EXECUTABLE
"${_CMAKE_VS_LINK_EXE}<CMAKE_${lang}_COMPILER> ${CMAKE_CL_NOLOGO} <CMAKE_${lang}_LINK_FLAGS> <OBJECTS> ${CMAKE_START_TEMP_FILE} <LINK_FLAGS> <LINK_LIBRARIES> /link /out:<TARGET> /implib:<TARGET_IMPLIB> /pdb:<TARGET_PDB> /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR>${_PLATFORM_LINK_FLAGS} ${CMAKE_END_TEMP_FILE}")
set(CMAKE_${lang}_CREATE_SHARED_LIBRARY
"${_CMAKE_VS_LINK_DLL}<CMAKE_${lang}_COMPILER> ${CMAKE_CL_NOLOGO} <CMAKE_${lang}_LINK_FLAGS> <OBJECTS> ${CMAKE_START_TEMP_FILE} -LD <LINK_FLAGS> <LINK_LIBRARIES> -link /out:<TARGET> /implib:<TARGET_IMPLIB> /pdb:<TARGET_PDB> /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR>${_PLATFORM_LINK_FLAGS} ${CMAKE_END_TEMP_FILE}")
set(CMAKE_${lang}_CREATE_SHARED_MODULE ${CMAKE_${lang}_CREATE_SHARED_LIBRARY})
if (NOT "${lang}" STREQUAL "Fortran" OR CMAKE_${lang}_COMPILER_VERSION VERSION_GREATER_EQUAL 2022.1)
# The Fortran driver does not support -fuse-ld=llvm-lib before compiler version 2022.1
set(CMAKE_${lang}_CREATE_STATIC_LIBRARY
"<CMAKE_${lang}_COMPILER> ${CMAKE_CL_NOLOGO} <CMAKE_${lang}_LINK_FLAGS> <OBJECTS> ${CMAKE_START_TEMP_FILE} -fuse-ld=llvm-lib -o <TARGET> <LINK_FLAGS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
endif()

set(CMAKE_DEPFILE_FLAGS_${lang} "-QMD -QMT <DEP_TARGET> -QMF <DEP_FILE>")
set(CMAKE_${lang}_DEPFILE_FORMAT gcc)
endmacro()
16 changes: 8 additions & 8 deletions .github/workflows/build-sphinx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ jobs:

env:
python-ver: '3.9'
CHANNELS: '-c dppy/label/dev -c intel -c conda-forge --override-channels'

steps:
- name: Cancel Previous Runs
Expand Down Expand Up @@ -74,21 +75,20 @@ jobs:
- name: Install dpnp dependencies
run: |
conda install dpctl mkl-devel-dpcpp onedpl-devel tbb-devel dpcpp_linux-64 \
cmake cython pytest -c dppy/label/dev -c intel -c conda-forge
cmake cython pytest ninja scikit-build sysroot_linux-64">=2.28" ${{ env.CHANNELS }}

- name: Install cuPy dependencies
run: conda install -c conda-forge cupy cudatoolkit=10.0
run: conda install cupy cudatoolkit=10.0

- name: Conda info
run: |
conda info
conda list
run: conda info

- name: Conda list
run: conda list

- name: Build library
run: |
python setup.py build_clib
CC=icpx python setup.py build_ext --inplace
python setup.py develop
CC=icx CXX=icpx python setup.py develop -G Ninja -- -DDPCTL_MODULE_PATH=$(python -m dpctl --cmakedir)

- name: Build docs
run: make html
Expand Down
61 changes: 10 additions & 51 deletions .github/workflows/conda-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
env:
PACKAGE_NAME: dpnp
MODULE_NAME: dpnp
CHANNELS: '-c dppy/label/dev -c intel -c main --override-channels'
CHANNELS: '-c dppy/label/dev -c intel -c conda-forge --override-channels'
TEST_SCOPE: >-
test_arraycreation.py
test_dot.py
Expand All @@ -18,8 +18,10 @@ env:
test_linalg.py
test_mathematical.py
test_random_state.py
test_sort.py
test_special.py
test_usm_type.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(); "
VER_SCRIPT2: "d = j['dpnp'][0]; print('='.join((d[s] for s in ('version', 'build'))))"
Expand Down Expand Up @@ -59,7 +61,6 @@ jobs:
python-version: ${{ matrix.python }}
miniconda-version: 'latest'
activate-environment: 'build'
use-only-tar-bz2: true

- if: matrix.os == 'ubuntu-20.04'
name: Store conda paths as envs on Linux
Expand Down Expand Up @@ -170,7 +171,7 @@ jobs:
- name: Cache conda packages
uses: actions/cache@v3.2.6
env:
CACHE_NUMBER: 1 # Increase to reset cache
CACHE_NUMBER: 1 # Increase to reset cache
with:
path: ${{ env.conda-pkgs }}
key:
Expand All @@ -189,15 +190,11 @@ jobs:

- name: Smoke test
run: python -c "import dpnp, dpctl; dpctl.lsplatform()"
env:
OCL_ICD_FILENAMES: 'libintelocl.so'

# TODO: run the whole scope once the issues on CPU are resolved
- name: Run tests
run: |
python -m pytest -q -ra --disable-warnings -vv ${{ env.TEST_SCOPE }}
env:
OCL_ICD_FILENAMES: 'libintelocl.so'
working-directory: ${{ env.tests-path }}

test_windows:
Expand Down Expand Up @@ -319,52 +316,14 @@ jobs:
- name: List installed packages
run: conda list

- name: Add library
- name: Activate OCL CPU RT
shell: pwsh
run: |
# Make sure the below libraries exist
Get-Item -Path "$env:CONDA_LIB_BIN_PATH\OpenCL.dll"
Get-Item -Path "$env:CONDA_LIB_PATH\intelocl64.dll"

echo "OCL_ICD_FILENAMES = $env:CONDA_LIB_PATH\intelocl64.dll" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
try {$list = Get-Item -Path HKLM:\SOFTWARE\Khronos\OpenCL\Vendors | Select-Object -ExpandProperty Property } catch {$list=@()}

if ($list.count -eq 0) {
if (-not (Test-Path -Path HKLM:\SOFTWARE\Khronos)) {
New-Item -Path HKLM:\SOFTWARE\Khronos
}

if (-not (Test-Path -Path HKLM:\SOFTWARE\Khronos\OpenCL)) {
New-Item -Path HKLM:\SOFTWARE\Khronos\OpenCL
}

if (-not (Test-Path -Path HKLM:\SOFTWARE\Khronos\OpenCL\Vendors)) {
New-Item -Path HKLM:\SOFTWARE\Khronos\OpenCL\Vendors
}

New-ItemProperty -Path HKLM:\SOFTWARE\Khronos\OpenCL\Vendors -Name "$env:CONDA_LIB_PATH\intelocl64.dll" -Value 0
try {$list = Get-Item -Path HKLM:\SOFTWARE\Khronos\OpenCL\Vendors | Select-Object -ExpandProperty Property } catch {$list=@()}
Write-Output $(Get-Item -Path HKLM:\SOFTWARE\Khronos\OpenCL\Vendors)

# Now copy OpenCL.dll into system folder
$system_ocl_icd_loader="C:\Windows\System32\OpenCL.dll"
$python_ocl_icd_loader="$env:CONDA_LIB_BIN_PATH\OpenCL.dll"
Copy-Item -Path $python_ocl_icd_loader -Destination $system_ocl_icd_loader

if (Test-Path -Path $system_ocl_icd_loader) {
Write-Output "$system_ocl_icd_loader has been copied"
$acl = Get-Acl $system_ocl_icd_loader
Write-Output $acl
} else {
Write-Output "OCL-ICD-Loader was not copied"
}

# Configuration variable assisting OpenCL CPU driver to find TBB DLLs which are not located where it expects them by default
$cl_cfg="$env:CONDA_LIB_PATH\cl.cfg"
Write-Output "`n>>> Dump content of $cl_cfg`n" (Get-Content $cl_cfg) "`n<<< end of dump`n"
(Get-Content $cl_cfg) -replace '^CL_CONFIG_TBB_DLL_PATH =.*', "CL_CONFIG_TBB_DLL_PATH = $env:CONDA_LIB_BIN_PATH" | Set-Content $cl_cfg
Write-Output "`n>>> Dump content of modified $cl_cfg`n" (Get-Content $cl_cfg) "`n<<< end of dump`n"
}
$script_path="$env:CONDA_PREFIX\Scripts\set-intel-ocl-icd-registry.ps1"
&$script_path
# Check the variable assisting OpenCL CPU driver to find TBB DLLs which are not located where it expects them by default
$cl_cfg="$env:CONDA_PREFIX\Library\lib\cl.cfg"
Get-Content -Tail 5 -Path $cl_cfg

- name: Smoke test
run: python -c "import dpnp, dpctl; dpctl.lsplatform()"
Expand Down
81 changes: 81 additions & 0 deletions .github/workflows/generate_coverage.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: Generate coverage data for dpnp
on:
pull_request:
push:
branches: [master]

jobs:
generate-coverage:
name: Generate coverage and push to Coveralls.io
runs-on: ubuntu-20.04

defaults:
run:
shell: bash -l {0}

env:
python-ver: '3.10'
CHANNELS: '-c dppy/label/dev -c intel -c conda-forge --override-channels'

steps:
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.11.0
with:
access_token: ${{ github.token }}

- name: Checkout repo
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Setup miniconda
uses: conda-incubator/setup-miniconda@v2.2.0
with:
auto-update-conda: true
python-version: ${{ env.python-ver }}
miniconda-version: 'latest'
activate-environment: 'coverage'

- name: Install Lcov
run: |
sudo apt-get install lcov
- name: Install dpnp dependencies
run: |
conda install cython llvm cmake 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: |
conda info
conda list
- name: Build dpnp with coverage
run: |
python scripts/gen_coverage.py --pytest-opts="--ignore tests/test_random.py \
--ignore tests/test_strides.py"
- name: Install coverall dependencies
run: |
sudo gem install coveralls-lcov
pip install coveralls==3.2.0
- name: Upload coverage data to coveralls.io
run: |
echo "Processing pytest-coverage"
export DPNP_PYTEST_LCOV=$(find . -name dpnp_pytest.lcov)
coveralls-lcov -v -n $DPNP_PYTEST_LCOV > pytest-dpnp-c-api-coverage.json
# merge file with coverage data and upload
echo "Merging files with coverage data"
coveralls --service=github --merge=pytest-dpnp-c-api-coverage.json
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COVERALLS_PARALLEL: true

coveralls:
name: Indicate completion to coveralls.io
needs: generate-coverage
runs-on: ubuntu-latest
container: python:3-slim
steps:
- name: Finished
run: |
pip3 install --upgrade coveralls
coveralls --finish
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# CMake build and local install directory
build
_skbuild
build_cython
dpnp.egg-info

Expand Down
Loading