-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlabbook.yml
183 lines (179 loc) · 6.18 KB
/
labbook.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
config:
type: OpenFOAM
campaign:
type: submodule_branch
submodule: ogl
revision:
type: submodule
submodule: ogl
case:
name: base
type: submodule
repo: https://develop.openfoam.com/committees/hpc.git
submodules:
- name: ogl
description: The main driver of this labbook, proving linear solver and preconditioner
repo: https://github.com/hpsim/OGL.git
run: |
mkdir -p builds/${{env.OGL_BUILD_TYPE}}
cmake -G ${{env.OGL_MAKE_GENERATOR}} \
-B builds/${{env.OGL_BUILD_TYPE}} \
-DCMAKE_BUILD_TYPE=${{env.OGL_BUILD_TYPE}} ${{env.OGL_CMAKE_FLAGS}} \
-S .
cmake --build ./builds/${{env.OGL_BUILD_TYPE}} --config ${{env.OGL_BUILD_TYPE}}
cmake --install ./builds/${{env.OGL_BUILD_TYPE}}
- name: obr
description: Collection of python scripts to generate parameter studies
repo: https://github.com/hpsim/OBR.git
run: pip3 install -e . --user
- name: ogl_plot_scripts
description: A set of scripts to import and plot the perfomance data
repo: https://github.com/hpsim/plot_ogl_data.git
build-type: no-build
cases:
- name: motorcycle
run: |
obr create \
--parameters ${{env.OGL_LABBOOK}}/assets/motorcycle/${{matrix.file}} \
--folder ${{matrix.folder}} \
--filter ${{env.OBR_FILTER}}
path: motorcycle
matrix:
- file: scaling.json
folder: scaling
- file: matrix_formats.json
folder: matrix_formats
- name: lidDrivenCavity
run: |
obr create \
--parameters ${{env.OGL_LABBOOK}}/assets/lidDrivenCavity3D/${{matrix.file}} \
--folder ${{matrix.folder}} \
--filter ${{env.OBR_FILTER}}
path: lidDrivenCavity
matrix:
- file: ${{env.OBR_CASE}}.json
folder: ${{env.OBR_CASE}}
pipelines:
- name: decompose
run: obr decompose --folder . --select=${{env.OBR_SELECT}}
- name: run
run: |
obr benchmark \
--folder . \
--select=${{env.OBR_SELECT}} \
--filter=${{env.OBR_FILTER}} \
--report=${{env.HOSTNAME}}_${{env.OBR_SELECT}}.csv \
--log_name=${{env.HOSTNAME}}_${{env.OBR_SELECT}}.log \
--results_folder=results
results:
- results
- name: slurm_run
run: |
obr benchmark \
--folder . \
--select=${{env.OBR_SELECT}} \
--report=${{env.OBR_HOSTNAME}}_${{env.OBR_SELECT}}.csv \
--results_folder=results \
--log_name=${{env.OBR_SELECT}}_${{env.OBR_HOSTNAME}}.log \
--partition=${{env.OBR_PARTITION}} \
--ntasks_per_node=${{env.NGPUS}} \
--time=720 \
--runner TemplatedCaseRunner
results:
- results
- name: collect
run: |
obr benchmark \
--folder . \
--select=${{env.OBR_SELECT}} \
--runner=ResultsCollector \
--report=${{env.OBR_HOSTNAME}}_${{env.OBR_SELECT}}.csv \
--results_folder=results \
--log_name=of_${{env.HOSTNAME}}_${{env.OBR_SELECT}}.log
results:
- results
- name: run_gpu_gko
run: |
obr benchmark \
--folder . \
--select=Ginkgo_${{env.GINKGO_EXECUTOR}},${{env.OBR_SELECT}} \
--filter=${{env.OBR_FILTER}} \
--report=gko_${{env.HOSTNAME}}_${{env.GINKGO_EXECUTOR}}_${{env.OBR_SELECT}}.csv \
--results_folder=results \
--log_name=gko_${{env.GINKGO_EXECUTOR}}_${{env.HOSTNAME}}.log
results:
- results
- name: run_cpu_petsc
run: |
obr benchmark \
--folder . \
--select=PETSC,Default,${{env.OBR_SELECT}} \
--report=gko_${{env.HOSTNAME}}_PETSC_Default_${{env.OBR_SELECT}}.csv \
--results_folder=results \
--log_name=gko_PETSC_Default_${{env.HOSTNAME}}.log
results:
- results
- name: run_gpu_petsc
run: |
obr benchmark \
--folder . \
--filter=${{env.OBR_FILTER}} \
--select=PETSC,${{env.GINKGO_EXECUTOR}},${{env.OBR_SELECT}} \
--report=gko_${{env.HOSTNAME}}_PETSC_${{env.GINKGO_EXECUTOR}}_${{env.OBR_SELECT}}.csv \
--results_folder=results \
--log_name=gko_PETSC_${{env.GINKGO_EXECUTOR}}_${{env.HOSTNAME}}.log
results:
- results
- name: run_cpu_foam
run: |
obr benchmark \
--folder . \
--select=OpenFOAM,Default,${{env.OBR_SELECT}} \
--report=of_${{env.HOSTNAME}}_${{env.OBR_SELECT}}.csv \
--results_folder=results \
--log_name=of_DefaultOF_${{env.HOSTNAME}}.log
results:
- results
- name: slurm_run_cpu
run: |
obr benchmark
--partition cpuonly \
--ntasks_per_node=${{env.NCORES}} ${{env.OBR_SLURM_ARGS}}\
--time 720 \
--select=OpenFOAM,Default,${{env.OBR_SELECT}} \
--folder . \
--runner TemplatedCaseRunner \
--report=of_${{env.HOSTNAME}}_${{env.OBR_SELECT}}.csv \
--results_folder=results \
--log_name=of_${{env.HOSTNAME}}.log
results:
- results
- name: slurm_run_gpu_petsc
run: |
obr benchmark \
--partition accelerated \
--ntasks_per_node=${{env.NGPUS}} \
--time 720 \
--select=${{env.GINKGO_EXECUTOR}},${{env.OBR_SELECT}},PETSC \
--folder . \
--runner TemplatedCaseRunner \
--report=PETSC_${{env.GINKGO_EXECUTOR}}_${{env.HOSTNAME}}_${{env.OBR_SELECT}}.csv \
--results_folder=results \
--log_name=of_PETSC_${{env.GINKGO_EXECUTOR}}_${{env.HOSTNAME}}.log
results:
- results
- name: slurm_run_cpu_petsc
run: |
obr benchmark \
--partition cpuonly \
--ntasks_per_node=${{env.NCORES}} \
--time 720 \
--select=Default,${{env.OBR_SELECT}},PETSC \
--folder . --runner TemplatedCaseRunner \
--report=PETSC_Default_${{env.HOSTNAME}}_${{env.OBR_SELECT}}.csv \
--results_folder=results \
--log_name=of_PETSC_Default_${{env.HOSTNAME}}.log
results:
- results
hooks:
- on_rebase: ["create_cases"]