Skip to content

#1: Add a Cuda build pipeline to CI #2

#1: Add a Cuda build pipeline to CI

#1: Add a Cuda build pipeline to CI #2

name: ci-baseline-cuda
on:
pull_request:
types: [ opened, reopened, synchronize ]
push:
branches:
- 'main'
concurrency:
group: ${{ github.event_name }}-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
CI:
name: baseline
continue-on-error: false
strategy:
fail-fast: false
matrix:
image:
- nvidia/cuda:11.4.3-devel-ubuntu20.04
build_type:
- Release
- Debug
runs-on: self-hosted
container:
image: ${{ matrix.image }}
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
apt update \
&& DEBIAN_FRONTEND="noninteractive" apt install -y \
bzip2 \
git \
gpg \
gpgconf \
libmpich-dev \
libncurses5-dev \
libsigsegv-dev \
libsigsegv2 \
m4 \
perl \
pkg-config \
python3 \
python3-distutils \
python3-pip \
software-properties-common \
wget \
xz-utils \
zip \
zlib1g \
zlib1g-dev \
&& wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null \
&& echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal main' | tee /etc/apt/sources.list.d/kitware.list >/dev/null \
&& apt update \
&& DEBIAN_FRONTEND="noninteractive" apt install -y \
cmake-data=3.26.4-0kitware1ubuntu20.04.1 \
cmake=3.26.4-0kitware1ubuntu20.04.1 \
&& rm -rf /var/lib/apt/lists/*
- name: Checkout vt
uses: actions/checkout@v4
with:
repository: DARMA-tasking/vt
path: vt
- name: Checkout magistrate
uses: actions/checkout@v4
with:
repository: DARMA-tasking/magistrate
path: vt/lib/checkpoint
- name: Checkout kokkos
uses: actions/checkout@v4
with:
repository: kokkos/kokkos
path: kokkos
ref: develop
- name: Configure vt
working-directory: vt
run: |
cmake -B builddir \
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
-DVT_BUILD_EXAMPLES=OFF \
-DVT_BUILD_TESTS=OFF \
-Dvt_trace_enabled=ON
- name: Build vt
working-directory: vt
run: |
cmake --build builddir -j 12 --target install
- name: Configure kokkos
working-directory: kokkos
run: |
cmake -B builddir \
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
-DKokkos_ENABLE_CUDA=ON \
-DKokkos_ENABLE_CUDA_LAMBDA=ON
- name: Build kokkos
working-directory: kokkos
run: |
cmake --build builddir -j 12 --target install
- name: Configure distBVH
run: |
cmake -B builddir \
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
-DBVH_ENABLE_CUDA=ON
- name: Build distBVH
run: |
cmake --build builddir -j 12 --target install