Skip to content

ci: debug build

ci: debug build #24

name: Linux-CompileOnly
on: push
jobs:
Kokkos-master-OpenMPI416-CUDA11430-Release:
runs-on: ubuntu-latest
container:
image: nvidia/cuda:11.7.1-devel-ubuntu22.04
env:
KOKKOS_SRC: ${{ github.workspace }}/_deps/kokkos
KOKKOS_BUILD: ${{ github.workspace }}/_deps/kokkos-build
KOKKOS_INSTALL: ${{ github.workspace }}/_deps/kokkos-install
COMM_SRC: ${{ github.workspace }}
COMM_BUILD: ${{ github.workspace }}/build
timeout-minutes: 20
steps:
- name: Create workspace
run: mkdir -p ${{ github.workspace }}
- name: Check out repository code
uses: actions/checkout@v4
# inside the container, GITHUB_WORKSPACE is something like /__w/... which is not the same as ${{github.workspace}}
- name: Move repository code to expected location
shell: bash
run: |
shopt -s dotglob && mv "$GITHUB_WORKSPACE"/* ${{ github.workspace }}
- name: DEBUG - list
run: |
echo 1 && pwd
echo 2 && ls
echo 3 && ls ${{ github.workspace }}
- name: Install packages
run: |
apt-get update && apt-get install -y cmake wget git
- name: Download MPI
run: |
wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.6.tar.bz2
tar -xf openmpi-4.1.6.tar.bz2
- name: Configure MPI
run: cd openmpi-4.1.6 && ./configure --prefix=/usr/local --with-cuda=/usr/local/cuda
- name: Build MPI
run: cd openmpi-4.1.6 && make -j$(nproc)
- name: Install MPI
run: |
cd openmpi-4.1.6 && make all install
ldconfig
- name: Check MPI in path
run: |
which mpirun
mpirun --version
which mpicxx
mpicxx --version
- name: Check MPI CUDA support
run: ompi_info --parsable --all | grep mpi_built_with_cuda_support:value:true
- name: Build Kokkos
run: |
git clone https://github.com/kokkos/kokkos.git --branch master --depth 1 "$KOKKOS_SRC"
cmake -S "$KOKKOS_SRC" -B "$KOKKOS_BUILD" -DCMAKE_CXX_COMPILER="$KOKKOS_SRC/bin/nvcc_wrapper" -DCMAKE_INSTALL_PREFIX="$KOKKOS_INSTALL" -DCMAKE_BUILD_TYPE=Release -DKokkos_ENABLE_SERIAL=ON -DKokkos_ENABLE_CUDA=ON -DKokkos_ARCH_AMPERE80=ON
cmake --build "$KOKKOS_BUILD" --parallel $(nproc) -t install
- name: Build KokkosComm
run: |
cmake -S "$COMM_SRC" -B "$COMM_BUILD" -DCMAKE_CXX_COMPILER="$KOKKOS_SRC/bin/nvcc_wrapper" -DKokkos_ROOT="$KOKKOS_INSTALL" -DCMAKE_BUILD_TYPE=Release
VERBOSE=1 cmake --build "$COMM_BUILD"