Follow on to #86 #790
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: cuda | |
on: [push, pull_request] | |
concurrency: | |
group: ${{ github.ref }}-${{ github.head_ref }}-cuda | |
cancel-in-progress: true | |
jobs: | |
# Build ExaEpi with CUDA 11.0.2 (minimum supported) | |
build-cuda11: | |
name: [email protected] [email protected] C++17 Release | |
runs-on: ubuntu-20.04 | |
env: {CXXFLAGS: "-fno-operator-names -Werror -Wall -Wextra -Wpedantic -Wnull-dereference -Wfloat-conversion -Wshadow -Woverloaded-virtual -Wextra-semi -Wunreachable-code -Wnon-virtual-dtor -Wlogical-op -Wmisleading-indentation -Wduplicated-cond -Wduplicated-branches"} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Dependencies | |
run: .github/workflows/dependencies/dependencies_nvcc11.sh | |
- name: Build & Install | |
run: | | |
export PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:${PATH} | |
export LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib64:${LD_LIBRARY_PATH} | |
which nvcc || echo "nvcc not in PATH!" | |
cmake -S . -B build \ | |
-DCMAKE_VERBOSE_MAKEFILE=ON \ | |
-DAMReX_GPU_BACKEND=CUDA \ | |
-DCMAKE_C_COMPILER=$(which gcc) \ | |
-DCMAKE_CXX_COMPILER=$(which g++) \ | |
-DCMAKE_CUDA_HOST_COMPILER=$(which g++) \ | |
-DCMAKE_CUDA_STANDARD=17 \ | |
-DCMAKE_CXX_STANDARD=17 \ | |
-DAMReX_CUDA_ARCH=8.0 \ | |
-DAMReX_CUDA_ERROR_CROSS_EXECUTION_SPACE_CALL=ON \ | |
-DAMReX_CUDA_ERROR_CAPTURE_THIS=ON | |
cmake --build build -j 2 | |
# Build ExaEpi with NVHPC (recent supported) | |
build-nvhpc21-11-nvcc: | |
name: [email protected] NVCC/NVC++ C++17 Release | |
runs-on: ubuntu-20.04 | |
env: {CXXFLAGS: "-Werror -Wall -Wextra -Wpedantic -Wshadow"} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Dependencies | |
run: .github/workflows/dependencies/dependencies_nvhpc21-11.sh | |
- name: Build & Install | |
run: | | |
source /etc/profile.d/modules.sh | |
module load /opt/nvidia/hpc_sdk/modulefiles/nvhpc/21.11 | |
export HDF5_ROOT=/usr/lib/x86_64-linux-gnu/hdf5/openmpi | |
which nvcc || echo "nvcc not in PATH!" | |
which nvc++ || echo "nvc++ not in PATH!" | |
which nvc || echo "nvc not in PATH!" | |
nvcc --version | |
nvc++ --version | |
nvc --version | |
cmake --version | |
cmake -S . -B build \ | |
-DCMAKE_VERBOSE_MAKEFILE=ON \ | |
-DAMReX_GPU_BACKEND=CUDA \ | |
-DCMAKE_C_COMPILER=$(which nvc) \ | |
-DCMAKE_CXX_COMPILER=$(which nvc++) \ | |
-DCMAKE_CUDA_HOST_COMPILER=$(which nvc++) \ | |
-DCMAKE_CUDA_STANDARD=17 \ | |
-DCMAKE_CXX_STANDARD=17 \ | |
-DAMReX_CUDA_ARCH=8.0 \ | |
-DAMReX_CUDA_ERROR_CROSS_EXECUTION_SPACE_CALL=ON \ | |
-DAMReX_CUDA_ERROR_CAPTURE_THIS=ON | |
cmake --build build -j 2 |