From 0c07afd5e74a9190f5c5ddd4283e9d0b8e3490f3 Mon Sep 17 00:00:00 2001 From: Daniel Arndt Date: Sat, 25 Feb 2023 10:41:09 -0500 Subject: [PATCH] Add CI for Cuda+Clang --- .github/workflows/linux.yml | 83 +++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 3cec3fd54a..9423040ce1 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -216,6 +216,89 @@ jobs: make -j2 compile_test_executables + linux-debug-cuda-11-clang: + # simple parallel debug build using cuda-11 and clang + + name: linux debug cuda-11 clang + runs-on: [ubuntu-20.04] + + env: + CUDA_ROOT: /usr/local/cuda + + steps: + - uses: actions/checkout@v3 + - name: modules + run: | + wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin + sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600 + sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub + sudo add-apt-repository "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /" + sudo apt-get install -y software-properties-common + sudo add-apt-repository ppa:ginggs/deal.ii-9.4.0-backports + sudo apt-get update + sudo apt-get install -yq --no-install-recommends \ + cuda-toolkit-11-0 \ + libp4est-dev \ + libopenmpi-dev \ + llvm \ + numdiff \ + openmpi-bin \ + libboost-all-dev + - name: info + run: | + mpicc -v + cmake --version + - uses: actions/checkout@v3 + with: + repository: kokkos/kokkos + ref: 3.7.00 + path: kokkos + - name: compile and install kokkos + working-directory: kokkos + run: | + mkdir build + cd build + cmake -D BUILD_SHARED_LIBS=ON \ + -D CMAKE_CXX_COMPILER=clang++ \ + -D CMAKE_INSTALL_PREFIX=${GITHUB_WORKSPACE}/../kokkos-install \ + -D Kokkos_ENABLE_CUDA=ON \ + -D Kokkos_ARCH_VOLTA70=ON \ + .. + make install + - name: configure deal.II + run: | + mkdir build + cd build + cmake -D CMAKE_BUILD_TYPE=Debug \ + -D CMAKE_CXX_COMPILER=clang++ \ + -D DEAL_II_FORCE_BUNDLED_BOOST=ON \ + -D DEAL_II_CXX_FLAGS="-std=c++17" \ + -D DEAL_II_EARLY_DEPRECATIONS=ON \ + -D DEAL_II_WITH_CUDA="ON" \ + -D DEAL_II_WITH_KOKKOS="ON" \ + -D KOKKOS_DIR=${GITHUB_WORKSPACE}/../kokkos-install \ + -D DEAL_II_WITH_MPI="ON" \ + -D DEAL_II_MPI_WITH_DEVICE_SUPPORT="OFF" \ + -D DEAL_II_WITH_P4EST="ON" \ + -D DEAL_II_COMPONENT_EXAMPLES="ON" \ + .. + cat detailed.log + - name: archive detailed.log + uses: actions/upload-artifact@v3 + with: + name: linux-cuda-clang-detailed.log + path: build/detailed.log + - name: build deal.II + run: | + cd build + make VERBOSE=1 -j 2 + - name: build CUDA tests + run: | + cd build + make -j 2 setup_tests_cuda + cd tests/cuda + make -j2 compile_test_executables + linux-debug-intel-oneapi: # parallel debug build with Intel oneAPI including MPI and MKL # -- 2.39.5