-
Notifications
You must be signed in to change notification settings - Fork 2
94 lines (80 loc) · 2.69 KB
/
Copy pathci.yaml
File metadata and controls
94 lines (80 loc) · 2.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
name: C/C++ CI
on:
push:
branches:
- main
paths-ignore:
- "doc/**"
pull_request:
branches:
- main
workflow_dispatch:
jobs:
build:
name: C++ build
runs-on: "ubuntu-24.04"
strategy:
fail-fast: false
matrix:
architecture: ["x86_64"]
backend: ["OpenMP", "Cuda"]
include:
- architecture: "x86_64"
env:
config: "Release"
steps:
# make sure to explicitly checkout git submodule !
- name: checkout repository
uses: actions/checkout@v7
with:
submodules: recursive
- name: hardware info
run: cat /proc/cpuinfo
- name: Install native dependencies
run: |
sudo apt update
sudo apt-get install -y libhwloc-dev cmake build-essential mpi-default-dev libhdf5-openmpi-dev libspdlog-dev
- name: Install CUDA toolkit
uses: Jimver/cuda-toolkit@v0.2.36
id: cuda-toolkit
if: runner.os == 'Linux'
with:
sub-packages: '["nvcc", "nvrtc", "cudart"]'
cuda: '12.9.0'
method: network
use-github-cache: true
- name: nvcc check
shell: bash
run: |
nvcc -V
echo "Installed cuda version is: ${{steps.cuda-toolkit.outputs.cuda}}"
echo "Cuda install location: ${{steps.cuda-toolkit.outputs.CUDA_PATH}}"
ls "$CUDA_PATH"
ls "$CUDA_PATH/bin"
ls "$CUDA_PATH/include"
- name: cmake version
shell: bash
run: cmake --version
- name: configure_openmp
run: cmake -S . -B build_openmp -DCMAKE_BUILD_TYPE=Debug -DKALYPSSO_CORE_ENABLE_UNIT_TESTING=ON -DKALYPSSO_CORE_KOKKOS_BUILD=ON -DKALYPSSO_CORE_KOKKOS_BACKEND=OpenMP -DKALYPSSO_CORE_BUILD_P4EST:BOOL=ON -DKALYPSSO_CORE_ENABLE_WARNINGS=ON
- name: make_openmp
id: make_openmp
run: cmake --build build_openmp --parallel 4
- name: upload_build_openmp_log
if: ${{ failure() && steps.make_openmp.outcome == 'failure' }}
uses: actions/upload-artifact@v7
with:
name: build_openmp_log
path: build_openmp
retention-days: 1
- name: configure_cuda
run: cmake -S . -B build_cuda -DKALYPSSO_CORE_KOKKOS_BUILD=ON -DKALYPSSO_CORE_KOKKOS_BACKEND=Cuda -DKokkos_ARCH_AMPERE80=ON -DKALYPSSO_CORE_BUILD_P4EST:BOOL=ON -DKALYPSSO_CORE_ENABLE_WARNINGS=ON
- name: make_cuda
run: cmake --build build_cuda --parallel 4
- name: upload_build_cuda_log
if: ${{ failure() && steps.make_cuda.outcome == 'failure' }}
uses: actions/upload-artifact@v7
with:
name: build_cuda_log
path: build_cuda
retention-days: 3