-
Notifications
You must be signed in to change notification settings - Fork 52
145 lines (140 loc) · 5.16 KB
/
builds.yml
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# TRACCC library, part of the ACTS project (R&D line)
#
# (c) 2021-2024 CERN for the benefit of the ACTS project
#
# Mozilla Public License Version 2.0
name: Builds
on:
push:
pull_request:
branches:
- main
concurrency:
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
containers:
name: ${{ matrix.platform.name }}-${{ matrix.build }}
runs-on: ubuntu-latest
container: ${{ matrix.platform.container }}
strategy:
matrix:
platform:
- name: CPU
container: ghcr.io/acts-project/ubuntu2404:69
options: --preset host-fp32 -DALGEBRA_PLUGINS_USE_SYSTEM_VC=FALSE
run_tests: true
- name: CPU
container: ghcr.io/acts-project/ubuntu2404:69
options: --preset host-fp64 -DALGEBRA_PLUGINS_USE_SYSTEM_VC=FALSE
run_tests: false
- name: CUDA
container: ghcr.io/acts-project/ubuntu2404_cuda:69
options: --preset cuda-fp32
run_tests: false
- name: "SYCL Intel"
container: ghcr.io/acts-project/ubuntu2404_oneapi:69
options: --preset sycl-fp32
run_tests: true
- name: KOKKOS
container: ghcr.io/acts-project/ubuntu2404:69
options: --preset kokkos-fp32
run_tests: false
build:
- Release
- Debug
include:
- platform:
name: CUDA
container: ghcr.io/acts-project/ubuntu2404_cuda:69
options: --preset cuda-fp64
run_tests: false
build: Release
- platform:
name: "SYCL NVIDIA"
container: ghcr.io/acts-project/ubuntu2404_cuda_oneapi:69
options: --preset sycl-fp32
run_tests: false
build: Release
- platform:
name: "SYCL AMD"
container: ghcr.io/acts-project/ubuntu2404_rocm_oneapi:69
options: --preset sycl-fp32
run_tests: false
build: Release
- platform:
name: "ALPAKA_CPU"
container: ghcr.io/acts-project/ubuntu2404:69
options: --preset alpaka-fp32
run_tests: true
build: Release
- platform:
name: "ALPAKA_CUDA"
container: ghcr.io/acts-project/ubuntu2404_cuda:69
options: --preset alpaka-fp32 -Dalpaka_ACC_GPU_CUDA_ENABLE=ON -DTRACCC_FAIL_ON_WARNINGS=OFF
run_tests: false
build: Release
- platform:
name: "ALPAKA_HIP_SYCL"
container: ghcr.io/acts-project/ubuntu2404_rocm_oneapi:69
options: --preset alpaka-fp32 -Dalpaka_ACC_GPU_HIP_ENABLE=ON -DCMAKE_PREFIX_PATH=/opt/rocm/lib/cmake/ -Dalpaka_DISABLE_VENDOR_RNG=ON -DTRACCC_USE_ROOT=OFF
run_tests: false
build: Release
- platform:
name: "ALPAKA_SYCL"
container: ghcr.io/acts-project/ubuntu2404_oneapi:69
options: --preset alpaka-fp32 -Dalpaka_ACC_CPU_B_SEQ_T_THREADS_ENABLE=OFF -Dalpaka_ACC_SYCL_ENABLE=ON -Dalpaka_SYCL_ONEAPI_GPU=ON -Dalpaka_SYCL_ONEAPI_GPU_DEVICES=spir64
run_tests: false
build: Release
# Use BASH as the shell from the images.
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
apt install -y zstd
curl --retry 5 --retry-delay 10 --output deps.tar.zst https://acts.web.cern.ch/ACTS/ci/ubuntu-24.04/deps.v6.tar.zst
tar -xf deps.tar.zst -C /usr/local --strip-components=1
rm deps.tar.zst
- name: Configure
run: |
source ${GITHUB_WORKSPACE}/.github/ci_setup.sh ${{ matrix.platform.name }}
cmake \
-DCMAKE_BUILD_TYPE=${{ matrix.build }} \
${{ matrix.platform.options }} \
-S ${GITHUB_WORKSPACE} \
-B build
- name: Build
run: |
source ${GITHUB_WORKSPACE}/.github/ci_setup.sh ${{ matrix.platform.name }}
cmake --build build
- name: Download data files
if: "matrix.platform.run_tests"
run: data/traccc_data_get_files.sh
- name: Test
if: "matrix.platform.run_tests"
run: |
cd build
source ${GITHUB_WORKSPACE}/.github/ci_setup.sh ${{ matrix.platform.name }}
ctest --output-on-failure
- name: FP64 Compliance
if: "matrix.platform.name == 'CUDA' && matrix.build == 'Debug'"
continue-on-error: true
run: ${GITHUB_WORKSPACE}/.github/find_f64_ptx.py --source ${GITHUB_WORKSPACE} --build build $(find build -name "*.ptx")
macos:
runs-on: macos-14
name: macOS-Release
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: brew install boost
- name: Configure
run: cmake --preset base-fp32 -S ${GITHUB_WORKSPACE} -B build
- name: Build
run: cmake --build build
- name: Download data files
run: ${GITHUB_WORKSPACE}/data/traccc_data_get_files.sh
- name: Test
run: ctest --test-dir build --output-on-failure