Abstract
Today's high computational demands from engineering fields and complex hardware development make it necessary to develop and optimize new algorithms toward achieving high performance and good scalability on the next generation of computers. The enormous gap between the high-performance capabilities of GPUs and the slow interconnect between them has made the development of numerical software that is scalable across multiple GPUs extremely challenging. We describe and analyze a successful methodology to address the challenges-starting from our algorithm design, kernel optimization and tuning, to our programming model-in the development of a scalable high-performance generalized eigenvalue solver in the context of electronic structure calculations in materials science applications. We developed a set of leading edge dense linear algebra algorithms, as part of a generalized eigensolver, featuring fine grained memory aware kernels, a task based approach and hybrid execution/scheduling. The goal of the new design is to increase the computational intensity of the major compute kernels and to reduce synchronization and data transfers between GPUs. We report the performance impact on the generalized eigensolver when different fractions of eigenvectors are needed. The algorithm described provides an enormous performance boost compared to current GPU-based solutions, and performance comparable to state-of-the-art distributed solutions, using a single node with multiple GPUs.
Original language | English |
---|---|
Title of host publication | Supercomputing - 28th International Supercomputing Conference, ISC 2013, Proceedings |
Pages | 67-80 |
Number of pages | 14 |
DOIs | |
State | Published - 2013 |
Event | 28th International Supercomputing Conference on Supercomputing, ISC 2013 - Leipzig, Germany Duration: Jun 16 2013 → Jun 20 2013 |
Publication series
Name | Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) |
---|---|
Volume | 7905 LNCS |
ISSN (Print) | 0302-9743 |
ISSN (Electronic) | 1611-3349 |
Conference
Conference | 28th International Supercomputing Conference on Supercomputing, ISC 2013 |
---|---|
Country/Territory | Germany |
City | Leipzig |
Period | 06/16/13 → 06/20/13 |
Funding
The authors would like to thank the National Science Foundation, the Department of Energy, NVIDIA, and MathWorks for supporting this research effort.