Skip to content

Test: Compile deal.II with clang++-19 without Kokkos. #1627

Test: Compile deal.II with clang++-19 without Kokkos.

Test: Compile deal.II with clang++-19 without Kokkos. #1627

Workflow file for this run

name: github-linux
on:
push:
pull_request:
types:
- opened
- reopened
- synchronize
- ready_for_review
concurrency:
group: ${{ github.event_name }}-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{github.event_name == 'pull_request'}}
permissions:
contents: read
env:
CMAKE_BUILD_PARALLEL_LEVEL: 4
CTEST_OUTPUT_ON_FAILURE: 1
CTEST_PARALLEL_LEVEL: 4
MAKEFLAGS: "--jobs=4"
jobs:
##########################
# linux-debug-cuda-clang #
##########################
linux-debug-cuda-clang:
# simple parallel debug build using cuda and clang
name: linux debug cuda clang
runs-on: [ubuntu-24.04]
#
# The following condition only runs the workflow on 'push' or if the
# 'pull_request' is not a draft. This is only useful for hackathons or
# other situations when the CI is massively overburdened with pull
# requests.
#
# if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }}
steps:
- uses: actions/checkout@v4
- name: modules
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 19
sudo apt-get update
sudo apt-get install -yq --no-install-recommends \
libmemkind-dev \
libomp-dev \
libopenmpi-dev \
libp4est-dev \
nvidia-cuda-toolkit \
openmpi-bin
- name: info
run: |
cmake --version
ompi_info --version
clang++-19 -v
- uses: actions/checkout@v4
with:
repository: kokkos/kokkos
ref: 4.3.01
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++-19 \
-D CMAKE_CXX_STANDARD=20 \
-D CMAKE_INSTALL_PREFIX=${GITHUB_WORKSPACE}/../kokkos-install \
-D Kokkos_ENABLE_CUDA=ON \
-D Kokkos_ARCH_HOPPER90=ON \
..
make install
- name: configure deal.II
run: |
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Debug \
-D CMAKE_CXX_COMPILER=clang++-19 \
-D DEAL_II_CXX_FLAGS="-std=c++20 -Werror -Wno-deprecated-volatile" \
-D DEAL_II_EARLY_DEPRECATIONS=ON \
-D DEAL_II_WITH_KOKKOS=OFF \
-D DEAL_II_WITH_MPI=ON \
-D DEAL_II_MPI_WITH_DEVICE_SUPPORT=OFF \
-D DEAL_II_WITH_P4EST=ON \
..
- name: print detailed.log
run: |
cat build/detailed.log
- name: build deal.II
run: |
cd build
make VERBOSE=1
- name: build CUDA tests
run: |
cd build
make setup_tests_matrix_free_kokkos
cd tests/matrix_free_kokkos
make compile_test_executables