From 5f754d72a3b9920691f2452fe6aeeacde40fc164 Mon Sep 17 00:00:00 2001 From: Caleb Schilly <132086024+cwschilly@users.noreply.github.com> Date: Fri, 15 Dec 2023 08:08:06 -0800 Subject: [PATCH] #1: Add a Cuda build pipeline to CI (#2) * #1: add selfhosted runner * #1: build with j=10 * #1: specify architecture * #1: build vt without tests/examples, increase np * #1: fix syntax --- .github/workflows/ci-baseline-cuda.yml | 122 +++++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 .github/workflows/ci-baseline-cuda.yml diff --git a/.github/workflows/ci-baseline-cuda.yml b/.github/workflows/ci-baseline-cuda.yml new file mode 100644 index 0000000..7b37a2d --- /dev/null +++ b/.github/workflows/ci-baseline-cuda.yml @@ -0,0 +1,122 @@ +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_build_tools=OFF \ + -Dvt_trace_enabled=ON + + - name: Build vt + working-directory: vt + run: | + cmake --build builddir -j 14 --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 \ + -DKokkos_ARCH_AMPERE86=ON + + - name: Build kokkos + working-directory: kokkos + run: | + cmake --build builddir -j 14 --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 14 --target install \ No newline at end of file