GHOST: Building Blocks for High Performance Sparse Linear Algebra on Heterogeneous Systems - Kreutzer, Moritz; Thies, Jonas; Röhrig-Zöllner, Melven; Pieper, Andreas; Shahzad, Faisal; Galgon, Martin; Basermann, Achim; Fehske, Holger; Hager, Georg; Wellein, Gerhard (International Journal of Parallel Programming, 2016)
While many of the architectural details of future exascale-class high performance computer systems are still a matter of intense research, there appears to be a general consensus that they will be strongly heterogeneous, featuring “standard” as well as “accelerated” resources. Today, such resources are available as multicore processors, graphics processing units (GPUs), and other accelerators such as the Intel Xeon Phi. Any software infrastructure that claims usefulness for such environments must be able to meet their inherent challenges: massive multi-level parallelism, topology, asynchronicity, and abstraction. The “General, Hybrid, and Optimized Sparse Toolkit” (GHOST) is a collection of building blocks that targets algorithms dealing with sparse matrix representations on current and future large-scale systems. It implements the “MPI+X” paradigm, has a pure C interface, and provides hybrid-parallel numerical kernels, intelligent resource management, and truly heterogeneous parallelism for multicore CPUs, Nvidia GPUs, and the Intel Xeon Phi. We describe the details of its design with respect to the challenges posed by modern heterogeneous supercomputers and recent algorithmic developments. Implementation details which are indispensable for achieving high efficiency are pointed out and their necessity is justified by performance measurements or predictions based on performance models. We also provide instructions on how to make use of GHOST in existing software packages, together with a case study which demonstrates the applicability and performance of GHOST as a component within a larger software stack. The library code and several applications are available as open sourc
Keywords: Data parallelism; Heterogeneous computing; Large scale computing; Software library; Sparse linear algebra; Task parallelism

High-performance implementation of Chebyshev filter diagonalization for interior eigenvalue computations - Wellein, Gerhard; Alvermann, Andreas; Fehske, Holger; Hager, Georg; Kreutzer, Moritz; Lang, Bruno; Pieper, Andreas; Galgon, Martin (Journal of Computational Physics, 2016)
We study Chebyshev filter diagonalization as a tool for the computation of many interior eigenvalues of very large sparse symmetric matrices. In this technique the subspace projection onto the target space of wanted eigenvectors is approximated with filter polynomials obtained from Chebyshev expansions of window functions. After the discussion of the conceptual foundations of Chebyshev filter diagonalization we analyze the impact of the choice of the damping kernel, search space size, and filter polynomial degree on the computational accuracy and effort, before we describe the necessary steps towards a parallel high-performance implementation. Because Chebyshev filter diagonalization avoids the need for matrix inversion it can deal with matrices and problem sizes that are presently not accessible with rational function methods based on direct or iterative linear solvers. To demonstrate the potential of Chebyshev filter diagonalization for large-scale problems of this kind we include as an example the computation of the 10(2) innermost eigenpairs of a topological insulator matrix with dimension 10(9) derived from quantum physics applications. (C) 2016 Elsevier Inc. All rights reserved.
Keywords: Interior eigenvalues; Chebyshev filter polynomials; Performance engineering; Quantum physics; Topological materials

Performance Engineering of the Kernel Polynomal Method on Large-Scale CPU-GPU Systems - Kreutzer, Moritz; Hager, Georg; Wellein, Gerhard; Alvermann, Andreas; Fehske, Holger; Pieper, Andreas (Proceedings of the 2015 IEEE International Parallel and Distributed Processing Symposium (IPDPS), 2015)
The Kernel Polynomial Method (KPM) is a well-established scheme in quantum physics and quantum chemistry to determine the eigenvalue density and spectral properties of large sparse matrices. In this work we demonstrate the high optimization potential and feasibility of peta-scale heterogeneous CPU-GPU implementations of the KPM. At the node level we show that it is possible to decouple the sparse matrix problem posed by KPM from main memory bandwidth both on CPU and GPU. To alleviate the effects of scattered data access we combine loosely coupled outer iterations with tightly coupled block sparse matrix multiple vector operations, which enables pure data streaming. All optimizations are guided by a performance analysis and modelling process that indicates how the computational bottlenecks change with each optimization step. Finally we use the optimized node-level KPM with a hybrid-parallel framework to perform large scale heterogeneous electronic structure calculations for novel topological materials on a petascale-class Cray XC30 system.
UnivIS-Import:2016-06-01:Pub.2015.tech.IMMD.phleir.perfor
Keywords: Parallel programming; Quantum mechanics; Performance analysis; Sparse matrices