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.