Skip to content

Commit

Permalink
Merge branch 'main' into new_Linear
Browse files Browse the repository at this point in the history
  • Loading branch information
icfaust authored Dec 13, 2024
2 parents c768256 + ded94bf commit fe6a9c9
Show file tree
Hide file tree
Showing 133 changed files with 1,909 additions and 1,409 deletions.
35 changes: 29 additions & 6 deletions .ci/pipeline/build-and-test-lnx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ steps:
displayName: "apt-get"
- script: |
bash .ci/scripts/install_dpcpp.sh
condition: and(eq(variables.NO_DPC, ''), eq(variables.DPCPPROOT, ''))
displayName: "dpcpp installation"
- script: |
source /opt/intel/oneapi/compiler/latest/env/vars.sh
Expand All @@ -27,20 +28,28 @@ steps:
conda config --add channels conda-forge
conda config --set channel_priority strict
conda update -y -q conda
conda create -q -y -n CB -c conda-forge python=$(PYTHON_VERSION) dal-devel=2025 mpich pyyaml dpcpp-cpp-rt=2025.0
conda create -q -y -n CB -c conda-forge python=$(PYTHON_VERSION) mpich pyyaml dpcpp-cpp-rt=2025.0
displayName: "Conda create"
- script: |
. /usr/share/miniconda/etc/profile.d/conda.sh
conda activate CB
if [ -z "${DALROOT}" ]; then conda install -q -y -c conda-forge dal-devel=2025; fi
pip install -r dependencies-dev
pip list
env:
DALROOT: ${{ variables.DALROOT }}
displayName: "Install develop requirements"
- script: |
export DPCPPROOT=/opt/intel/oneapi/compiler/latest
if [ -z "${DPCPPROOT}" ]; then export DPCPPROOT=/opt/intel/oneapi/compiler/latest; fi
. /usr/share/miniconda/etc/profile.d/conda.sh
conda activate CB
export DALROOT=$CONDA_PREFIX
if [ -z "${DALROOT}" ]; then export DALROOT=$CONDA_PREFIX; fi
./conda-recipe/build.sh
env:
NO_DPC: ${{ variables.NO_DPC }}
NO_DIST: ${{ variables.NO_DIST }}
DPCPPROOT: ${{ variables.DPCPPROOT }}
DALROOT: ${{ variables.DALROOT }}
displayName: "Build daal4py/sklearnex"
- script: |
. /usr/share/miniconda/etc/profile.d/conda.sh
Expand All @@ -50,26 +59,40 @@ steps:
pip install $(python .ci/scripts/get_compatible_scipy_version.py)
# dpep installation is set to pypi to avoid conflict of numpy versions from pip and conda
# py312 is disabled due to segfault on exit of program with usage of dpctl
if [ $(echo $(PYTHON_VERSION) | grep '3.9\|3.10\|3.11') ] && [ $(SKLEARN_VERSION) != "1.0" ]; then pip install dpctl==0.18.* dpnp==0.16.*; fi
if [ $(echo $(PYTHON_VERSION) | grep '3.9\|3.10\|3.11') ] && [ $(SKLEARN_VERSION) != "1.0" ] && [ -z ${NO_DPC} ]; then pip install dpctl==0.18.* dpnp==0.16.*; fi
pip list
env:
NO_DPC: ${{ variables.NO_DPC }}
displayName: "Install testing requirements"
- script: |
. /usr/share/miniconda/etc/profile.d/conda.sh
conda activate CB
cd ..
if [ -n "${TBBROOT}" ] && [ "${TBBROOT}" != "${CONDA_PREFIX}" ]; then source ${TBBROOT}/env/vars.sh; fi
./s/conda-recipe/run_test.sh --json-report
env:
TBBROOT: ${{ variables.TBBROOT }}
displayName: "Sklearnex testing"
- script: |
. /usr/share/miniconda/etc/profile.d/conda.sh
conda activate CB
bash .ci/scripts/run_sklearn_tests.sh cpu
if [ -n "${TBBROOT}" ] && [ "${TBBROOT}" != "${CONDA_PREFIX}" ]; then source ${TBBROOT}/env/vars.sh; fi
if [ -z "${NO_DPC}" ]; then export CPU="cpu"; fi
bash .ci/scripts/run_sklearn_tests.sh $CPU
env:
TBBROOT: ${{ variables.TBBROOT }}
NO_DPC: ${{ variables.NO_DPC }}
displayName: "Sklearn testing"
condition: succeededOrFailed()
- script: |
. /usr/share/miniconda/etc/profile.d/conda.sh
conda activate CB
bash .ci/scripts/run_sklearn_tests.sh cpu
if [ -n "${TBBROOT}" ] && [ "${TBBROOT}" != "${CONDA_PREFIX}" ]; then source ${TBBROOT}/env/vars.sh; fi
if [ -z "${NO_DPC}" ]; then export CPU="cpu"; fi
bash .ci/scripts/run_sklearn_tests.sh $CPU
env:
TBBROOT: ${{ variables.TBBROOT }}
NO_DPC: ${{ variables.NO_DPC }}
SKLEARNEX_PREVIEW: "YES"
displayName: "Sklearn testing [preview]"
condition: succeededOrFailed()
38 changes: 16 additions & 22 deletions .ci/pipeline/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -119,21 +119,18 @@ jobs:
Python3.9_Sklearn1.0:
PYTHON_VERSION: '3.9'
SKLEARN_VERSION: '1.0'
Python3.9_Sklearn1.1:
PYTHON_VERSION: '3.9'
SKLEARN_VERSION: '1.1'
Python3.10_Sklearn1.2:
Python3.10_Sklearn1.3:
PYTHON_VERSION: '3.10'
SKLEARN_VERSION: '1.2'
Python3.11_Sklearn1.3:
PYTHON_VERSION: '3.11'
SKLEARN_VERSION: '1.3'
Python3.12_Sklearn1.4:
PYTHON_VERSION: '3.12'
Python3.11_Sklearn1.4:
PYTHON_VERSION: '3.11'
SKLEARN_VERSION: '1.4'
Python3.13_Sklearn1.5:
PYTHON_VERSION: '3.13'
Python3.12_Sklearn1.5:
PYTHON_VERSION: '3.12'
SKLEARN_VERSION: '1.5'
Python3.13_Sklearn1.6:
PYTHON_VERSION: '3.13'
SKLEARN_VERSION: '1.6'
pool:
vmImage: 'ubuntu-22.04'
steps:
Expand All @@ -146,21 +143,18 @@ jobs:
Python3.9_Sklearn1.0:
PYTHON_VERSION: '3.9'
SKLEARN_VERSION: '1.0'
Python3.9_Sklearn1.1:
PYTHON_VERSION: '3.9'
SKLEARN_VERSION: '1.1'
Python3.10_Sklearn1.2:
Python3.10_Sklearn1.3:
PYTHON_VERSION: '3.10'
SKLEARN_VERSION: '1.2'
Python3.11_Sklearn1.3:
PYTHON_VERSION: '3.11'
SKLEARN_VERSION: '1.3'
Python3.12_Sklearn1.4:
PYTHON_VERSION: '3.12'
Python3.11_Sklearn1.4:
PYTHON_VERSION: '3.11'
SKLEARN_VERSION: '1.4'
Python3.13_Sklearn1.5:
PYTHON_VERSION: '3.13'
Python3.12_Sklearn1.5:
PYTHON_VERSION: '3.12'
SKLEARN_VERSION: '1.5'
Python3.13_Sklearn1.6:
PYTHON_VERSION: '3.13'
SKLEARN_VERSION: '1.6'
pool:
vmImage: 'windows-2022'
steps:
Expand Down
11 changes: 0 additions & 11 deletions .ci/scripts/install_windows.bat

This file was deleted.

5 changes: 5 additions & 0 deletions .ci/scripts/run_sklearn_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
import pytest
import sklearn

from daal4py.sklearn._utils import sklearn_check_version

if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument(
Expand All @@ -43,6 +45,9 @@
if os.environ["SELECTED_TESTS"] == "all":
os.environ["SELECTED_TESTS"] = ""

if sklearn_check_version("1.6"):
os.environ["SCIPY_ARRAY_API"] = "1"

pytest_args = (
"--verbose --durations=100 --durations-min=0.01 "
f"--rootdir={sklearn_file_dir} "
Expand Down
30 changes: 30 additions & 0 deletions .github/.codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#===============================================================================
# Copyright contributors to the oneDAL project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#===============================================================================
coverage:
status:
project:
default:
target: 0
# Set targets to zero so that it will always stay green. Also leave
# information on thresholds so that future coverage percentage
# enforcement can be easily implemented by only adjusting the threshold
# and setting target: auto.
# threshold: 50
patch:
default:
target: 0
# Allow for diffs to have no code coverage.
# threshold: 50
69 changes: 69 additions & 0 deletions .github/.licenserc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Copyright contributors to the oneDAL project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

header:
license:
spdx-id: Apache-2.0
copyright-owner: contributors to the oneDAL project
pattern: |
(Copyright \d{4} Intel Corporation|Copyright contributors to the oneDAL project|Copyright \d{4} Fujitsu Limited)
Licensed under the Apache License, Version 2\.0 \(the "License"\);
you may not use this file except in compliance with the License\.
You may obtain a copy of the License at
http:\/\/www\.apache\.org\/licenses\/LICENSE-2\.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied\.
See the License for the specific language governing permissions and
limitations under the License\.
paths:
- '**'

paths-ignore:
- '.gitignore'
- '.gitattributes'
# Empty __init__.py files
- 'daal4py/sklearn/monkeypatch/__init__.py'
- 'generator/__init__.py'
# Clang-format configs
- '.clang-format'
- '_clang-format'
# All .csv and .ipynb files
- '**/*.csv'
- '**/*.ipynb'
# Something in doc/
- 'doc/daal4py/_static/style.css'
- 'doc/daal4py/_templates/layout.html'
- 'doc/sources/_static/style.css'
- 'doc/sources/_templates/footer.html'
- 'doc/sources/_templates/layout.html'
- 'doc/daal4py/third-party-programs.txt'
- 'doc/third-party-programs-sklearnex.txt'
# requirements
- 'dependencies-dev'
- 'requirements*.txt'
# Some files from .ci/.github
- '.github/CODEOWNERS'
- '.github/Pull_Request_template.md'
- '.github/renovate.json'
# Specific files
- 'setup.cfg'
- 'LICENSE'

comment: never

license-location-threshold: 80 # specifies the index threshold where the license header can be located.
16 changes: 16 additions & 0 deletions .github/ISSUE_TEMPLATE/-bug_report.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
<!--
~ Copyright 2020 Intel Corporation
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->

---
name: " Bug_report"
about: Create a report to help us improve
Expand Down
2 changes: 1 addition & 1 deletion .github/Pull_Request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Checklist to comply with **before moving PR from draft**:
- [ ] I have reviewed my changes thoroughly before submitting this pull request.
- [ ] I have commented my code, particularly in hard-to-understand areas.
- [ ] I have updated the documentation to reflect the changes or created a separate PR with update and provided its number in the description, if necessary.
- [ ] Git commit message contains an appropriate signed-off-by string _(see [CONTRIBUTING.md](https://github.com/intel/scikit-learn-intelex/blob/main/CONTRIBUTING.md#pull-requests) for details)_.
- [ ] Git commit message contains an appropriate signed-off-by string _(see [CONTRIBUTING.md](https://github.com/uxlfoundation/scikit-learn-intelex/blob/main/CONTRIBUTING.md#pull-requests) for details)_.
- [ ] I have added a respective label(s) to PR if I have a permission for that.
- [ ] I have resolved any merge conflicts that might occur with the base branch.

Expand Down
16 changes: 16 additions & 0 deletions .github/issue_template/Bug_report.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
<!--
~ Copyright 2020 Intel Corporation
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->

---
name: Bug report
about: Create a report to help us improve
Expand Down
25 changes: 15 additions & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -139,14 +139,16 @@ jobs:
export COVERAGE_FILE=$(pwd)/.coverage.sklearn
if [ "${{ steps.set-env.outputs.DPCFLAG }}" == "" ]; then export CPU=cpu; fi
bash .ci/scripts/run_sklearn_tests.sh $CPU
- name: Archive coverage data
- name: Create coverage report
run: |
source venv/bin/activate
coverage combine .coverage.sklearnex .coverage.sklearn
coverage json -o coverage.lnx${{ matrix.PYTHON_VERSION }}_${{ matrix.SKLEARN_VERSION }}.json
- name: Archive coverage report
uses: actions/upload-artifact@v4
with:
name: coverage_lnx_Py${{ matrix.PYTHON_VERSION }}_${{ matrix.SKLEARN_VERSION }}
path: |
.coverage.sklearn
.coverage.sklearnex
include-hidden-files: true
path: coverage.lnx${{ matrix.PYTHON_VERSION }}_${{ matrix.SKLEARN_VERSION }}.json
- name: Sklearn testing [preview]
run: |
source venv/bin/activate
Expand Down Expand Up @@ -282,14 +284,17 @@ jobs:
set COVERAGE_FILE=%cd%\.coverage.sklearn
if "${{ steps.set-env.outputs.DPCFLAG }}"=="" set CPU=cpu
bash .ci/scripts/run_sklearn_tests.sh %CPU%
- name: Archive coverage data
- name: Create coverage report
shell: cmd
run: |
call .\venv\Scripts\activate.bat
coverage combine .coverage.sklearnex .coverage.sklearn
coverage json -o coverage.win${{ matrix.PYTHON_VERSION }}_${{ matrix.SKLEARN_VERSION }}.json
- name: Archive coverage report
uses: actions/upload-artifact@v4
with:
name: coverage_win_Py${{ matrix.PYTHON_VERSION }}_${{ matrix.SKLEARN_VERSION }}
path: |
.coverage.sklearn
.coverage.sklearnex
include-hidden-files: true
path: coverage.win${{ matrix.PYTHON_VERSION }}_${{ matrix.SKLEARN_VERSION }}.json
- name: Sklearn testing [preview]
shell: cmd
run: |
Expand Down
Loading

0 comments on commit fe6a9c9

Please sign in to comment.