Scheduling parallel eigenvalue computations in a quantum chemistry code

  • Authors:
  • Martin Roderus;Anca Berariu;Hans-Joachim Bungartz;Sven Krüger;Alexei Matveev;Notker Rösch

  • Affiliations:
  • Institut für Informatik, Technische Universität München, Germany;Institut für Informatik, Technische Universität München, Germany;Institut für Informatik, Technische Universität München, Germany;Department Chemie and Catalysis Research Center, Technische Universität, München, Germany;Department Chemie and Catalysis Research Center, Technische Universität, München, Germany;Department Chemie and Catalysis Research Center, Technische Universität, München, Germany

  • Venue:
  • Euro-Par'10 Proceedings of the 16th international Euro-Par conference on Parallel processing: Part II
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

The application of High Performance Computing to Quantum Chemical (QC) calculations faces many challenges. A central step is the solution of the generalized eigenvalue problem of a Hamilton matrix. Although in many cases its execution time is small relative to other numerical tasks, its complexity of O(N3) is higher, thus more significant in larger applications. For parallel QC codes, it therefore is advantageous to have a scalable solver for this step. We investigate the case where the symmetry of a molecule leads to a block-diagonal matrix structure, which complicates an efficient use of available parallel eigensolvers. We present a technique which employs a malleable parallel task scheduling (MPTS) algorithm to schedule instances of sequential and parallel eigensolver routines from LAPACK and ScaLAPACK. In this way, an efficient use of hardware resources is guaranteed while overall scalability is facilitated. Finally, we evaluate the proposed technique for electronic structure calculations of real chemical systems. For the systems considered, the performance was improved by factors of up to 8.4, compared to the previously used, nonmalleable parallel scheduling approach.