Performance Engineering and Energy Efficiency of Building Blocks for Large, Sparse Eigenvalue Computations on Heterogeneous Supercomputers [chapter]

Moritz Kreutzer, Jonas Thies, Andreas Pieper, Andreas Alvermann, Martin Galgon, Melven Röhrig-Zöllner, Faisal Shahzad, Achim Basermann, Alan R. Bishop, Holger Fehske, Georg Hager, Bruno Lang (+1 others)
2016 Lecture Notes in Computational Science and Engineering  
Numerous challenges have to be mastered as applications in scientific computing are being developed for post-petascale parallel systems. While ample parallelism is usually available in the numerical problems at hand, the efficient use of supercomputer resources requires not only good scalability but also a verifiably effective use of resources on the core, the processor, and the accelerator level. Furthermore, power dissipation and energy consumption are becoming further optimization targets
more » ... ides time to solution. Performance Engineering (PE) is the pivotal strategy for developing effective parallel code on all levels of modern architectures. In this paper we report on the development and use of low-level parallel building blocks in the GHOST library ("General, Hybrid, and Optimized Sparse Toolkit"). We demonstrate the use of PE in optimizing a density of states computation using the Kernel Polynomial Method, and show that reduction of runtime and reduction of energy are literally the same goal in this case. We also give a brief overview of the capabilities of GHOST and the applications in which it is being used successfully. 1 2 M. Kreutzer et al. Preconditioners Energy Efficiency Algorithms Applications Building Blocks Fault Tolerance Holistic Performance Engineering Fig. 1: Basic ESSEX project organization: The classic boundaries of application, algorithms, and basic building blocks tightly interact via a holistic performance engineering process.
doi:10.1007/978-3-319-40528-5_14 fatcat:ewrgqh36qza5xmnjafp6xkzvnq