Author: Nick Johnson, EPCC
Use cases are the bridge between benchmarks, where specific elements of a code are exercised (often in isolation) such as a solver, or IO routine and full applications. However, that’s not to say use cases are not full applications. In ExaFlow, our use cases are specific geometries, specific CFD problems that we use to demonstrate the improvements we have made to our co-design applications: Nektar++, Nek5000 & OpenSBLI. What differentiates them from full applications is that we already know the answer! Like a school kid sneaking a look at the answers in the back of the textbook, we have a good feel for how the model should resolve, what is should look like, and perhaps more importantly, what it shouldn’t look like.
We plan to make use of three use-cases in the final months of this project to showcase our results:
The compressible NACA4412/0012 aerofoil test case with OpenSBLI will demonstrate correct working of the error indicators & that the use of error indicators does not currently introduce a performance penalty. We plan to implement a Store Sum (SS) algorithm that should show a speed-up in the coming months.
The incompressible NACA4412 aerofoil with Nek5000 will be used to demonstrate the benefit of error estimation and optimal mesh generation, and in conjunction with the ExaGS library, improved scaling performance.
Finally, the Imperial Front Wing with Nektar++ will be used to demonstrate several features & improvements that could be showcased here; the ExaGS library for unstructured grids, load balancing (which introduces extra runtime options for making sure shapes are weighted correctly) and resilience and check-pointing.