Skip to content

Feature/gaugefield unity #102

Feature/gaugefield unity

Feature/gaugefield unity #102

name: cuda_ghactions_build
on:
pull_request:
branches: [ "develop" ]
defaults:
run:
shell: bash
env:
BUILD_TYPE: STRICT
CCACHE_COMPILERCHECK: content
jobs:
build:
strategy:
matrix:
compiler: [g++-12, clang++-14]
runs-on: ubuntu-latest
steps:
- name: Install software
run: |
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.0-1_all.deb
sudo dpkg -i cuda-keyring_1.0-1_all.deb
sudo apt-get update -y
sudo apt-get install -y --no-install-recommends ninja-build cmake libopenmpi-dev gfortran
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: cuda-compiler-12-1 cuda-libraries-dev-12-1 cuda-nvml-dev-12-1
execute_install_scripts: true
- uses: actions/checkout@v3
- name: Ccache for gh actions
uses: hendrikmuhs/[email protected]
with:
key: ${{ github.job }}-${{ matrix.compiler }}
max-size: 2000M
- name: Configure CMake
run: >
cmake
-DCMAKE_CUDA_COMPILER=/usr/local/cuda-12.1/bin/nvcc
-DCMAKE_CXX_COMPILER=${{matrix.compiler}}
-DCMAKE_CUDA_COMPILER_LAUNCHER=ccache
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
-DQUDA_GPU_ARCH=sm_80 -DQUDA_GPU_ARCH_SUFFIX=virtual -DQUDA_JITIFY=ON
-DQUDA_MULTIGRID=ON
-DQUDA_MULTIGRID_NVEC_LIST=24
-DQUDA_MDW_FUSED_LS_LIST=4
-DQUDA_MPI=ON -DMPI_CXX_SKIP_MPICXX=ON
-DQUDA_PRECISION=10 -DQUDA_FAST_COMPILE_DSLASH=ON -DQUDA_FAST_COMPILE_REDUCE=ON
-GNinja
-B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
- name: Build
run: cmake --build ${{github.workspace}}/build
- name: Install
run: cmake --install ${{github.workspace}}/build