|
136 | 136 | <div class="contents"> |
137 | 137 | <div class="textblock"><p><a class="anchor" id="autotoc_md29"></a></p> |
138 | 138 | <h1><a class="anchor" id="autotoc_md30"></a> |
139 | | -Strong- & Weak-scaling</h1> |
140 | | -<p>The <a href="case.py"><b>Scaling</b></a> case can exercise both weak- and strong-scaling. It adjusts itself depending on the number of requested ranks.</p> |
141 | | -<p>This directory also contains a collection of scripts used to test strong-scaling on OLCF Frontier. They required modifying MFC to collect some metrics but are meant to serve as a reference to users wishing to run similar experiments.</p> |
| 139 | +Shu-Osher problem (1D)</h1> |
| 140 | +<p>Reference: C. W. Shu, S. Osher, Efficient implementation of essentially non-oscillatory shock-capturing schemes, Journal of Computational Physics 77 (2) (1988) 439–471. doi:10.1016/0021-9991(88)90177-5.</p> |
142 | 141 | <h2><a class="anchor" id="autotoc_md31"></a> |
143 | | -Weak Scaling</h2> |
144 | | -<p>Pass <code>--scaling weak</code>. The <code>--memory</code> option controls (approximately) how much memory each rank should use, in Gigabytes. The number of cells in each dimension is then adjusted according to the number of requested ranks and an approximation for the relation between cell count and memory usage. The problem size increases linearly with the number of ranks.</p> |
145 | | -<h2><a class="anchor" id="autotoc_md32"></a> |
146 | | -Strong Scaling</h2> |
147 | | -<p>Pass <code>--scaling strong</code>. The <code>--memory</code> option controls (approximately) how much memory should be used in total during simulation, across all ranks, in Gigabytes. The problem size remains constant as the number of ranks increases.</p> |
148 | | -<h2><a class="anchor" id="autotoc_md33"></a> |
149 | | -Example</h2> |
150 | | -<p>For example, to run a weak-scaling test that uses ~4GB of GPU memory per rank on 8 2-rank nodes with case optimization, one could:</p> |
151 | | -<div class="fragment"><div class="line">./mfc.sh run examples/scaling/case.py -t pre_process simulation \</div> |
152 | | -<div class="line"> -e batch -p mypartition -N 8 -n 2 -w "01:00:00" -# "MFC Weak Scaling" \</div> |
153 | | -<div class="line"> --case-optimization -j 32 -- --scaling weak --memory 4</div> |
154 | | -</div><!-- fragment --><h1><a class="anchor" id="autotoc_md34"></a> |
155 | | -Lid-Driven Cavity Problem (2D)</h1> |
156 | | -<p>Reference: Bezgin, D. A., & Buhendwa A. B., & Adams N. A. (2022). JAX-FLUIDS: A fully-differentiable high-order computational fluid dynamics solver for compressible two-phase flows. arXiv:2203.13760</p> |
157 | | -<p>Reference: Ghia, U., & Ghia, K. N., & Shin, C. T. (1982). High-re solutions for incompressible flow using the Navier-Stokes equations and a multigrid method. Journal of Computational Physics, 48, 387-411</p> |
158 | | -<p>Video: <a href="https://youtube.com/shorts/JEP28scZrBM?feature=share">https://youtube.com/shorts/JEP28scZrBM?feature=share</a></p> |
159 | | -<h2><a class="anchor" id="autotoc_md35"></a> |
160 | | -Final Condition</h2> |
161 | | -<div class="image"> |
162 | | -<img src="final_condition-2D_lid_driven_cavity-example.png" alt=""/> |
163 | | -<div class="caption"> |
164 | | -Final Condition</div></div> |
165 | | - <h2><a class="anchor" id="autotoc_md36"></a> |
166 | | -Centerline Velocities</h2> |
167 | | -<div class="image"> |
168 | | -<img src="centerline_velocities-2D_lid_driven_cavity-example.png" alt=""/> |
169 | | -<div class="caption"> |
170 | | -Centerline Velocities</div></div> |
171 | | - <h1><a class="anchor" id="autotoc_md37"></a> |
172 | | -Lax shock tube problem (1D)</h1> |
173 | | -<p>Reference: P. D. Lax, Weak solutions of nonlinear hyperbolic equations and their numerical computation, Communications on pure and applied mathematics 7 (1) (1954) 159–193.</p> |
174 | | -<h2><a class="anchor" id="autotoc_md38"></a> |
175 | 142 | Initial Condition</h2> |
176 | 143 | <div class="image"> |
177 | | -<img src="initial-1D_laxshocktube-example.png" alt=""/> |
| 144 | +<img src="initial-1D_shuosher_old-example.png" alt=""/> |
178 | 145 | <div class="caption"> |
179 | 146 | Initial Condition</div></div> |
180 | | - <h2><a class="anchor" id="autotoc_md39"></a> |
| 147 | + <h2><a class="anchor" id="autotoc_md32"></a> |
181 | 148 | Result</h2> |
182 | 149 | <div class="image"> |
183 | | -<img src="result-1D_laxshocktube-example.png" alt=""/> |
| 150 | +<img src="result-1D_shuosher_old-example.png" alt=""/> |
184 | 151 | <div class="caption"> |
185 | 152 | Result</div></div> |
186 | | - <h1><a class="anchor" id="autotoc_md40"></a> |
187 | | -Shu-Osher problem (1D)</h1> |
188 | | -<p>Reference: C. W. Shu, S. Osher, Efficient implementation of essentially non-oscillatory shock-capturing schemes, Journal of Computational Physics 77 (2) (1988) 439–471. doi:10.1016/0021-9991(88)90177-5.</p> |
189 | | -<h2><a class="anchor" id="autotoc_md41"></a> |
190 | | -Initial Condition</h2> |
| 153 | + <h1><a class="anchor" id="autotoc_md33"></a> |
| 154 | +Isentropic vortex problem (2D)</h1> |
| 155 | +<p>Reference: Coralic, V., & Colonius, T. (2014). Finite-volume Weno scheme for viscous compressible multicomponent flows. Journal of Computational Physics, 274, 95–121. <a href="https://doi.org/10.1016/j.jcp.2014.06.003">https://doi.org/10.1016/j.jcp.2014.06.003</a></p> |
| 156 | +<h2><a class="anchor" id="autotoc_md34"></a> |
| 157 | +Density</h2> |
191 | 158 | <div class="image"> |
192 | | -<img src="initial-1D_shuosher_old-example.png" alt=""/> |
| 159 | +<img src="alpha_rho1-2D_isentropicvortex-example.png" alt=""/> |
193 | 160 | <div class="caption"> |
194 | | -Initial Condition</div></div> |
195 | | - <h2><a class="anchor" id="autotoc_md42"></a> |
196 | | -Result</h2> |
| 161 | +Density</div></div> |
| 162 | + <h2><a class="anchor" id="autotoc_md35"></a> |
| 163 | +Density Norms</h2> |
197 | 164 | <div class="image"> |
198 | | -<img src="result-1D_shuosher_old-example.png" alt=""/> |
| 165 | +<img src="density_norms-2D_isentropicvortex-example.png" alt=""/> |
199 | 166 | <div class="caption"> |
200 | | -Result</div></div> |
201 | | - <h1><a class="anchor" id="autotoc_md43"></a> |
202 | | -Shock Droplet (2D)</h1> |
203 | | -<p>Reference: Panchal et. al., A Seven-Equation Diffused Interface Method for Resolved Multiphase Flows, JCP, 475 (2023)</p> |
204 | | -<h2><a class="anchor" id="autotoc_md44"></a> |
205 | | -Initial Condition</h2> |
| 167 | +Density Norms</div></div> |
| 168 | + <h1><a class="anchor" id="autotoc_md36"></a> |
| 169 | +Rayleigh-Taylor Instability (3D)</h1> |
| 170 | +<h2><a class="anchor" id="autotoc_md37"></a> |
| 171 | +Final Condition</h2> |
206 | 172 | <div class="image"> |
207 | | -<img src="initial-2D_shockdroplet-example.png" alt=""/> |
| 173 | +<img src="final_condition-3D_rayleigh_taylor-example.png" alt=""/> |
208 | 174 | <div class="caption"> |
209 | | -Initial Condition</div></div> |
210 | | - <h2><a class="anchor" id="autotoc_md45"></a> |
211 | | -Result</h2> |
212 | | -<p><img src="result-2D_shockdroplet-example.png" alt="" class="inline" title="Result"/> </p> |
213 | | -<h1><a class="anchor" id="autotoc_md46"></a> |
| 175 | +Final Condition</div></div> |
| 176 | + <h2><a class="anchor" id="autotoc_md38"></a> |
| 177 | +Centerline Velocities</h2> |
| 178 | +<p><img src="linear_theory.jpg" alt="Linear Theory Comparison" class="inline"/></p> |
| 179 | +<h1><a class="anchor" id="autotoc_md39"></a> |
214 | 180 | Titarev-Toro problem (1D)</h1> |
215 | 181 | <p>Reference: V. A. Titarev, E. F. Toro, Finite-volume WENO schemes for three-dimensional conservation laws, Journal of Computational Physics 201 (1) (2004) 238–260.</p> |
216 | | -<h2><a class="anchor" id="autotoc_md47"></a> |
| 182 | +<h2><a class="anchor" id="autotoc_md40"></a> |
217 | 183 | Initial Condition</h2> |
218 | 184 | <div class="image"> |
219 | 185 | <img src="initial-1D_titarevtorro-example.png" alt=""/> |
220 | 186 | <div class="caption"> |
221 | 187 | Initial Condition</div></div> |
222 | | - <h2><a class="anchor" id="autotoc_md48"></a> |
| 188 | + <h2><a class="anchor" id="autotoc_md41"></a> |
223 | 189 | Result</h2> |
224 | 190 | <div class="image"> |
225 | 191 | <img src="result-1D_titarevtorro-example.png" alt=""/> |
226 | 192 | <div class="caption"> |
227 | 193 | Result</div></div> |
228 | | - <h1><a class="anchor" id="autotoc_md49"></a> |
229 | | -Rayleigh-Taylor Instability (3D)</h1> |
230 | | -<h2><a class="anchor" id="autotoc_md50"></a> |
| 194 | + <h1><a class="anchor" id="autotoc_md42"></a> |
| 195 | +2D Hardcodied IC Example</h1> |
| 196 | +<h2><a class="anchor" id="autotoc_md43"></a> |
| 197 | +Initial Condition</h2> |
| 198 | +<div class="image"> |
| 199 | +<img src="initial-2D_hardcodied_ic-example.png" alt=""/> |
| 200 | +<div class="caption"> |
| 201 | +Initial Condition</div></div> |
| 202 | + <h2><a class="anchor" id="autotoc_md44"></a> |
| 203 | +Result</h2> |
| 204 | +<p><img src="result-2D_hardcodied_ic-example.png" alt="" class="inline" title="Result"/> </p> |
| 205 | +<h1><a class="anchor" id="autotoc_md45"></a> |
| 206 | +Rayleigh-Taylor Instability (2D)</h1> |
| 207 | +<h2><a class="anchor" id="autotoc_md46"></a> |
231 | 208 | Final Condition</h2> |
232 | 209 | <div class="image"> |
233 | | -<img src="final_condition-3D_rayleigh_taylor-example.png" alt=""/> |
| 210 | +<img src="final_condition-2D_rayleigh_taylor-example.png" alt=""/> |
234 | 211 | <div class="caption"> |
235 | 212 | Final Condition</div></div> |
236 | | - <h2><a class="anchor" id="autotoc_md51"></a> |
| 213 | + <h2><a class="anchor" id="autotoc_md47"></a> |
237 | 214 | Centerline Velocities</h2> |
238 | 215 | <p><img src="linear_theory.jpg" alt="Linear Theory Comparison" class="inline"/></p> |
239 | | -<h1><a class="anchor" id="autotoc_md52"></a> |
240 | | -Rayleigh-Taylor Instability (2D)</h1> |
241 | | -<h2><a class="anchor" id="autotoc_md53"></a> |
| 216 | +<h1><a class="anchor" id="autotoc_md48"></a> |
| 217 | +Lid-Driven Cavity Problem (2D)</h1> |
| 218 | +<p>Reference: Bezgin, D. A., & Buhendwa A. B., & Adams N. A. (2022). JAX-FLUIDS: A fully-differentiable high-order computational fluid dynamics solver for compressible two-phase flows. arXiv:2203.13760</p> |
| 219 | +<p>Reference: Ghia, U., & Ghia, K. N., & Shin, C. T. (1982). High-re solutions for incompressible flow using the Navier-Stokes equations and a multigrid method. Journal of Computational Physics, 48, 387-411</p> |
| 220 | +<p>Video: <a href="https://youtube.com/shorts/JEP28scZrBM?feature=share">https://youtube.com/shorts/JEP28scZrBM?feature=share</a></p> |
| 221 | +<h2><a class="anchor" id="autotoc_md49"></a> |
242 | 222 | Final Condition</h2> |
243 | 223 | <div class="image"> |
244 | | -<img src="final_condition-2D_rayleigh_taylor-example.png" alt=""/> |
| 224 | +<img src="final_condition-2D_lid_driven_cavity-example.png" alt=""/> |
245 | 225 | <div class="caption"> |
246 | 226 | Final Condition</div></div> |
247 | | - <h2><a class="anchor" id="autotoc_md54"></a> |
| 227 | + <h2><a class="anchor" id="autotoc_md50"></a> |
248 | 228 | Centerline Velocities</h2> |
249 | | -<p><img src="linear_theory.jpg" alt="Linear Theory Comparison" class="inline"/></p> |
250 | | -<h1><a class="anchor" id="autotoc_md55"></a> |
251 | | -2D Riemann Test (2D)</h1> |
252 | | -<p>Reference: Chamarthi, A., & Hoffmann, N., & Nishikawa, H., & Frankel S. (2023). Implicit gradients based conservative numerical scheme for compressible flows. arXiv:2110.05461</p> |
253 | | -<h2><a class="anchor" id="autotoc_md56"></a> |
254 | | -Density Initial Condition</h2> |
255 | 229 | <div class="image"> |
256 | | -<img src="alpha_rho1_initial-2D_riemann_test-example.png" alt=""/> |
| 230 | +<img src="centerline_velocities-2D_lid_driven_cavity-example.png" alt=""/> |
257 | 231 | <div class="caption"> |
258 | | -Density</div></div> |
259 | | - <h2><a class="anchor" id="autotoc_md57"></a> |
260 | | -Density Final Condition</h2> |
| 232 | +Centerline Velocities</div></div> |
| 233 | + <h1><a class="anchor" id="autotoc_md51"></a> |
| 234 | +Shock Droplet (2D)</h1> |
| 235 | +<p>Reference: Panchal et. al., A Seven-Equation Diffused Interface Method for Resolved Multiphase Flows, JCP, 475 (2023)</p> |
| 236 | +<h2><a class="anchor" id="autotoc_md52"></a> |
| 237 | +Initial Condition</h2> |
261 | 238 | <div class="image"> |
262 | | -<img src="alpha_rho1_final-2D_riemann_test-example.png" alt=""/> |
| 239 | +<img src="initial-2D_shockdroplet-example.png" alt=""/> |
263 | 240 | <div class="caption"> |
264 | | -Density Norms</div></div> |
265 | | - <h1><a class="anchor" id="autotoc_md58"></a> |
266 | | -2D Hardcodied IC Example</h1> |
267 | | -<h2><a class="anchor" id="autotoc_md59"></a> |
| 241 | +Initial Condition</div></div> |
| 242 | + <h2><a class="anchor" id="autotoc_md53"></a> |
| 243 | +Result</h2> |
| 244 | +<p><img src="result-2D_shockdroplet-example.png" alt="" class="inline" title="Result"/> </p> |
| 245 | +<h1><a class="anchor" id="autotoc_md54"></a> |
| 246 | +Lax shock tube problem (1D)</h1> |
| 247 | +<p>Reference: P. D. Lax, Weak solutions of nonlinear hyperbolic equations and their numerical computation, Communications on pure and applied mathematics 7 (1) (1954) 159–193.</p> |
| 248 | +<h2><a class="anchor" id="autotoc_md55"></a> |
268 | 249 | Initial Condition</h2> |
269 | 250 | <div class="image"> |
270 | | -<img src="initial-2D_hardcodied_ic-example.png" alt=""/> |
| 251 | +<img src="initial-1D_laxshocktube-example.png" alt=""/> |
271 | 252 | <div class="caption"> |
272 | 253 | Initial Condition</div></div> |
273 | | - <h2><a class="anchor" id="autotoc_md60"></a> |
| 254 | + <h2><a class="anchor" id="autotoc_md56"></a> |
274 | 255 | Result</h2> |
275 | | -<p><img src="result-2D_hardcodied_ic-example.png" alt="" class="inline" title="Result"/> </p> |
276 | | -<h1><a class="anchor" id="autotoc_md61"></a> |
277 | | -Isentropic vortex problem (2D)</h1> |
278 | | -<p>Reference: Coralic, V., & Colonius, T. (2014). Finite-volume Weno scheme for viscous compressible multicomponent flows. Journal of Computational Physics, 274, 95–121. <a href="https://doi.org/10.1016/j.jcp.2014.06.003">https://doi.org/10.1016/j.jcp.2014.06.003</a></p> |
279 | | -<h2><a class="anchor" id="autotoc_md62"></a> |
280 | | -Density</h2> |
281 | 256 | <div class="image"> |
282 | | -<img src="alpha_rho1-2D_isentropicvortex-example.png" alt=""/> |
| 257 | +<img src="result-1D_laxshocktube-example.png" alt=""/> |
| 258 | +<div class="caption"> |
| 259 | +Result</div></div> |
| 260 | + <h1><a class="anchor" id="autotoc_md57"></a> |
| 261 | +2D Riemann Test (2D)</h1> |
| 262 | +<p>Reference: Chamarthi, A., & Hoffmann, N., & Nishikawa, H., & Frankel S. (2023). Implicit gradients based conservative numerical scheme for compressible flows. arXiv:2110.05461</p> |
| 263 | +<h2><a class="anchor" id="autotoc_md58"></a> |
| 264 | +Density Initial Condition</h2> |
| 265 | +<div class="image"> |
| 266 | +<img src="alpha_rho1_initial-2D_riemann_test-example.png" alt=""/> |
283 | 267 | <div class="caption"> |
284 | 268 | Density</div></div> |
285 | | - <h2><a class="anchor" id="autotoc_md63"></a> |
286 | | -Density Norms</h2> |
| 269 | + <h2><a class="anchor" id="autotoc_md59"></a> |
| 270 | +Density Final Condition</h2> |
287 | 271 | <div class="image"> |
288 | | -<img src="density_norms-2D_isentropicvortex-example.png" alt=""/> |
| 272 | +<img src="alpha_rho1_final-2D_riemann_test-example.png" alt=""/> |
289 | 273 | <div class="caption"> |
290 | 274 | Density Norms</div></div> |
291 | | - </div></div><!-- contents --> |
| 275 | + <h1><a class="anchor" id="autotoc_md60"></a> |
| 276 | +Strong- & Weak-scaling</h1> |
| 277 | +<p>The <a href="case.py"><b>Scaling</b></a> case can exercise both weak- and strong-scaling. It adjusts itself depending on the number of requested ranks.</p> |
| 278 | +<p>This directory also contains a collection of scripts used to test strong-scaling on OLCF Frontier. They required modifying MFC to collect some metrics but are meant to serve as a reference to users wishing to run similar experiments.</p> |
| 279 | +<h2><a class="anchor" id="autotoc_md61"></a> |
| 280 | +Weak Scaling</h2> |
| 281 | +<p>Pass <code>--scaling weak</code>. The <code>--memory</code> option controls (approximately) how much memory each rank should use, in Gigabytes. The number of cells in each dimension is then adjusted according to the number of requested ranks and an approximation for the relation between cell count and memory usage. The problem size increases linearly with the number of ranks.</p> |
| 282 | +<h2><a class="anchor" id="autotoc_md62"></a> |
| 283 | +Strong Scaling</h2> |
| 284 | +<p>Pass <code>--scaling strong</code>. The <code>--memory</code> option controls (approximately) how much memory should be used in total during simulation, across all ranks, in Gigabytes. The problem size remains constant as the number of ranks increases.</p> |
| 285 | +<h2><a class="anchor" id="autotoc_md63"></a> |
| 286 | +Example</h2> |
| 287 | +<p>For example, to run a weak-scaling test that uses ~4GB of GPU memory per rank on 8 2-rank nodes with case optimization, one could:</p> |
| 288 | +<div class="fragment"><div class="line">./mfc.sh run examples/scaling/case.py -t pre_process simulation \</div> |
| 289 | +<div class="line"> -e batch -p mypartition -N 8 -n 2 -w "01:00:00" -# "MFC Weak Scaling" \</div> |
| 290 | +<div class="line"> --case-optimization -j 32 -- --scaling weak --memory 4</div> |
| 291 | +</div><!-- fragment --> </div></div><!-- contents --> |
292 | 292 | </div><!-- PageDoc --> |
293 | 293 | </div><!-- doc-content --> |
294 | 294 | <!-- HTML footer for doxygen 1.9.1--> |
|
0 commit comments