Skip to content

Tpetra distributed multivector vector wrappers + skeleton for future distributed vectors + Nested Parallelism Update #202

Tpetra distributed multivector vector wrappers + skeleton for future distributed vectors + Nested Parallelism Update

Tpetra distributed multivector vector wrappers + skeleton for future distributed vectors + Nested Parallelism Update #202

Workflow file for this run

name: CMake
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
#env:
# # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
# BUILD_TYPE: Debug
jobs:
# This workflow contains a single job called "build"
build:
#
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: false
matrix:
config:
- {name: "Ubuntu_Latest_GCC_SERIAL", os: ubuntu-latest, build_type: "Debug", cc: "gcc", cxx: "g++", matar_config_args: "", kokkos_config_args: ""}
- {name: "Ubuntu_Latest_GCC_KOKKOS_SERIAL", os: ubuntu-latest, build_type: "Debug", cc: "gcc", cxx: "g++", matar_config_args: "-DKOKKOS=ON", kokkos_config_args: "-DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DKokkos_ENABLE_SERIAL=ON -DKokkos_ENABLE_TESTS=OFF -DBUILD_TESTING=OFF"}
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Checkout submodules
run: git submodule update --init --recursive
# Kokkos configure, build, and install------------------------------------------
- if: contains(matrix.config.name, 'KOKKOS')
name: Configure Kokkos CMake
shell: bash
run: |
cmake \
-S ${{ github.workspace }}/src/Kokkos/kokkos \
-B ${{ github.workspace }}/build-kokkos-serial/kokkos \
-D CMAKE_INSTALL_PREFIX=${{ github.workspace }}/build-kokkos-serial/kokkos \
${{ matrix.config.kokkos_config_args }}
- if: contains(matrix.config.name, 'KOKKOS')
name: Build Kokkos
shell: bash
run: cmake --build ${{ github.workspace }}/build-kokkos-serial/kokkos
- if: contains(matrix.config.name, 'KOKKOS')
name: Install Kokkos
shell: bash
run: cmake --install ${{ github.workspace }}/build-kokkos-serial/kokkos
# End Kokkos configure, build, and install------------------------------------------
# MATAR configure and build------------------------------------------
- if: false == contains(matrix.config.name, 'KOKKOS')
name: Configure MATAR CMake Without Kokkos
shell: bash
run: |
cmake \
-B ${{ github.workspace }}/build-kokkos-serial/matar \
-DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} \
${{ matrix.config.matar_config_args }}
- if: contains(matrix.config.name, 'KOKKOS')
name: Configure MATAR CMake With Kokkos
shell: bash
run: |
cmake \
-B ${{ github.workspace }}/build-kokkos-serial/matar \
-DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} \
${{ matrix.config.matar_config_args }} \
-DKokkos_DIR=${{ github.workspace }}/build-kokkos-serial/kokkos/lib/cmake/Kokkos
- name: Build MATAR
shell: bash
run: cmake --build ${{github.workspace}}/build-kokkos-serial/matar
# End MATAR configure and build------------------------------------------
#- name: Test
# working-directory: ${{github.workspace}}/build
# # Execute tests defined by the CMake configuration.
# # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
# run: ctest -C ${{env.BUILD_TYPE}}