26 THIS ARTICLE HAS BEEN PEER-REVIEWED. COMPUTING IN SCIENCE & ENGINEERING N OVEL A RCHITECTURES Graphical Processing Units for Quantum Chemistry Ivan S. Ufimtsev and Todd J. Martínez University of Illinois at Urbana-Champaign The authors provide a brief overview of electronic structure theory and detail their experiences implementing quantum chemistry methods on a graphical processing unit. They also analyze algorithm performance in terms of loating-point operations and memory bandwidth, and assess the adequacy of single-precision accuracy for quantum chemistry applications. I n 1830, Auguste Comte wrote in his work Philosophie Positive: “Every attempt to em- ploy mathematical methods in the study of chemical questions must be considered profoundly irrational and contrary to the spirit of chemistry. If mathematical analysis should ever hold a prominent place in chemistry—an aberra- tion which is happily almost impossible—it would occasion a rapid and widespread degeneration of that science.” Fortunately, Comte’s assessment was far off the mark and, instead, the opposite has occurred. Detailed simulations based on the principles of quantum mechanics now play a large role in suggesting, guiding, and explaining ex- periments in chemistry and materials science. In fact, quantum chemistry is a major consumer of CPU cycles at national supercomputer centers, with the ield’s rise to prominence largely due to early demonstrations of quantum mechanics ap- plied to chemical problems and the tremendous advances in computing power over the past de- cades—two developments that Comte could not have foreseen. However, limited computational resources remain a serious obstacle to the application of quantum chemistry in problems of widespread importance, such as the design of more effective drugs to treat diseases or new catalysts for use in applications such as fuel cells or environmental remediation. Thus, researchers have a consider- able impetus to relieve this bottleneck in any way possible, both by developing new and more ef- fective algorithms and exploring new computer architectures. In our own work, we’ve recently begun exploring the use of graphical processing units (GPUs), and this article presents some of our experiences with GPUs for quantum chemistry. GPU Architecture Low precision (generally, 24-bit arithmetic) and limited programmability stymied early attempts to use GPUs for general-purpose scientiic com- puting. 1–4 However, the release of the Nvidia G80 series and the compute uniied device architec- ture (CUDA) application programming interface (API) have ushered in a new era in which these dif iculties are largely ameliorated. The CUDA API lets developers control the GPU via an exten- sion of the standard C programming language (as opposed to specialized assembler or graphics-ori- ented APIs, such as OpenGL and DirectX). The G80 supports 32-bit loating-point arithmetic, 1521-9615/08/$25.00 © 2008 IEEE COPUBLISHED BY THE IEEE CS AND THE AIP Authorized licensed use limited to: IEEE Xplore. Downloaded on November 3, 2008 at 02:16 from IEEE Xplore. Restrictions apply.