Performance-Portable Finite Element Assembly Using PyOP2 and FEniCS

  • Graham R. Markall
  • Florian Rathgeber
  • Lawrence Mitchell
  • Nicolas Loriant
  • Carlo Bertolli
  • David A. Ham
  • Paul H. J. Kelly
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7905)

Abstract

We describe a toolchain that provides a fully automated compilation pathway from a finite element domain-specific language to low-level code for multicore and GPGPU platforms. We demonstrate that the generated code exceeds the performance of the best available alternatives, without requiring manual tuning or modification of the generated code. The toolchain can easily be integrated with existing finite element solvers, providing a means to add performance portable methods without having to rebuild an entire complex implementation from scratch.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Logg, A., Mardal, K.-A., Wells, G.N.: Automated Solution of Differential Equations by the Finite Element Method. Springer (2012)Google Scholar
  2. 2.
    Rathgeber, F., Markall, G.R., Mitchell, L., Loriant, N., Ham, D.A., Bertolli, C., Kelly, P.H.J.: PyOP2: A High-Level Framework for Performance-Portable Simulations on Unstructured Meshes. In: WOLFHPC 2012: Workshop on Languages for High-Performance Computing at SC 2012 (November 2012)Google Scholar
  3. 3.
    Applied Modelling and Computation Group Department of Earth Science and Engineering, South Kensington Campus, Imperial College London, London, SW7 2AZ, UK: Fluidity Manual. Version 4.0-release edn. (November 2010)Google Scholar
  4. 4.
    Karniadakis, G.E., Sherwin, S.J.: Spectral/hp Element Methods for Computational Fluid Dynamics, 2nd edn. Oxford University Press (2005)Google Scholar
  5. 5.
    Balay, S., Brown, J., Buschelman, K., Eijkhout, V., Gropp, W.D., Kaushik, D., Knepley, M.G., McInnes, L.C., Smith, B.F., Zhang, H.: PETSc users manual. Technical Report ANL-95/11 - Revision 3.3, Argonne National Laboratory (2012)Google Scholar
  6. 6.
    Kirby, R.C., Logg, A.: A compiler for variational forms. ACM Transactions on Mathematical Software 32(3), 417–444 (2006)MathSciNetCrossRefGoogle Scholar
  7. 7.
    Russell, F.: An Active-Library Based Investigation into the Performance Optimisation of Linear Algebra and the Finite Element Method. PhD thesis, Imperial College London (June 2011)Google Scholar
  8. 8.
    Mudalige, G.R., Giles, M.B., Spencer, B., Bertolli, C., Reguly, I.Z.: Designing OP2 for GPU Architectures. Journal of Parallel and Distributed Computing (2012) (in press)Google Scholar
  9. 9.
    Bell, N., Garland, M.: Cusp: Generic parallel algorithms for sparse matrix and graph computations, Version 0.3.0 (2012)Google Scholar
  10. 10.
    Logg, A., Wells, G.N.: Dolfin: Automated finite element computing. ACM Trans. Math. Softw. 37(2), 20:1–20:28 (2010)Google Scholar
  11. 11.
    Vos, P.E.J., Eskilsson, C., Bolis, A., Chun, S., Kirby, R.M., Sherwin, S.J.: A generic framework for time-stepping partial differential equations (pdes): general linear methods, object-oriented implementation and application to fluid problems. Int. J. Comput. Fluid Dyn. 25(3), 107–125 (2011)MathSciNetCrossRefGoogle Scholar
  12. 12.
    Cantwell, C.D., Sherwin, S.J., Kirby, R.M., Kelly, P.H.J.: From h to p Efficiently: Selecting the Optimal Spectral/hp Discretisation in Three Dimensions. Mathematical Modelling of Natural Phenomena 6(3), 84–96 (2011)MathSciNetMATHCrossRefGoogle Scholar
  13. 13.
    DeVito, Z., Joubert, N., Palacios, F., Oakley, S., Medina, M., Barrientos, M., Elsen, E., Ham, F., Aiken, A., Duraisamy, K., Darve, E., Alonso, J., Hanrahan, P.: Liszt: a domain specific language for building portable mesh-based pde solvers. In: Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis, SC 2011, pp. 9:1–9:12. ACM, New York (2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Graham R. Markall
    • 1
  • Florian Rathgeber
    • 1
  • Lawrence Mitchell
    • 2
  • Nicolas Loriant
    • 1
  • Carlo Bertolli
    • 3
  • David A. Ham
    • 1
  • Paul H. J. Kelly
    • 1
  1. 1.Imperial College LondonUK
  2. 2.EPCC, University of EdinburghUK
  3. 3.IBM T.J. Watson Research CenterUSA

Personalised recommendations