Skip to content

Add sparse matrix to mp #1240

Add sparse matrix to mp

Add sparse matrix to mp #1240

Workflow file for this run

# SPDX-FileCopyrightText: Intel Corporation
#
# SPDX-License-Identifier: BSD-3-Clause
name: "PR Tests"
permissions: read-all
on:
push:
branches:
- main
pull_request:
env:
CTEST_OUTPUT_ON_FAILURE: 1
jobs:
checks:
runs-on: intel-ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: Ubuntu dependencies
run: scripts/install-doxygen.sh
- uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0
with:
python-version: '3.10'
cache: 'pip'
- name: Install python dependencies
run: pip install -r requirements.txt
- name: Run checkers
run: pre-commit run --all
# disabled due to DRA-163
# unit_tests:
# runs-on: gkpvc
# timeout-minutes: 30
# strategy:
# # test everything, even if one fails
# fail-fast: false
# matrix:
# include:
# # - cxx: icpx
# - cxx: g++
# name: ${{ matrix.cxx }}
# env:
# CXX: ${{ matrix.cxx }}
# steps:
# - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
# - name: Generate
# run: cmake -B build
# - name: Build
# run: make -C build -j
# - name: Unit tests
# run: ctest --test-dir build -L TESTLABEL -j 4
# - uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
# if: always()
# with:
# name: log-gcc-${{ env.CXX }}
# path: |
# build/Testing
# build/test/gtest/mp/*.log
# build/benchmarks/gbench/mp/*.log
# build/examples/mp/*.log
pvc_unit_tests:
# runs-on: gkpvc
runs-on: ubuntu-24.04
timeout-minutes: 120
strategy:
# test everything, even if one fails
fail-fast: false
matrix:
include:
# Disabled because it gets a timeout 1/2 the time
#- config: Debug
- config: Release
name: pvc-impi-icpx-${{ matrix.config }}
env:
CXX: icpx
FI_PROVIDER: tcp
steps:
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: Set up Intel APT repository
run: |
# https://www.intel.com/content/www/us/en/docs/oneapi/installation-guide-linux/2024-0/apt.html
wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \
| gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
sudo apt-get update -y
- name: Install oneAPI
run: sudo apt-get install intel-oneapi-compiler-dpcpp-cpp intel-oneapi-mkl-devel intel-hpckit -y
- name: Generate
run: |
. /opt/intel/oneapi/setvars.sh
cmake -B build -DCMAKE_BUILD_TYPE=${{ matrix.config }}
printenv > build/envdump.txt
# change this step to building just tests once unittest job is back
# - name: Build everything
# run: |
# . /opt/intel/oneapi/setvars.sh
# make -C build -j
- name: Build tests
run: |
. /opt/intel/oneapi/setvars.sh
cmake --build build --target all-tests -- -j 4
- name: Unit tests
# run: srun -p cluster scripts/run_command_on_compute_node.sh build/Testing/tests.outerr.txt ctest --test-dir build -L TESTLABEL -j 4
run: |
. /opt/intel/oneapi/setvars.sh
ctest --test-dir build --output-on-failure -L TESTLABEL -j 4
- uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
if: always()
with:
name: log-pvc-impi-icpx-${{ matrix.config }}
path: |
build/CMakeCache.txt
build/envdump.txt
build/Testing
build/test/gtest/mp/*.log
build/benchmarks/gbench/mp/*.log
build/examples/mp/*.log
build/test/gtest/sp/*.log
build/benchmarks/gbench/sp/*.log
build/examples/sp/*.log
# disabled due to DRA-164
# ishmem_unit_tests:
# runs-on: gkpvc
# timeout-minutes: 30
# strategy:
# # test everything, even if one fails
# fail-fast: false
# matrix:
# include:
# # Disabled because also gets a timeout
# # - config: Debug
# - config: Release
# name: ishmem-impi-icpx-${{ matrix.config }}
# env:
# CXX: icpx
# steps:
# - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
# - name: Generate
# run: cmake -B build -DCMAKE_BUILD_TYPE=${{ matrix.config }} -DENABLE_ISHMEM=on -DENABLE_L0=on -DENABLE_OFI=on -DOFI_PROVIDER=psm3 -DONETILE_PVC=on
# - name: Build ISHMEM
# run: cmake --build build --target shmem -- -j
# - name: Build MP tests
# run: cmake --build build --target mp-tests mp-tests-3 -- -j
# - name: MP unit tests
# # run: srun -p cluster scripts/run_command_on_compute_node.sh build/Testing/mptests.outerr.txt ctest --test-dir build -R ^mp-tests-sycl -L MP -j 4
# run: ctest --test-dir build -R ^mp-tests-sycl -L MP -j 4
# - uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
# if: always()
# with:
# name: log-ishmem-impi-icpx-${{ matrix.config }}
# path: |
# build/Testing
# build/test/gtest/mp/*.log
# build/benchmarks/gbench/mp/*.log
# build/examples/mp/*.log
package:
needs: []
runs-on: ubuntu-24.04
timeout-minutes: 10
permissions:
contents: write
env:
CXX: g++-13
steps:
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- run: |
echo "creating DEB package is going to be here"
publish:
# needs: [checks, unit_tests, pvc_unit_tests, ishmem_unit_tests]
needs: [checks, pvc_unit_tests]
runs-on: intel-ubuntu-latest
timeout-minutes: 10
permissions:
contents: write
env:
SPHINXOPTS: -q -W
if: ${{ github.ref == 'refs/heads/main' }}
steps:
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0
with:
python-version: '3.10'
cache: 'pip'
- run: pip install -r requirements.txt
- name: Ubuntu dependencies
run: scripts/install-doxygen.sh
- name: Build doc
run: |
make -C doc/spec html
- name: Checkout gh-pages
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
ref: gh-pages
path: gh-pages
- name: Publish to github pages
run: |
rm -rf gh-pages/spec gh-pages/doxygen
touch gh-pages/.nojekyll
cp -r doc/spec/build/html gh-pages/spec
cp -r doc/spec/build/doxygen-html gh-pages/doxygen
cd gh-pages
git config user.name github-actions
git config user.email [email protected]
git add .
# Ignore errors because no updates returns an error status.
git commit --reset-author --amend -m "Update from github actions"
git push --force origin gh-pages