Abstract

An open-source middleware named EigenKernel was developed for use with parallel generalized eigenvalue solvers or large-scale electronic state calculation to attain high scalability and usability. The middleware enables the users to choose the optimal solver, among the three parallel eigenvalue libraries of ScaLAPACK, ELPA, EigenExa and hybrid solvers constructed from them, according to the problem specification and the target architecture. The benchmark was carried out on the Oakforest-PACS supercomputer and reveals that ELPA, EigenExa and their hybrid solvers show better performance, when compared with pure ScaLAPACK solvers. The benchmark on the K computer is also used for discussion. In addition, a preliminary research for the performance prediction was investigated, so as to predict the elapsed time T as the function of the number of used nodes P (T=T(P)). The prediction is based on Bayesian inference in the Markov Chain Monte Carlo (MCMC) method and the test calculation indicates that the method is applicable not only to performance interpolation but also to extrapolation. Such a middleware is of crucial importance for application-algorithm-architecture co-design among the current, next-generation (exascale), and future-generation (post-Moore era) supercomputers.

Highlights

  • Efficient computation with the current and upcoming supercomputers can be realized by application-algorithm-architecture co-design [1,2,3,4,5], in which various numerical algorithms should be prepared and the optimal one should be chosen according to the target application, architecture and problem

  • We focus on a middleware for the generalized eigenvalue problem (GEP) with real-symmetric coefficient matrices, since GEP forms the numerical foundation of electronic state calculations

  • We developed an open-source named middleware EigenKernel for the generalized eigenvalue problem that realizes high scalability and usability, responding to the solid need in large-scale electronic state calculations

Read more

Summary

Introduction

Efficient computation with the current and upcoming (both exascale and postMoore era) supercomputers can be realized by application-algorithm-architecture co-design [1,2,3,4,5], in which various numerical algorithms should be prepared and the optimal one should be chosen according to the target application, architecture and problem. The present paper proposes a middleware approach, so as to choose the optimal set of numerical routines for the target application and architecture. The routines are assumed to be included in ScaLAPACK and other parallel libraries. They show different performance characteristics and the optimal routine depends on the applications denoted as A, B, C and on the architectures denoted as X , Y , Z. Our middleware assists the user to choose the optimal routine among "QQMJDBUJPOA "QQMJDBUJPOB "QQMJDBUJPOC

Results
Discussion
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call