Skip to content

Implementing hierarchical distributor #232

Implementing hierarchical distributor

Implementing hierarchical distributor #232

Workflow file for this run

# SPDX-FileCopyrightText: 2025 QDX Technologies. Authored by Ryan Stocks <ryan.stocks00@gmail.com>
# SPDX-License-Identifier: Apache-2.0
---
name: Linux Intel
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
env:
CMAKE_CXX_STANDARD: 20
CMAKE_VERBOSE_MAKEFILE: ON
jobs:
linux-intel:
runs-on: ubuntu-latest
timeout-minutes: 10
strategy:
matrix:
build-type: [Debug, Release]
steps:
- uses: actions/checkout@v4
- name: Install Intel oneAPI
shell: bash
run: |
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
sudo apt-get install -y intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic intel-oneapi-mpi-devel
echo "MPI_TYPE=Intel MPI" >> $GITHUB_ENV
- name: Configure CMake with Intel
shell: bash
run: |
source /opt/intel/oneapi/setvars.sh
cmake -B build \
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \
-DCMAKE_C_COMPILER=icx \
-DCMAKE_CXX_COMPILER=icpx \
-DDYNAMPI_BUILD_TESTS=ON \
-DDYNAMPI_BUILD_BENCHMARKS=ON \
-DDYNAMPI_MAX_MPI_RANK=8
- name: Build with Intel
shell: bash
run: |
source /opt/intel/oneapi/setvars.sh
cmake --build build --config ${{ matrix.build-type }} --parallel
- name: Test with Intel
shell: bash
run: |
source /opt/intel/oneapi/setvars.sh
cd build
echo "Testing with $MPI_TYPE"
export DYNAMPI_MAX_MPI_RANK=8
ctest --output-on-failure -j 1 --timeout 180 -C ${{ matrix.build-type }}