New Regualization method with dual cell triangle involved #539
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build-test | |
on: | |
push: | |
schedule: | |
- cron: '12 14 * * 3' | |
jobs: | |
buildTest: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: bash | |
strategy: | |
matrix: | |
build_type: [RelWithDebInfo] | |
compiler: [g++] | |
language: ['cpp'] | |
steps: | |
- name: Update packages | |
run: sudo apt-get update | |
- name: Install mpi | |
run: sudo apt-get install -yq mpich libmpich-dev | |
- name: Install Valgrind | |
run: sudo apt-get install -yq valgrind | |
- name: Install NetCDF-Fortran | |
run: sudo apt-get install libnetcdff-dev | |
# Build Kokkos | |
- name: Cache Kokkos Build | |
uses: actions/cache@v3 | |
id: build-kokkos | |
with: | |
key: build-kokkos | |
path: ${{ runner.temp }}/build-kokkos | |
- name: Kokkos Checkout repo | |
if: ${{ steps.build-kokkos.outputs.cache-hit != 'true' }} | |
uses: actions/checkout@v3 | |
with: | |
repository: kokkos/kokkos | |
ref: 4.1.00 | |
path: kokkos | |
- name: Kokkos Create Directory | |
if: ${{ steps.build-kokkos.outputs.cache-hit != 'true' }} | |
run: cmake -E make_directory ${{ runner.temp }}/build-kokkos | |
- name: Kokkos Configure CMake | |
if: ${{ steps.build-kokkos.outputs.cache-hit != 'true' }} | |
run: cmake -S $GITHUB_WORKSPACE/kokkos -B ${{ runner.temp }}/build-kokkos | |
-DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/build-kokkos/install | |
-DCMAKE_CXX_COMPILER=${{ matrix.compiler }} | |
-DKokkos_ENABLE_SERIAL=ON | |
-DKokkos_ENABLE_OPENMP=off | |
-DKokkos_ENABLE_CUDA=off | |
-DKokkos_ENABLE_CUDA_LAMBDA=off | |
-DKokkos_ENABLE_DEBUG=on | |
- name: Kokkos Build | |
if: ${{ steps.build-kokkos.outputs.cache-hit != 'true' }} | |
run: cmake --build ${{ runner.temp }}/build-kokkos -j8 --target install | |
# Build EnGPar | |
- name: Cache Engpar Build | |
uses: actions/cache@v3 | |
id: build-engpar | |
with: | |
key: build-engpar | |
path: ${{ runner.temp }}/build-engpar | |
- name: EnGPar Checkout repo | |
if: ${{ steps.build-engpar.outputs.cache-hit != 'true' }} | |
uses: actions/checkout@v3 | |
with: | |
repository: SCOREC/EnGPar | |
path: engpar | |
- name: EnGPar Create Directory | |
if: ${{ steps.build-engpar.outputs.cache-hit != 'true' }} | |
run: cmake -E make_directory ${{ runner.temp }}/build-engpar | |
- name: EnGPar Configure CMake | |
if: ${{ steps.build-engpar.outputs.cache-hit != 'true' }} | |
run: cmake -S $GITHUB_WORKSPACE/engpar -B ${{ runner.temp }}/build-engpar | |
-DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/build-engpar/install | |
-DCMAKE_C_COMPILER="mpicc" | |
-DCMAKE_CXX_COMPILER="mpicxx" | |
-DCMAKE_CXX_FLAGS="-std=c++11" | |
-DENABLE_PARMETIS=OFF | |
-DENABLE_PUMI=OFF | |
-DIS_TESTING=OFF | |
- name: EnGPar Build | |
if: ${{ steps.build-engpar.outputs.cache-hit != 'true' }} | |
run: cmake --build ${{ runner.temp }}/build-engpar -j8 --target install | |
# Build Omega_h | |
- name: Cache Omega_h Build | |
uses: actions/cache@v3 | |
id: build-omega_h | |
with: | |
key: build-omega_h | |
path: ${{ runner.temp }}/build-omega_h | |
- name: Omega_h Checkout repo | |
if: ${{ steps.build-omega_h.outputs.cache-hit != 'true' }} | |
uses: actions/checkout@v3 | |
with: | |
repository: SCOREC/omega_h | |
ref: scorec-v10.8.0 | |
path: omega_h | |
- name: Omega_h Create Directory | |
if: ${{ steps.build-omega_h.outputs.cache-hit != 'true' }} | |
run: cmake -E make_directory ${{ runner.temp }}/build-omega_h | |
- name: Omega_h Configure CMake | |
if: ${{ steps.build-omega_h.outputs.cache-hit != 'true' }} | |
run: cmake -S $GITHUB_WORKSPACE/omega_h -B ${{ runner.temp }}/build-omega_h | |
-DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/build-omega_h/install | |
-DCMAKE_PREFIX_PATH=${{ runner.temp }}/build-kokkos/install/lib/cmake | |
-DBUILD_SHARED_LIBS=OFF | |
-DOmega_h_USE_Kokkos=ON | |
-DOmega_h_USE_CUDA=off | |
-DOmega_h_USE_MPI=on | |
-DCMAKE_BUILD_TYPE=Release | |
-DBUILD_TESTING=on | |
-DCMAKE_CXX_COMPILER="mpicxx" | |
-DCMAKE_C_COMPILER="mpicc" | |
- name: Omega_h Build | |
if: ${{ steps.build-omega_h.outputs.cache-hit != 'true' }} | |
run: cmake --build ${{ runner.temp }}/build-omega_h -j8 --target install | |
# Build Cabana | |
- name: Cache Cabana Build | |
uses: actions/cache@v3 | |
id: build-cabana | |
with: | |
key: build-cabana | |
path: ${{ runner.temp }}/build-cabana | |
- name: Cabana Checkout repo | |
if: ${{ steps.build-cabana.outputs.cache-hit != 'true' }} | |
uses: actions/checkout@v3 | |
with: | |
repository: ECP-copa/cabana | |
ref: 0.6.1 | |
path: cabana | |
- name: Cabana Create Directory | |
if: ${{ steps.build-cabana.outputs.cache-hit != 'true' }} | |
run: cmake -E make_directory ${{ runner.temp }}/build-cabana | |
- name: Cabana Configure CMake | |
if: ${{ steps.build-cabana.outputs.cache-hit != 'true' }} | |
run: cmake -S $GITHUB_WORKSPACE/cabana -B ${{ runner.temp }}/build-cabana | |
-DCMAKE_BUILD_TYPE="Release" | |
-DCMAKE_DISABLE_FIND_PACKAGE_HDF5=ON | |
-DCMAKE_CXX_COMPILER=${{ matrix.compiler }} | |
-DCMAKE_PREFIX_PATH=${{ runner.temp }}/build-kokkos/install/lib/cmake | |
-DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/build-cabana/install | |
- name: Cabana Build | |
if: ${{ steps.build-cabana.outputs.cache-hit != 'true' }} | |
run: cmake --build ${{ runner.temp }}/build-cabana -j8 --target install | |
# Build PUMI-PIC | |
- name: Cache PUMI-PIC Build | |
uses: actions/cache@v3 | |
id: build-pumi-pic | |
with: | |
key: build-pumi-pic | |
path: ${{ runner.temp }}/build-pumi-pic | |
- name: PUMI-PIC Checkout repo | |
if: ${{ steps.build-pumi-pic.outputs.cache-hit != 'true' }} | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
repository: SCOREC/pumi-pic | |
ref: 2.0.3 | |
path: pumi-pic | |
- name: PUMI-PIC Create Directory | |
if: ${{ steps.build-pumi-pic.outputs.cache-hit != 'true' }} | |
run: cmake -E make_directory ${{ runner.temp }}/build-pumi-pic | |
- name: PUMI-PIC Configure CMake | |
if: ${{ steps.build-pumi-pic.outputs.cache-hit != 'true' }} | |
run: cmake -S $GITHUB_WORKSPACE/pumi-pic -B ${{ runner.temp }}/build-pumi-pic | |
-DCMAKE_CXX_COMPILER=mpicxx | |
-DIS_TESTING=ON | |
-DPS_IS_TESTING=ON | |
-DCMAKE_BUILD_TYPE="Release" | |
-DTEST_DATA_DIR=$GITHUB_WORKSPACE/pumi-pic/pumipic-data | |
-DOmega_h_PREFIX=${{ runner.temp }}/build-omega_h/install | |
-DKokkos_PREFIX=${{ runner.temp }}/build-kokkos/install | |
-DEnGPar_PREFIX=${{ runner.temp }}/build-engpar/install | |
-DCabana_PREFIX=${{ runner.temp }}/build-cabana/install | |
-DENABLE_CABANA=on | |
-DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/build-pumi-pic/install | |
-DCMAKE_PREFIX_PATH=${{ runner.temp }}/build-kokkos/install/lib/cmake | |
- name: PUMI-PIC Build | |
if: ${{ steps.build-pumi-pic.outputs.cache-hit != 'true' }} | |
run: cmake --build ${{ runner.temp }}/build-pumi-pic -j8 --target install | |
# Build PolyMPO | |
- name: PolyMPO Checkout repo | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
repository: SCOREC/polyMPO | |
path: polyMPO | |
- name: PolyMPO Create Directory | |
run: cmake -E make_directory ${{ runner.temp }}/build-polyMPO | |
- name: PolyMPO Configure CMake | |
run: cmake -S $GITHUB_WORKSPACE/polyMPO -B ${{ runner.temp }}/build-polyMPO | |
-DCMAKE_BUILD_TYPE="Debug" | |
-DKokkos_DIR=${{ runner.temp }}/build-kokkos/install/lib64/cmake/Kokkos | |
-DCMAKE_PREFIX_PATH=${{ runner.temp }}/build-pumi-pic/install | |
-DIS_TESTING=on | |
-DCMAKE_CXX_COMPILER=mpicxx | |
-DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/build-polyMPO/install | |
- name: PolyMPO Build | |
run: cmake --build ${{ runner.temp }}/build-polyMPO -j8 --target install | |
- name: PolyMPO Test | |
run: ctest --test-dir ${{ runner.temp }}/build-polyMPO | |
- name: PolyMPO Print | |
if: always() | |
run: cat ${{ runner.temp }}/build-polyMPO/Testing/Temporary/LastTest.log |