bump to 0.4.1 #658
Workflow file for this run
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: CI | |
on: | |
push: | |
pull_request: | |
branches: | |
- master | |
jobs: | |
build-all: | |
name: "Build GHEX and run unit tests" | |
runs-on: ubuntu-latest | |
container: ${{ matrix.config.container }} | |
strategy: | |
matrix: | |
config: | |
- { | |
name: "cpu-gcc-mpi-atlas-parmetis", | |
container: "ghcr.io/gridtools/gridtools-base:gcc-9-ucx-mpi-atlas-parmetis", | |
cc: "gcc", | |
cxx: "g++", | |
fortran: "ON", | |
gpu: "OFF", | |
gpu_type: "AUTO", | |
run: "ON", | |
atlas: "ON", | |
parmetis: "ON", | |
backend: "MPI", | |
} | |
- { | |
name: "cpu-gcc-ucx-atlas-parmetis", | |
container: "ghcr.io/gridtools/gridtools-base:gcc-9-ucx-mpi-atlas-parmetis", | |
cc: "gcc", | |
cxx: "g++", | |
fortran: "ON", | |
gpu: "OFF", | |
gpu_type: "AUTO", | |
run: "ON", | |
atlas: "ON", | |
parmetis: "ON", | |
backend: "UCX", | |
} | |
- { | |
name: "cpu-clang-mpi-atlas-parmetis", | |
container: "ghcr.io/gridtools/gridtools-base:gcc-9-ucx-mpi-atlas-parmetis-hip", | |
cc: "/opt/rocm/llvm/bin/clang", | |
cxx: "/opt/rocm/llvm/bin/clang++", | |
fortran: "OFF", | |
gpu: "OFF", | |
gpu_type: "AUTO", | |
run: "ON", | |
atlas: "ON", | |
parmetis: "ON", | |
backend: "MPI", | |
} | |
- { | |
name: "cpu-clang-ucx-atlas-parmetis", | |
container: "ghcr.io/gridtools/gridtools-base:gcc-9-ucx-mpi-atlas-parmetis-hip", | |
cc: "/opt/rocm/llvm/bin/clang", | |
cxx: "/opt/rocm/llvm/bin/clang++", | |
fortran: "OFF", | |
gpu: "OFF", | |
gpu_type: "AUTO", | |
run: "ON", | |
atlas: "ON", | |
parmetis: "ON", | |
backend: "UCX", | |
} | |
- { | |
name: "gpu-hip-mpi-atlas-parmetis", | |
container: "ghcr.io/gridtools/gridtools-base:gcc-9-ucx-mpi-atlas-parmetis-hip", | |
cc: "/opt/rocm/llvm/bin/clang", | |
cxx: "/opt/rocm/llvm/bin/clang++", | |
fortran: "OFF", | |
gpu: "ON", | |
gpu_type: "AMD", | |
run: "OFF", | |
atlas: "ON", | |
parmetis: "ON", | |
backend: "MPI", | |
} | |
- { | |
name: "gpu-cuda-mpi-atlas-parmetis", | |
container: "ghcr.io/gridtools/gridtools-base:gcc-9-ucx-mpi-atlas-parmetis-cuda-11", | |
cc: "gcc", | |
cxx: "g++", | |
fortran: "ON", | |
gpu: "ON", | |
gpu_type: "NVIDIA", | |
run: "OFF", | |
atlas: "ON", | |
parmetis: "ON", | |
backend: "MPI", | |
} | |
env: | |
CC: ${{ matrix.config.cc }} | |
CXX: ${{ matrix.config.cxx }} | |
GHEX_USE_GPU: ${{ matrix.config.gpu }} | |
GHEX_GPU_TYPE: ${{ matrix.config.gpu_type }} | |
eckit_DIR: ${{ matrix.eckit }} | |
Atlas_DIR: ${{ matrix.atlas }} | |
SHLVL: "1" | |
OMPI_ALLOW_RUN_AS_ROOT: "1" | |
OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: "1" | |
CTEST_OUTPUT_ON_FAILURE: "1" | |
UCX_DIR: "/opt/ucx" | |
#ECKIT_DIR: "/opt/eckit" | |
#ATLAS_DIR: "/opt/atlas" | |
METIS_INCLUDE_DIR: "/opt/metis/include" | |
METIS_LIB_DIR: "/opt/metis/lib" | |
PARMETIS_INCLUDE_DIR: "/opt/parmetis/include" | |
PARMETIS_LIB_DIR: "/opt/parmetis/lib" | |
steps: | |
- name: Install packages | |
run: | | |
apt update | |
apt-get -y install python3-dev python3-venv python3-pybind11 ninja-build | |
- name: Clone w/ submodules | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Configure | |
run: | | |
mkdir -p build | |
cd build | |
cmake .. \ | |
-GNinja \ | |
-DCMAKE_BUILD_TYPE=Debug \ | |
-DGHEX_GIT_SUBMODULE=OFF \ | |
-DGHEX_USE_BUNDLED_LIBS=ON \ | |
-DGHEX_USE_BUNDLED_GRIDTOOLS=ON \ | |
-DUCX_DIR=${UCX_DIR} \ | |
-DGHEX_TRANSPORT_BACKEND=${{ matrix.config.backend }} \ | |
-DGHEX_USE_BUNDLED_OOMPH=ON \ | |
-DGHEX_WITH_TESTING=ON \ | |
-DGHEX_BUILD_PYTHON_BINDINGS=ON \ | |
-DGHEX_BUILD_FORTRAN=${{ matrix.config.fortran }} \ | |
-DGHEX_ENABLE_ATLAS_BINDINGS=${{ matrix.config.atlas }} \ | |
-DGHEX_ENABLE_PARMETIS_BINDINGS=${{ matrix.config.parmetis }} \ | |
-DMETIS_INCLUDE_DIR=${METIS_INCLUDE_DIR} \ | |
-DMETIS_LIB_DIR=${METIS_LIB_DIR} \ | |
-DPARMETIS_INCLUDE_DIR=${PARMETIS_INCLUDE_DIR} \ | |
-DPARMETIS_LIB_DIR=${PARMETIS_LIB_DIR} \ | |
-DMPIEXEC_PREFLAGS=--oversubscribe \ | |
-DGHEX_USE_GPU=${{ matrix.config.gpu }} \ | |
-DGHEX_GPU_TYPE=${{ matrix.config.gpu_type }} | |
- name: Build | |
run: cmake --build build --parallel 4 | |
- if: ${{ matrix.config.run == 'ON' }} | |
name: Execute tests | |
run: cd build && ctest | |