Skip to content

optonal pcms

optonal pcms #693

Workflow file for this run

name: CMake Tests
on:
push:
schedule:
- cron: '12 14 * * 3'
jobs:
buildTest:
runs-on: ubuntu-22.04
defaults:
run:
shell: bash
strategy:
matrix:
build_type: [Release, RelWithDebInfo]
memory_test: [ON, OFF]
compiler: [g++]
language: ['cpp']
exclude:
- build_type: Release
memory_test: ON
- build_type: RelWithDebInfo
memory_test: OFF
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
- uses: actions/checkout@v4
- name: build kokkos
uses: ./.github/actions/install-repo
with:
repo-name: 'kokkos'
repo-path: 'kokkos/kokkos'
repo-ref: '4.6.01'
cache: true
options: '-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
-DKokkos_ENABLE_SERIAL=ON
-DKokkos_ENABLE_OPENMP=off
-DKokkos_ENABLE_CUDA=off
-DKokkos_ENABLE_IMPL_VIEW_LEGACY=ON
-DKokkos_ENABLE_CUDA_LAMBDA=off
-DKokkos_ENABLE_DEBUG=on'
- name: build omega_h
uses: ./.github/actions/install-repo
with:
repo-name: 'omega_h'
repo-path: 'SCOREC/omega_h'
repo-ref: ''
cache: true
options: '-DCMAKE_BUILD_TYPE=Release
-DBUILD_SHARED_LIBS=OFF
-DOmega_h_USE_Kokkos=ON
-DOmega_h_USE_CUDA=off
-DOmega_h_USE_MPI=on
-DMPIEXEC_EXECUTABLE=srun
-DBUILD_TESTING=off
-DCMAKE_C_COMPILER=mpicc
-DCMAKE_CXX_COMPILER=mpicxx
-DKokkos_PREFIX=${{ runner.temp }}/build-kokkos/install/lib/cmake'
- name: build Engpar
uses: ./.github/actions/install-repo
with:
repo-name: 'Engpar'
repo-path: 'SCOREC/EnGPar'
repo-ref: ''
cache: true
options: '-DCMAKE_C_COMPILER=mpicc
-DCMAKE_CXX_COMPILER=mpicxx
-DCMAKE_CXX_FLAGS="-std=c++11"
-DENABLE_PARMETIS=OFF
-DENABLE_PUMI=OFF
-DIS_TESTING=OFF'
- name: build cabana
uses: ./.github/actions/install-repo
with:
repo-name: 'cabana'
repo-path: 'ECP-copa/cabana'
repo-ref: '0.6.1'
cache: true
options: '-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_DISABLE_FIND_PACKAGE_HDF5=ON
-DCMAKE_PREFIX_PATH=${{ runner.temp }}/build-kokkos/install/lib/cmake'
- name: build kokkos-kernels
uses: ./.github/actions/install-repo
with:
repo-name: 'kokkos-kernels'
repo-path: 'kokkos/kokkos-kernels'
repo-ref: '4.6.01'
cache: true
options: '-DCMAKE_CXX_STANDARD=17
-DBUILD_SHARED_LIBS=OFF
-DKokkos_DIR=${{ runner.temp }}/build-kokkos/install/lib/cmake/Kokkos'
- name: build meshFields
uses: ./.github/actions/install-repo
with:
repo-name: 'meshFields'
repo-path: 'SCOREC/meshFields'
repo-ref: 'b1482bbba288df210784b2345eae08e34faabdc4'
cache: true
options: '-DCMAKE_CXX_COMPILER=`which mpicxx`
-DCMAKE_C_COMPILER=`which mpicc`
-DMPIEXEC_EXECUTABLE=`which mpirun`
-DKokkos_DIR=${{ runner.temp }}/build-kokkos/install/lib/cmake/Kokkos
-DOmega_h_DIR=${{ runner.temp }}/build-omega_h/install/lib/cmake/Omega_h'
- name: build perfstubs
uses: ./.github/actions/install-repo
with:
repo-name: 'perfstubs'
repo-path: 'UO-OACISS/perfstubs'
repo-ref: 'a1fa3feb1d89214e28047f166500351074b5f0c2'
cache: true
options: '-DCMAKE_CXX_COMPILER=mpicxx'
- name: build kokkos-fortran-interop
uses: ./.github/actions/install-repo
with:
repo-name: 'kokkos-fortran-interop'
repo-path: 'kokkos/kokkos-fortran-interop'
repo-ref: 'abae737ce1159c4d7a9165c5629e6f5e6ae91d87'
cache: true
options: '-DCMAKE_BUILD_TYPE=Release
-DCMAKE_CXX_COMPILER=`which mpicxx`
-DCMAKE_C_COMPILER=`which mpicc`
-DCMAKE_Fortran_COMPILER=`which mpifort`
-DBUILD_TESTING=OFF
-DFLCL_BUILD_TESTS=OFF
-DFLCL_BUILD_EXAMPLE=OFF
-DKokkos_DIR=${{ runner.temp }}/build-kokkos/install/lib/cmake/Kokkos'
- name: build ADIOS2
uses: ./.github/actions/install-repo
with:
repo-name: 'ADIOS2'
repo-path: 'ornladios/ADIOS2'
repo-ref: 'v2.10.2'
cache: true
options: '-DADIOS2_USE_CUDA=OFF'
- name: build redev
uses: ./.github/actions/install-repo
with:
repo-name: 'redev'
repo-path: 'SCOREC/redev'
repo-ref: 'ac09848a5f9b89493e8b679c9080b9efe5538376'
cache: true
options: '-DCMAKE_CXX_COMPILER=`which mpicxx`
-DMPIEXEC_EXECUTABLE=`which mpirun`
-DCMAKE_BUILD_TYPE=Release
-DBUILD_SHARED_LIBS=OFF
-DADIOS2_DIR=${{ runner.temp }}/build-ADIOS2/install/lib/cmake/adios2
-Dperfstubs_DIR=${{ runner.temp }}/build-perfstubs/install/lib/cmake'
- name: Install fftw3
run: sudo apt-get install -yq libfftw3-dev pkg-config
- name: checkout pcms_testcases
uses: actions/checkout@v3
with:
repository: jacobmerson/pcms_testcases
path: pcms_testcases
- name: build pcms
uses: ./.github/actions/install-repo
with:
repo-name: 'pcms'
repo-path: 'SCOREC/pcms'
repo-ref: '4b726ed4a2595ad0347a2db865b160c8bc3b7602'
cache: true
options: '-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
-DCMAKE_C_COMPILER=`which mpicc`
-DCMAKE_CXX_COMPILER=`which mpicxx`
-DCMAKE_Fortran_COMPILER=`which mpifort`
-DMPIEXEC_PREFLAGS="--oversubscribe"
-DPCMS_TIMEOUT=10
-DPCMS_ENABLE_SPDLOG=OFF
-DBUILD_TESTING=ON
-DOmega_h_DIR=${{ runner.temp }}/build-omega_h/install/lib/cmake/Omega_h
-Dmeshfields_DIR=${{ runner.temp }}/build-meshFields/install/lib/cmake/meshfields
-Dredev_DIR=${{ runner.temp }}/build-redev/install/lib/cmake/redev
-Dflcl_DIR=${{ runner.temp }}/build-kokkos-fortran-interop/install/lib/cmake/flcl
-DMPIEXEC_EXECUTABLE=`which mpirun`
-DADIOS2_DIR=${{ runner.temp }}/build-ADIOS2/install/lib/cmake/adios2
-Dperfstubs_DIR=${{ runner.temp }}/build-perfstubs/install/lib/cmake
-DKokkos_DIR=${{ runner.temp }}/build-kokkos/install/lib/cmake/Kokkos
-DKokkosKernels_DIR=${{ runner.temp }}/build-kokkos-kernels/install/lib/cmake/KokkosKernels/
-DPCMS_TEST_DATA_DIR=$PWD/pcms_testcases'
- name: build pumi-pic
uses: ./.github/actions/install-repo
with:
repo-name: 'pumi-pic'
repo-path: 'SCOREC/pumi-pic'
submodules: 'recursive'
repo-ref: ''
cache: false
options: '-DCMAKE_CXX_COMPILER=mpicxx
-DIS_TESTING=ON
-DPS_IS_TESTING=ON
-DPP_ENABLE_MEMCHECK=${{ matrix.memory_test }}
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
-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
-Dpcms_PREFIX=${{ runner.temp }}/build-pcms/install
-DENABLE_CABANA=on
-DENABLE_PCMS=on
-DCMAKE_PREFIX_PATH=${{ runner.temp }}/build-kokkos/install/lib/cmake'
- name: PUMI-PIC Test
if: ${{matrix.memory_test == 'OFF'}}
run: ctest --test-dir ${{ runner.temp }}/build-pumi-pic
- name: PUMI-PIC Test
if: ${{matrix.memory_test == 'ON'}}
run: ctest -E "medium|large|120" --test-dir ${{ runner.temp }}/build-pumi-pic
- name: PUMI-PIC Print
if: always()
run: cat ${{ runner.temp }}/build-pumi-pic/Testing/Temporary/LastTest.log