A Generic Interface for Godunov-Type Finite Volume Methods on Adaptive Triangular Meshes

  • Chaulio R. Ferreira
  • Michael BaderEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11537)


We present and evaluate a programming interface for high performance Godunov-type finite volume applications with the framework sam(oa)\(^2\). This interface requires application developers only to provide problem-specific implementations of a set of operators, while sam(oa)\(^2\) transparently manages HPC features such as memory-efficient adaptive mesh refinement, parallelism in distributed and shared memory and vectorization of Riemann solvers. We focus especially on the performance of vectorization, which can be either managed by the framework (with compiler auto-vectorization of the operator calls) or directly by the developers in the operator implementation (possibly using more advanced techniques). We demonstrate the interface’s performance using two example applications based on variations of the shallow water equations. Our performance results show successful vectorization using both approaches, with similar performance. They also show that the applications developed with the new interface achieve performance comparable to analogous applications developed without the new layer of abstraction.


High performance computing Vectorization Finite volume methods Shallow water equations 



Chaulio R. Ferreira appreciates the support of CNPq, the Brazilian Council of Technological and Scientific Development (grant no. 234439/2014-9). Computing resources were provided by the Leibniz Supercomputing Center (project pr85ri).


  1. 1.
    Bader, M., Böck, C., Schwaiger, J., Vigh, C.A.: Dynamically adaptive simulations with minimal memory requirement - solving the shallow water equations using sierpinski curves. SIAM J. Sci. Comput. 32(1), 212–228 (2010)MathSciNetCrossRefGoogle Scholar
  2. 2.
    Berger, M.J., George, D.L., LeVeque, R.J., Mandli, K.T.: The GeoClaw software for depth-averaged flows with adaptive refinement. Adv. Water Resour. 34(9), 1195–1206 (2011)CrossRefGoogle Scholar
  3. 3.
    Berger, M.J., Oliger, J.: Adaptive mesh refinement for hyperbolic partial differential equations. J. Comput. Phys. 53(3), 484–512 (1984)MathSciNetCrossRefGoogle Scholar
  4. 4.
    Bouchut, F., Zeitlin, V., et al.: A robust well-balanced scheme for multi-layer shallow water equations. Discret. Contin. Dyn. Syst.-Ser. B 13(4), 739–758 (2010)MathSciNetCrossRefGoogle Scholar
  5. 5.
    Burstedde, C., Calhoun, D., Mandli, K., Terrel, A.R.: ForestClaw: hybrid forest-of-octrees AMR for hyperbolic conservation laws. In: Parallel Computing: Accelerating Computational Science and Engineering, vol. 25, pp. 253–262 (2014)Google Scholar
  6. 6.
    Burstedde, C., Wilcox, L.C., Ghattas, O.: p4est: scalable algorithms for parallel adaptive mesh refinement on forests of octrees. SIAM J. Sci. Comput. 33(3), 1103–1133 (2011)MathSciNetCrossRefGoogle Scholar
  7. 7.
    Ferreira, C.R., Bader, M.: Load balancing and patch-based parallel adaptive mesh refinement for tsunami simulation on heterogeneous platforms using Xeon Phi coprocessors. In: Proceeding of PASC, pp. 12:1–12:12. ACM (2017)Google Scholar
  8. 8.
    Ferreira, C.R., Mandli, K.T., Bader, M.: Vectorization of Riemann solvers for the single-and multi-layer Shallow Water Equations. In: International Conference on High Performance Computing & Simulation, pp. 415–422. IEEE (2018)Google Scholar
  9. 9.
    Galvez, P., Ampuero, J.P., Dalguer, L.A., Somala, S.N., Nissen-Meyer, T.: Dynamic earthquake rupture modelled with an unstructured 3-D spectral element method applied to the 2011 M9 Tohoku earthquake. Geophys. J. Int. 198(2), 1222–1240 (2014)CrossRefGoogle Scholar
  10. 10.
    George, D.L.: Augmented Riemann solvers for the shallow water equations over variable topography with steady states and inundation. J. Comput. Phys. 227(6), 3089–3113 (2008)MathSciNetCrossRefGoogle Scholar
  11. 11.
    Jeffers, J., Reinders, J.: Intel Xeon Phi Coprocessor High-performance Programming. Newnes, Oxford (2013)Google Scholar
  12. 12.
    LeVeque, R.J.: Finite Volume Methods for Hyperbolic Problems. Cambridge University Press (2002).
  13. 13.
    LeVeque, R.J., George, D.L., Berger, M.J.: Tsunami modelling with adaptively refined finite volume methods. Acta Numer. 20, 211–289 (2011)MathSciNetCrossRefGoogle Scholar
  14. 14.
    Mandli, K.T.: A numerical method for the two layer shallow water equations with dry states. Ocean Model. 72, 80–91 (2013)CrossRefGoogle Scholar
  15. 15.
    Mandli, K.T., Dawson, C.N.: Adaptive mesh refinement for storm surge. Ocean Model. 75, 36–50 (2014)CrossRefGoogle Scholar
  16. 16.
    McCalpin, J.D.: Memory bandwidth and machine balance in current high performance computers. IEEE TCCA Newsl. 2, 19–25 (1995)Google Scholar
  17. 17.
    Meister, O., Rahnema, K., Bader, M.: Parallel memory-efficient adaptive mesh refinement on structured triangular meshes with billions of grid cells. ACM Trans. Math. Softw. 43(3), 19 (2016)MathSciNetCrossRefGoogle Scholar
  18. 18.
    Mitchell, W.F.: Adaptive refinement for arbitrary finite-element spaces with hierarchical bases. J. Comput. Appl. Math. 36(1), 65–78 (1991)MathSciNetCrossRefGoogle Scholar
  19. 19.
    Rettenberger, S., Meister, O., Bader, M., Gabriel, A.A.: ASAGI - a parallel server for adaptive geoinformation. In: Proceedings of EASC, pp. 2:1–2:9. ACM (2016)Google Scholar
  20. 20.
    Sampath, R.S., Adavani, S.S., Sundar, H., Lashuk, I., Biros, G.: Dendro: Parallel algorithms for multigrid and AMR methods on 2:1 balanced octrees. In: Proc. 2008 ACM/IEEE Conference on Supercomputing, pp. 18:1–18:12. IEEE Press (2008)Google Scholar
  21. 21.
    Terpstra, D., Jagode, H., You, H., Dongarra, J.: Collecting performance data with PAPI-C. In: Müller, M., Resch, M., Schulz, A., Nagel, W. (eds.) Tools for High Performance Computing 2009. Springer, Heidelberg (2010). Scholar
  22. 22.
    Wahib, M., Maruyama, N., Aoki, T.: Daino: a high-level framework for parallel and efficient AMR on GPUs. In: Proceedings of International Conference on HPC, Networking, Storage and Analysis, pp. 53:1–53:12. IEEE Press (2016)Google Scholar
  23. 23.
    Weinzierl, T.: The Peano software - parallel, automaton-based, dynamically adaptive grid traversals. ACM Trans. Math. Softw. 45, 14 (2019)CrossRefGoogle Scholar
  24. 24.
    Weinzierl, T., Bader, M., Unterweger, K., Wittmann, R.: Block fusion on dynamically adaptive spacetree grids for shallow water waves. Parallel Process. Lett. 24(3), 1441006 (2014)MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Department of InformaticsTechnical University of MunichMunichGermany

Personalised recommendations