Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
a0aca4d
remove note about MKL FKP (#3252)
david-cortes-intel Jun 12, 2025
2094764
[CI, enhancement] add windows sklearnex azure pipelines template (#3216)
icfaust Jun 13, 2025
cc4de59
ci: add `cve-bin-tool` scan to nightly build (#3204)
homksei Jun 14, 2025
c4ca5a6
chore(deps): update lukka/get-cmake action to v4.0.3 (#3259)
renovate[bot] Jun 16, 2025
bd9054e
reset pointer (#3257)
david-cortes-intel Jun 18, 2025
f272fd4
chore(deps): update dependency urllib3 to v2.5.0 [security] (#3265)
renovate[bot] Jun 19, 2025
2c06042
[bugfix] separate stability issues of ```intel/cve-bin-tool-action```…
icfaust Jun 24, 2025
a72a8cc
Fix Coverity hits in headers (#3192)
Vika-F Jun 24, 2025
e6e9baa
chore(deps): update doc packages (#3240)
renovate[bot] Jun 25, 2025
13c979b
chore(deps): update dependency bazel to v8.3.0 (#3268)
renovate[bot] Jun 25, 2025
5bee76a
ENH: Non-batched route for high-dimensional covariance (#3230)
david-cortes-intel Jun 26, 2025
24bf275
MAINT: Reuse common routines in covariance (#3227)
david-cortes-intel Jun 26, 2025
742bb1d
chore(deps): update dependency lxml to v6 (#3272)
renovate[bot] Jun 27, 2025
d535c17
CI jobs for OpenRNG-OpenBLAS-Arm build (#2972)
DhanusML Jun 27, 2025
201a9da
[bug] fix shared library AddressSanitizer integration for the gnu com…
icfaust Jun 28, 2025
0d53c73
chore(deps): update lukka/get-cmake action to v4.0.3 (#3273)
renovate[bot] Jun 30, 2025
4fe611e
adding local_trees mode in RF (#3139)
Alexandr-Solovev Jun 30, 2025
3d0fdad
add bazel support for daal examples (#3235)
Alexandr-Solovev Jun 30, 2025
e831de5
chore(deps): update dependency bazel to v8.3.1 (#3277)
renovate[bot] Jul 1, 2025
97971aa
chore(deps): update dependency uxlfoundation/onetbb to v2022.2.0 (#3276)
renovate[bot] Jul 1, 2025
1499889
Add correlation distance algorithm (#3131)
richardnorth3 Jul 1, 2025
119183a
add instructions for clang (#3279)
david-cortes-intel Jul 2, 2025
ba5b1b8
chore(deps): update dependency bazel_skylib to v1.8.0 (#3278)
renovate[bot] Jul 2, 2025
e14650e
chore(deps): update dependency rules_cc to v0.1.2 (#3263)
renovate[bot] Jul 2, 2025
01f2d3c
Update bazel dependency handling for Catch2 and fmt (#3280)
Alexandr-Solovev Jul 3, 2025
969acbc
FIX: Initialize pointer to null in topology struct (#3281)
david-cortes-intel Jul 4, 2025
81c5f73
Update ci.yml (#3284)
icfaust Jul 7, 2025
593cf13
update version to 2025.8.0 (#3282)
kjackiew Jul 7, 2025
5e5710b
remove bazel http_archive rule (#3286)
Alexandr-Solovev Jul 8, 2025
00d0527
[ENH] Read Support for CSR tables in oneapi (#3270)
DDJHB Jul 8, 2025
bd8108b
Added SVE intrinsics for postGemmPart function (#3271)
shubhamsvc Jul 8, 2025
4c3ce26
Add error handling (#3283)
Vika-F Jul 10, 2025
f6e3fb6
More granular CPU features detection (#3170)
Vika-F Jul 10, 2025
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
2 changes: 1 addition & 1 deletion .bazelversion
Original file line number Diff line number Diff line change
@@ -1 +1 @@
8.2.1
8.3.1
54 changes: 49 additions & 5 deletions .ci/env/openrng.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,18 @@ SCRIPT_PATH=$(readlink -f "${BASH_SOURCE[0]}")
SCRIPT_DIR=$(dirname "${SCRIPT_PATH}")
ONEDAL_DIR=$(readlink -f "${SCRIPT_DIR}/../..")
OPENRNG_DEFAULT_SOURCE_DIR="${ONEDAL_DIR}/__work/openrng"
OPENRNG_DEFAULT_VERSION="v24.04"

show_help() {
echo "Usage: $0 [--help]"
column -t -s":" <<< '--help:Display this information
--rng-src:The path to an existing OpenRNG source dircetory. The source is cloned if this parameter is omitted
--prefix:The path where OpenRNG will be installed
--CC <path>:Path to the C compiler executable to use
--CXX <path>:Path to the CXX compiler executable to use
--target-arch <name>:Target architecture name for cross-compilation. Use only with '--cross-compile'. Must be one of [x86_64, aarch64]
--cross-compile:Indicates that we are doing cross compilation
--version <version string>:The version of OpenRNG to fetch and build. Must be a valid git reference in the upstream OpenRNG repo
'
}

Expand All @@ -37,6 +43,24 @@ while [[ $# -gt 0 ]]; do
--prefix)
PREFIX="$2"
shift;;
--CXX)
CXX="$2"
shift;;
--CC)
CC="$2"
shift;;
--LD)
LD="$2"
shift;;
--target-arch)
target="$2"
shift;;
--cross-compile)
cross_compile="yes"
;;
--version)
OPENRNG_VERSION="$2"
shift;;
--help)
show_help
exit 0
Expand All @@ -49,21 +73,41 @@ while [[ $# -gt 0 ]]; do
shift
done

OPENRNG_DEFAULT_PREFIX="${ONEDAL_DIR}"/__deps/openrng
CXX="${CXX:-g++}"
CC="${CC:-gcc}"
target="${target:-aarch64}"
OPENRNG_VERSION="${OPENRNG_VERSION:-${OPENRNG_DEFAULT_VERSION}}"
OPENRNG_DEFAULT_PREFIX="${ONEDAL_DIR}/__deps/openrng"
rng_prefix="${PREFIX:-${OPENRNG_DEFAULT_PREFIX}}"

rng_src_dir=${rng_src_dir:-$OPENRNG_DEFAULT_SOURCE_DIR}
if [[ ! -d "${rng_src_dir}" ]] ; then
git clone https://git.gitlab.arm.com/libraries/openrng.git "${rng_src_dir}"
git clone --depth 1 --branch "${OPENRNG_VERSION}" https://git.gitlab.arm.com/libraries/openrng.git "${rng_src_dir}"
fi

if [ "${cross_compile}" == "yes" ]; then
cmake_options=(-DCMAKE_INSTALL_PREFIX="${rng_prefix}"
-DCMAKE_CXX_COMPILER="${CXX}"
-DCMAKE_C_COMPILER="${CC}"
-DCMAKE_SYSTEM_PROCESSOR="${target}"
-DCMAKE_SYSTEM_NAME=linux
-DCMAKE_BUILD_TYPE=Release
-DBUILD_TESTING=OFF
)
else
cmake_options=(-DCMAKE_INSTALL_PREFIX="${rng_prefix}"
-DCMAKE_CXX_COMPILER="${CXX}"
-DCMAKE_C_COMPILER="${CC}"
-DCMAKE_BUILD_TYPE=Release
)
fi

echo $rng_src_dir
echo $rng_prefix
pushd "${rng_src_dir}"
rm -rf build
mkdir build
pushd build
cmake -DCMAKE_INSTALL_PREFIX="${rng_prefix}" ./../
echo "${cmake_options[@]}"
cmake "${cmake_options[@]}" ./../
make install
popd
popd
2 changes: 1 addition & 1 deletion .ci/env/tbb.bat
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ rem ============================================================================
rem req: PowerShell 3.0+
powershell.exe -command "if ($PSVersionTable.PSVersion.Major -ge 3) {exit 1} else {Write-Host \"The script requires PowerShell 3.0 or above (current version: $($PSVersionTable.PSVersion.Major).$($PSVersionTable.PSVersion.Minor))\"}" && goto Error_load

set TBBVERSION=2022.1.0
set TBBVERSION=2022.2.0
set TBBURLROOT=https://github.com/uxlfoundation/oneTBB/releases/download/v%TBBVERSION%/
set TBBPACKAGE=oneapi-tbb-%TBBVERSION%-win

Expand Down
2 changes: 1 addition & 1 deletion .ci/env/tbb.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ set -eo pipefail
SCRIPT_PATH=$(readlink -f "${BASH_SOURCE[0]}")
SCRIPT_DIR=$(dirname "${SCRIPT_PATH}")
ONEDAL_DIR=$(readlink -f "${SCRIPT_DIR}/../..")
TBB_DEFAULT_VERSION=v2022.1.0
TBB_DEFAULT_VERSION=v2022.2.0

# Function to display help
show_help() {
Expand Down
75 changes: 71 additions & 4 deletions .ci/pipeline/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,10 @@ variables:
OPENBLAS_VERSION : 'v0.3.27'
TBB_VERSION : 'v2021.10.0'
VM_IMAGE : 'ubuntu-24.04'
WIN_VM_IMAGE : 'windows-2022'
SYSROOT_OS: 'noble'
PY_VERSION: '3.11'
SKL_VERSION: '1.5'
WINDOWS_BASEKIT_URL: 'https://registrationcenter-download.intel.com/akdlm/IRC_NAS/487fd8c3-a3d8-4c22-a903-f8d54c2c57be/intel-oneapi-base-toolkit-2025.1.0.650_offline.exe'
WINDOWS_DPCPP_COMPONENTS: 'intel.oneapi.win.mkl.devel:intel.oneapi.win.tbb.devel:intel.oneapi.win.dpl'

Expand Down Expand Up @@ -270,19 +273,39 @@ jobs:
artifactName: '$(platform.type) Bazel build'
targetPath: '$(Build.Repository.LocalPath)/bazel-bin/release'
displayName: 'Upload build artifacts'
- script: |
bazel test //examples/daal/cpp:all \
--test_link_mode=dev \
--test_thread_mode=par
displayName: 'daal-cpp-examples-thread-dev'

- script: |
bazel test //examples/oneapi/cpp:all \
--test_link_mode=dev \
--test_thread_mode=par
displayName: 'cpp-examples-thread-dev'

- script: |
export DALROOT=`pwd`/bazel-bin/release/daal/latest
bazel test //examples/daal/cpp:all \
--test_link_mode=release_static \
--test_thread_mode=par
displayName: 'daal-cpp-examples-thread-release-static'

- script: |
export DALROOT=`pwd`/bazel-bin/release/daal/latest
bazel test //examples/oneapi/cpp:all \
--test_link_mode=release_static \
--test_thread_mode=par
displayName: 'cpp-examples-thread-release-static'

- script: |
export DALROOT=`pwd`/bazel-bin/release/daal/latest
bazel test //examples/daal/cpp:all \
--test_link_mode=release_dynamic \
--test_thread_mode=par
displayName: 'daal-cpp-examples-thread-release-dynamic'

- script: |
export DALROOT=`pwd`/bazel-bin/release/daal/latest
bazel test //examples/oneapi/cpp:all \
Expand Down Expand Up @@ -342,12 +365,12 @@ jobs:
strategy:
matrix:
Python311:
PYTHON_VERSION: '3.11'
SKLEARN_VERSION: '1.5'
PYTHON_VERSION: '$(PY_VERSION)'
SKLEARN_VERSION: '$(SKL_VERSION)'
steps:
- checkout: none
- script: |
git clone https://github.com/uxlfoundation/scikit-learn-intelex.git .
git clone --depth 1 https://github.com/uxlfoundation/scikit-learn-intelex.git .
displayName: 'Clone sklearnex'
- task: DownloadPipelineArtifact@2
inputs:
Expand All @@ -373,7 +396,7 @@ jobs:
release.dir: '__release_win_vc'
platform.type : 'win32e'
pool:
vmImage: 'windows-2022'
vmImage: '$(WIN_VM_IMAGE)'
steps:
- script: .ci/scripts/install_basekit.bat $(WINDOWS_BASEKIT_URL) $(WINDOWS_DPCPP_COMPONENTS)
displayName: Install oneAPI Base Toolkit
Expand All @@ -400,6 +423,12 @@ jobs:
targetPath: '$(Build.Repository.LocalPath)/$(release.dir)'
displayName: 'Upload build artifacts'
continueOnError: true
- task: PublishPipelineArtifact@1
inputs:
artifactName: 'oneDAL scripts'
targetPath: '$(Build.Repository.LocalPath)/.ci/scripts'
displayName: 'Upload environment artifacts'
continueOnError: true
- script: |
call %TEMP%\oneapi\setvars.bat --force
.\.ci\scripts\test.bat daal\cpp lib msvs cmake
Expand All @@ -423,3 +452,41 @@ jobs:
displayName: 'Uploading on fail'
condition: failed()
continueOnError: true


- job: WindowsSklearnex
dependsOn: WindowsMakeVC
timeoutInMinutes: 0
variables:
release.dir: '__release_win_vc'
platform.type: 'win32e'
DALROOT: '$(Pipeline.Workspace)\daal\latest'
TBBROOT: '%TEMP%\oneapi\tbb\latest'
pool:
vmImage: '$(WIN_VM_IMAGE)'
maxParallel: 2
strategy:
matrix:
Python311:
PYTHON_VERSION: '$(PY_VERSION)'
SKLEARN_VERSION: '$(SKL_VERSION)'
steps:
- checkout: none
- script: |
git clone --depth 1 https://github.com/uxlfoundation/scikit-learn-intelex.git .
displayName: 'Clone sklearnex'
- task: DownloadPipelineArtifact@2
inputs:
artifact: 'oneDAL scripts'
path: '$(Build.Repository.LocalPath)\.ci\env'
- task: DownloadPipelineArtifact@2
inputs:
artifact: '$(platform.type) build'
path: $(Pipeline.Workspace)
- script: .ci\env\install_basekit.bat $(WINDOWS_BASEKIT_URL) $(WINDOWS_DPCPP_COMPONENTS)
displayName: 'TBB installation'
- template: .ci/pipeline/build-and-test-win.yml@sklearnex
- task: PublishPipelineArtifact@1
inputs:
artifactName: '$(platform.type) sklearnex build'
targetPath: '$(Build.Repository.LocalPath)/build'
32 changes: 24 additions & 8 deletions .ci/scripts/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ show_help() {
--blas-dir:The BLAS installation directory to use to build oneDAL with in the case that the backend is given as `ref`. If the installation directory does not exist, attempts to build this from source
--tbb-dir:The TBB installation directory to use to build oneDAL with in the case that the backend is given as `ref`. If the installation directory does not exist, attempts to build this from source
--use-openrng:Set this to yes if openrng is to be used as RNG backend. Use this only with the `ref` backend.
--openrng-dir:The directory in which openrng is installed. Only to be used with `ref` backend and `--use-openrng yes`.
--sysroot:The sysroot to use, in the case that clang is used as the cross-compiler
--debug:Set build debug mode flag
--jobs:The number of parallel threads to use for oneDAL building
Expand Down Expand Up @@ -69,6 +70,9 @@ while [[ $# -gt 0 ]]; do
--blas-dir)
BLAS_INSTALL_DIR=$(readlink -f "$2")
shift;;
--openrng-dir)
OPENRNG_INSTALL_DIR=$(readlink -f "$2")
shift;;
--tbb-dir)
TBB_INSTALL_DIR=$(readlink -f "$2")
shift;;
Expand Down Expand Up @@ -200,18 +204,30 @@ elif [ "${backend_config}" == "ref" ]; then
"${ONEDAL_DIR}"/.ci/env/openblas.sh "${openblas_options[@]}"
fi
export OPENBLASROOT="${ONEDAL_DIR}/__deps/openblas_${ARCH}"
if [ "${use_openrng}" == "yes" ]; then
echo "Sourcing ref(openrng) env"
if [ ! -d "${ONEDAL_DIR}"/__deps/openrng ]; then
echo "${ONEDAL_DIR}"/.ci/env/openrng.sh
"${ONEDAL_DIR}"/.ci/env/openrng.sh
fi
export OPENRNGROOT="${ONEDAL_DIR}"/__deps/openrng
fi
else
echo "Not supported backend env"
fi

echo "Sourcing ref(openrng) env"
if [ "${backend_config}" == "ref" ] && [ "${use_openrng}" == "yes" ]; then
if [ ! -z "${OPENRNG_INSTALL_DIR}" ]; then
export OPENRNGROOT="${OPENRNG_INSTALL_DIR}"
elif [ "${ARCH}" != "arm" ]; then
echo "OpenRNG backend is currently only supported on ARM"
exit 1
elif [ ! -d "${ONEDAL_DIR}"/__deps/openrng ]; then
openrng_options=(--target-arch aarch64)
if [ "${cross_compile}" == "yes" ] ; then
openrng_options+=(--cross-compile --CC aarch64-linux-gnu-gcc --CXX aarch64-linux-gnu-g++)
fi
echo "${ONEDAL_DIR}"/.ci/env/openrng.sh "${openrng_options[@]}"
"${ONEDAL_DIR}"/.ci/env/openrng.sh "${openrng_options[@]}"
export OPENRNGROOT="${ONEDAL_DIR}/__deps/openrng"
else
export OPENRNGROOT="${ONEDAL_DIR}/__deps/openrng"
fi
fi

# TBB setup
if [[ ! -z "${TBB_INSTALL_DIR}" ]] ; then
export TBBROOT="${TBB_INSTALL_DIR}"
Expand Down
18 changes: 17 additions & 1 deletion .ci/scripts/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ function show_help_text {
--conda-env:The Conda environment to load
--build-system:The type of build to perform, e.g. cmake
--backend:The backend C library to use. Must be one of [mkl, ref]
--rng-backend:The RNG backend library to use. Must be one of [mkl, ref, openrng]
--platform:Explicitly pass the platform. This is the same as is passed to the top-level oneDAL build script
--cross-compile:Indicates whether cross-compilation is being performed
--jobs:The number of parallel threads to use for test building
Expand Down Expand Up @@ -68,6 +69,10 @@ while [[ $# -gt 0 ]]; do
backend="$2"
shift
;;
--rng-backend)
rng_backend="$2"
shift
;;
--platform)
platform="$2"
shift
Expand Down Expand Up @@ -112,6 +117,11 @@ fi

build_system=${build_system:-cmake}
backend=${backend:-mkl}
if [ "${backend}" == "mkl" ]; then
rng_backend=mkl
else
rng_backend=${rng_backend:-ref}
fi

if [ "${OS}" == "lnx" ]; then
if [ -f /usr/share/miniconda/etc/profile.d/conda.sh ] ; then
Expand Down Expand Up @@ -212,6 +222,11 @@ for link_mode in "${link_modes[@]}"; do

if [ "${backend}" == "ref" ] ; then
ref_backend="ON"
if [ "${rng_backend}" == "openrng" ]; then
openrng_backend="ON"
else
openrng_backend="OFF"
fi
else
ref_backend="OFF"
fi
Expand All @@ -220,7 +235,8 @@ for link_mode in "${link_modes[@]}"; do
-S .
-G "Unix Makefiles"
-DONEDAL_LINK="${link_mode}"
-DREF_BACKEND="${ref_backend}")
-DREF_BACKEND="${ref_backend}"
-DOPENRNG_BACKEND="${openrng_backend}")

if [ "${cross_compile}" == "yes" ] ; then
# Set the cmake toolchain file to set up the cross-compilation
Expand Down
Loading