Test: Compile deal.II with clang++-19 without Kokkos. #1627
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: 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 |