-
Notifications
You must be signed in to change notification settings - Fork 22
/
bundle.yml
226 lines (186 loc) · 6.72 KB
/
bundle.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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
---
### Bundle
name : cloudsc-bundle
version : 1.0.0-develop
cmake : >
CMAKE_LINK_DEPENDS_NO_SHARED=ON
BUILD_serialbox=OFF
BUILD_field_api=OFF
BUILD_eckit=OFF
BUILD_fckit=OFF
BUILD_atlas=OFF
ENABLE_OMP=ON
ENABLE_SINGLE_PRECISION=OFF
projects :
- ecbuild :
git : https://github.com/ecmwf/ecbuild
version : 3.8.0
bundle : false
- serialbox :
git : https://github.com/reuterbal/serialbox
version : v2.5.4/patched
cmake : >
SERIALBOX_BUILD_SHARED=ON
SERIALBOX_ENABLE_FORTRAN=ON
SERIALBOX_ENABLE_EXPERIMENTAL_FILESYSTEM=OFF
SERIALBOX_ENABLE_SDB=OFF
SERIALBOX_EXAMPLES=OFF
Serialbox_TARGETS_EXPORTED=TRUE
CMAKE_CXX_EXTENSIONS=ON
- loki :
git : https://github.com/ecmwf-ifs/loki
version : v0.2.1
require : ecbuild
cmake : >
LOKI_ENABLE_TESTS=OFF
LOKI_ENABLE_NO_INSTALL=ON
- eckit :
git : https://github.com/ecmwf/eckit
version : 1.24.4
require : ecbuild
cmake : >
ECKIT_ENABLE_TESTS=OFF
ECKIT_ENABLE_BUILD_TOOLS=OFF
ECKIT_ENABLE_CUDA=OFF
- field_api :
git : https://github.com/ecmwf-ifs/field_api.git
version : v0.3.0
require : ecbuild
cmake : >
UTIL_MODULE_PATH=${CMAKE_SOURCE_DIR}/cloudsc-dwarf/src/common/module
- fckit :
git : https://github.com/ecmwf/fckit
version : 0.11.0
require : ecbuild eckit
cmake : >
FCKIT_ENABLE_TESTS=OFF
- atlas :
git : https://github.com/ecmwf/atlas
version : feature/MultiField
require : ecbuild eckit fckit
cmake : >
ATLAS_ENABLE_TESTS=OFF
ATLAS_ENABLE_CUDA=OFF
- cloudsc-dwarf :
# The CLOUDSC dwarf project with multiple implementations
dir : $PWD
version : develop
require : ecbuild serialbox loki field_api
options :
- toolchain :
help : Specify compiler options via supplied toolchain file
cmake : CMAKE_TOOLCHAIN_FILE={{value}}
- single-precision :
# Disabling DOUBLE_PRECISION only affects field_api
help : Enable single precision build of the dwarf
cmake : >
ENABLE_SINGLE_PRECISION=ON
ENABLE_DOUBLE_PRECISION=OFF
FIELD_API_DEFINITIONS=SINGLE
- with-gpu :
help : Enable GPU kernels
cmake : >
ENABLE_CLOUDSC_GPU_SCC=ON
ENABLE_CLOUDSC_GPU_SCC_HOIST=ON
ENABLE_CLOUDSC_GPU_SCC_K_CACHING=ON
ENABLE_CLOUDSC_GPU_OMP_SCC_HOIST=ON
- with-cuda :
help : Enable GPU kernel variants based on CUDA and CUDA-Fortran
cmake : >
ENABLE_CUDA=ON
ENABLE_CLOUDSC_GPU_SCC_CUF=ON
ENABLE_CLOUDSC_GPU_SCC_CUF_K_CACHING=ON
BUILD_field_api=ON
- with-hip :
help: Enable GPU kernel variant based on HIP
cmake: >
ENABLE_HIP=ON
- with-sycl :
help: Enable GPU kernel variant based on SYCL
cmake: >
ENABLE_SYCL=ON
- with-mpi :
help : Enable MPI-parallel kernel
cmake : ENABLE_MPI=ON
- without-openmp :
help : Disable OpenMP
cmake : ENABLE_OMP=OFF
- with-loki :
help : Enable Loki source-to-source transformations
cmake : >
ENABLE_CLOUDSC_LOKI=ON
LOKI_ENABLE_NO_INSTALL=OFF
- with-claw :
help : Enable deprecated (and defunct) CLAW-generated variants
cmake : >
ENABLE_CLOUDSC_GPU_CLAW=ON
ENABLE_CLOUDSC_LOKI_CLAW=ON
LOKI_ENABLE_CLAW=ON
- without-loki-install :
help : Skip installation of Loki (Requires Loki to be on the PATH)
cmake : >
LOKI_ENABLE_NO_INSTALL=ON
LOKI_ENABLE_CLAW=OFF
- loki-frontend :
help : Frontend parser to use for Loki transformations
cmake : LOKI_FRONTEND={{value}}
- with-python :
help : Enable Python variants of CLOUDSC
cmake : >
CLOUDSC_PYTHON_F2PY=ON
- with-atlas :
help : Build Atlas and its dependencies (eckit, fckit) and enable Atlas-based variants of CLOUDSC (incompatible with --single-precision)
cmake : >
BUILD_eckit=ON
BUILD_fckit=ON
BUILD_atlas=ON
- with-dependency-tests :
help : Build and enable tests for CLOUDSC dependencies that are build as part of the bundle (eckit, fckit, Atlas, Loki)
cmake : >
LOKI_ENABLE_TESTS=ON
ECKIT_ENABLE_TESTS=ON
FCKIT_ENABLE_TESTS=ON
ATLAS_ENABLE_TESTS=ON
- cloudsc-prototype1 :
help : Build the original operational Fortran prototype [ON|OFF]
cmake : ENABLE_CLOUDSC_PROTOTYPE1={{value}}
- cloudsc-fortran :
help : Build the new Fortran version of CLOUDSC [ON|OFF]
cmake : ENABLE_CLOUDSC_FORTRAN={{value}}
- cloudsc-fortran-pyiface :
help : Build the Python driver interfaced with the new Fortran version of CLOUDSC [ON|OFF]
cmake : ENABLE_CLOUDSC_FORTRAN_PYIFACE={{value}}
- cloudsc-fortran-pyiface-binary :
help : Build the Fortran binary for the PYIFACE version [ON|OFF]
cmake : ENABLE_CLOUDSC_FORTRAN_PYIFACE_BINARY={{value}}
- cloudsc-c :
help : Build the C version of CLOUDSC [ON|OFF]
cmake : ENABLE_CLOUDSC_C={{value}}
- cloudsc-gpu-claw :
help : Build the deprecated CLAW-based GPU version CLOUDSC [ON|OFF]
cmake : ENABLE_CLOUDSC_GPU_CLAW={{value}}
- cloudsc-loki :
help : Build the optimized Loki-based GPU version CLOUDSC [ON|OFF]
cmake : ENABLE_CLOUDSC_LOKI={{value}}
- cloudsc-loki-claw :
help : Build the deprecated Loki+CLAW-based GPU version CLOUDSC [ON|OFF]
cmake : ENABLE_CLOUDSC_LOKI_CLAW={{value}}
- cloudsc-python-f2py :
help : Enable dedicated pure Python variant of CLOUDSC [ON|OFF]
cmake : ENABLE_CLOUDSC_PYTHON_F2PY={{value}}
- hdf5 :
help : Enable use of HDF5 input file [ON|OFF]
cmake : ENABLE_HDF5={{value}}
- without-hdf5 :
help : Disable use of HDF5 input file
cmake : ENABLE_HDF5=OFF
- with-serialbox :
help : Enable Serialbox utility for platform-agnostic file I/O (disables HDF5)
cmake : >
ENABLE_HDF5=OFF
ENABLE_SERIALBOX=ON
BUILD_serialbox=ON
- serialbox-experimental :
help : Enable Serialbox experimental filesystem [ON|OFF]
cmake : SERIALBOX_ENABLE_EXPERIMENTAL_FILESYSTEM={{value}}
...