Skip to content

Align pragma conditionals in onedal and daal (#3433) #1533

Align pragma conditionals in onedal and daal (#3433)

Align pragma conditionals in onedal and daal (#3433) #1533

Workflow file for this run

#===============================================================================
# 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.
#===============================================================================
name: "CI AArch64"
on:
pull_request:
branches:
- main
push:
branches:
- main
env:
DEP_DIR: ${{ github.workspace }}/__deps
TBB_VERSION: v2022.2.0
OPENBLAS_VERSION: v0.3.29
OPENRNG_VERSION: 'v24.04'
# Stop stale workflows when pull requests are updated: https://stackoverflow.com/a/70972844
# Does not apply to the main branch.
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref_name }}-${{ github.event.number || github.sha }}
cancel-in-progress: true
# Declare default permissions as read only.
permissions: read-all
jobs:
build-and-test:
strategy:
fail-fast: false
matrix:
os: [
{ name: GitHub hosted, label: ubuntu-24.04-arm, cxx: gnu },
{ name: Arm hosted, label: ah-ubuntu_24_04-c6g_2x-50, cxx: clang }
]
name: LinuxMake${{ matrix.os.cxx }}_OpenBLAS(SVE)-${{ matrix.os.name }}
if: github.repository == 'uxlfoundation/oneDAL'
runs-on: ${{ matrix.os.label }}
steps:
# Faster builds where possible. Fix version of CMake and Ninja.
# Note: This will create a github actions cache
- name: Get CMake and Ninja
uses: lukka/get-cmake@628dd514bed37cb0a609e84a6186cbbaa2fc0140 # v4.1.2
with:
cmakeVersion: 3.31.0
ninjaVersion: 1.12.0
- name: Checkout oneDAL
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Checkout oneTBB
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
repository: uxlfoundation/oneTBB
ref: ${{ env.TBB_VERSION }}
path: ${{ github.workspace }}/__work/onetbb-src
- name: Checkout openBLAS
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
repository: OpenMathLib/OpenBLAS
ref: ${{ env.OPENBLAS_VERSION }}
path: ${{ github.workspace }}/__work/openblas
- name: Build oneTBB
run: |
.ci/env/tbb.sh
echo "TBBROOT=${{ github.workspace }}/__deps/tbb-aarch64" >> "$GITHUB_ENV"
# TODO: Cache openBLAS
- name: Build openBLAS
run: |
.ci/env/openblas.sh
- name: Install compiler
if: matrix.os.cxx == 'clang'
run: .ci/env/apt.sh llvm-version 18
- name: System Info
run: .ci/scripts/describe_system.sh
- name: make daal
run: |
.ci/scripts/build.sh --compiler ${{ matrix.os.cxx }} --optimizations sve --target daal --backend-config ref --tbb-dir $TBBROOT --blas-dir ./__deps/openblas_aarch64
- name: make onedal_c
run: |
.ci/scripts/build.sh --compiler ${{ matrix.os.cxx }} --optimizations sve --target onedal_c --backend-config ref --tbb-dir $TBBROOT --blas-dir ./__deps/openblas_aarch64
- name: daal/cpp examples
run: |
echo "::warning::This step is designed to always pass, please look for more details"
# timeout added due to hanging enable_thread_pinning example, and should be removed when fixed
timeout 12m .ci/scripts/test.sh --test-kind examples --build-dir __release_lnx_${{ matrix.os.cxx }} --compiler ${{ matrix.os.cxx }} --interface daal/cpp --build-system cmake --backend ref || true
env:
CMAKE_GENERATOR: Ninja
- name: oneapi/cpp examples
run: |
echo "::warning::This step is designed to always pass, please look for more details"
.ci/scripts/test.sh --test-kind examples --build-dir __release_lnx_${{ matrix.os.cxx }} --compiler ${{ matrix.os.cxx }} --interface oneapi/cpp --build-system cmake --backend ref || true
env:
CMAKE_GENERATOR: Ninja
openrng-build-and-test:
strategy:
fail-fast: false
matrix:
os: [
{ name: GitHub hosted, label: ubuntu-24.04-arm, cxx: gnu }
]
name: LinuxMake${{ matrix.os.cxx }}_OpenBLAS(SVE)_OpenRNG_${{ matrix.os.name }}
runs-on: ${{ matrix.os.label }}
steps:
# Faster builds where possible. Fix version of CMake and Ninja.
# Note: This will create a github actions cache
- name: Get CMake and Ninja
uses: lukka/get-cmake@628dd514bed37cb0a609e84a6186cbbaa2fc0140 # v4.1.2
with:
cmakeVersion: 3.31.0
ninjaVersion: 1.12.0
- name: Checkout oneDAL
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Checkout oneTBB
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
repository: uxlfoundation/oneTBB
ref: ${{ env.TBB_VERSION }}
path: ${{ github.workspace }}/__work/onetbb-src
- name: Checkout openBLAS
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
repository: OpenMathLib/OpenBLAS
ref: ${{ env.OPENBLAS_VERSION }}
path: ${{ github.workspace }}/__work/openblas
- name: Build oneTBB
run: |
.ci/env/tbb.sh
echo "TBBROOT=${{ github.workspace }}/__deps/tbb-aarch64" >> "$GITHUB_ENV"
# TODO: Cache openBLAS
- name: Build openBLAS
run: |
.ci/env/openblas.sh
- name: Build openRNG
run: |
.ci/env/openrng.sh --version ${{ env.OPENRNG_VERSION }}
- name: System Info
run: .ci/scripts/describe_system.sh
- name: make daal
run: |
.ci/scripts/build.sh --compiler ${{ matrix.os.cxx }} --optimizations sve --target daal --backend-config ref --tbb-dir $TBBROOT --blas-dir ./__deps/openblas_aarch64 --use-openrng yes
- name: make onedal_c
run: |
.ci/scripts/build.sh --compiler ${{ matrix.os.cxx }} --optimizations sve --target onedal_c --backend-config ref --tbb-dir $TBBROOT --blas-dir ./__deps/openblas_aarch64 --use-openrng yes
- name: daal/cpp examples
run: |
echo "::warning::This step is designed to always pass, please check logs for more details"
# timeout added due to hanging enable_thread_pinning example, and should be removed when fixed
timeout 12m .ci/scripts/test.sh --test-kind examples --build-dir __release_lnx_${{ matrix.os.cxx }} --compiler ${{ matrix.os.cxx }} --interface daal/cpp --build-system cmake --backend ref --rng-backend openrng || true
env:
CMAKE_GENERATOR: Ninja
- name: oneapi/cpp examples
run: |
echo "::warning::This step is designed to always pass, please check logs for more details"
# excludes examples from EXCLUDE_LIST present in examples/daal/cpp/CMakeLists.txt
.ci/scripts/test.sh --test-kind examples --build-dir __release_lnx_${{ matrix.os.cxx }} --compiler ${{ matrix.os.cxx }} --interface oneapi/cpp --build-system cmake --backend ref --rng-backend openrng || true
env:
CMAKE_GENERATOR: Ninja
# This job adds a check named "CI AArch64" that represents overall
# workflow status and can be used in branch rulesets. This is useful when
# running a matrix CI, and allows changing the CI without needing to change
# the overall required check name.
status:
needs: [build-and-test, openrng-build-and-test]
runs-on: ubuntu-latest
name: "CI AArch64"
steps:
- name: Print success
run: echo Success