optonal pcms #693
This file contains hidden or 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: 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 | |