Efficient AMG on Heterogeneous Systems

  • Jiri Kraus
  • Malte Förster
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7174)


In many numerical simulation codes the backbone of the application covers the solution of linear systems of equations. Often, being created via a discretization of differential equations, the corresponding matrices are very sparse. One popular way to solve these sparse linear systems are multigrid methods - in particular AMG - because of their numerical scalability. As the memory bandwidth is usually the bottleneck of linear solvers for sparse systems they especially benefit from high throughput architectures like GPUs. We will show that this is true even for a rather complex hierarchical method like AMG. The presented benchmarks are all based on the new open source library LAMA and compare the run times on different GPUs to those of an efficient OpenMP parallel CPU implementation. As the memory access pattern is especially crucial for GPUs we have a focus on the performance of different sparse matrix formats.




Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    hypre homepage (2010), (last viewed December 2010)
  2. 2.
    Petsc homepage (2010), (last viewed December 2010)
  3. 3.
    Blitz++ homepage (2011), (last viewed January 2011)
  4. 4.
    Ellpack homepage (2011), (last viewed April 2011)
  5. 5.
    Hiflow3 homepage (2011), (last viewed August 2011)
  6. 6.
    Barrett, R.: Templates for the solution of linear systems: building blocks for iterative methods. Society for Industrial Mathematics (1994)Google Scholar
  7. 7.
    Baskaran, M., Bordawekar, R.: Optimizing sparse matrix-vector multiplication on gpus. IBM Research Report (2008)Google Scholar
  8. 8.
    Bell, N., Garland, M.: Efficient sparse matrix-vector multiplication on CUDA. In: Proc. ACM/IEEE Conf. Supercomputing (SC), Portland, OR, USA (2009)Google Scholar
  9. 9.
    Feng, Z., Zeng, Z.: Parallel multigrid preconditioning on graphics processing units (GPUs) for robust power grid analysis. In: Proceedings of the 47th Design Automation Conference, pp. 661–666. ACM (2010)Google Scholar
  10. 10.
    Förster, M., Kraus, J.: Scalable parallel AMG on ccNUMA machines with OpenMP. Computer Science-Research and Development, 1–8 (2011)Google Scholar
  11. 11.
    Haase, G., Liebmann, M., Douglas, C., Plank, G.: A parallel algebraic multigrid solver on graphics processing units. In: High Performance Computing and Applications, pp. 38–47 (2010)Google Scholar
  12. 12.
    Heuveline, V., Subramanian, C., Lukarski, D., Weiss, J.: A multi-platform linear algebra toolbox for finite element solvers on heterogeneous clusters. In: 2010 IEEE International Conference on Cluster Computing Workshops and Posters (CLUSTER WORKSHOPS), pp. 1–6. IEEE (2010)Google Scholar
  13. 13.
    Kirk, D., Hwu, W.-M.: Programming massively parallel processors: A Hands-on approach. Morgan Kaufmann Publishers Inc., San Francisco (2010)Google Scholar
  14. 14.
    Klie, H., Sudan, H., Li, R., Saad, Y.: Exploiting capabilities of many core platforms in reservoir simulation. In: SPE Reservoir Simulation Symposium (2011)Google Scholar
  15. 15.
    Ruge, J., Stüben, K.: Algebraic Multigrid (AMG). In: McCormick, S.F. (ed.) Multigrid Methods. Frontiers in Applied Mathematics, vol. 3, pp. 73–130. SIAM, Philadelphia (1987)CrossRefGoogle Scholar
  16. 16.
    Vandevoorde, D., Josuttis, N.: C++ templates: the Complete Guide. Addison-Wesley Professional (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Jiri Kraus
    • 1
  • Malte Förster
    • 1
  1. 1.Fraunhofer Institute for Algorithms and Scientific Computing SCAISankt AugustinGermany

Personalised recommendations