Welcome to SciGPU.org!

This is a website for an emerging community whose shared goal is harnessing the power of general-purpose programming of graphics processing units to accelerate data-intensive science. The Harvard-based SciGPU community shares knowledge through the site and informal seminars, as well as formal collaborations and publications.

Categories

Login



SciGPU participants

PROJECT

Quantum Chemistry with GPUs

With the advent of modern quantum theory almost a century ago, scientists quickly realized that quantum mechanics could offer a predictive theory of chemistry, revolutionizing the subject in the same way that Newton’s laws had transformed the study of classical mechanics.  As P.A.M Dirac famously said in 1929, “The underlying physical laws necessary for the mathematical theory of… the whole of chemistry are thus completely known, and the difficulty is only that the exact application of these laws leads to equations much too complicated to be soluble… Approximate practical methods of applying quantum mechanics should be developed…”  And so heralded what could be described as the dawn of computational chemistry, as the pioneers in this promising field began seeking such methods that had sufficient accuracy to be scientifically useful, yet did not overwhelm the available computational resources of the day.


Over the intervening decades, we have witnessed an exponential increase in available computing power. Coupled with tremendous advances in theory and algorithmic methods, as well as the painstaking development of sophisticated program suites often consisting of millions of lines of code, the scope of phenomena now amenable to the predictive techniques of quantum chemistry is continually growing.  Indeed, the modern field of computational chemistry now has an important role to play in traditionally distinct disciplines such as biology or condensed matter physics. Quantum chemistry calculations can help in many areas of science, ranging from the understanding of complex enzyme mechanisms to the design of new materials and the prediction of molecules in space. Such studies often require the use of major computational resources that can consume a significant fraction of the computer time at national supercomputer centers.

To ensure the future of the subject, there is a continual need to respond to the latest ideas across a range of disciplines, such as chemistry, physics, computer science and numerical methods.  As part of this effort, the Aspuru-Guzik group is pushing the boundaries of how we employ the latest hardware technology by exploring the use of graphical processing units (GPUs) to accelerate calculations traditionally performed using conventional CPUs.


The recent release of graphics card manufacturer NVIDIA’s compute unified device architecture (CUDA) development toolkit for high-end graphics cards allows developers to code algorithms in a C-like language. CUDA greatly eases the transition to general-purpose GPU (GPGPU) computing, as evidenced by the wealth of applications of CUDA-implemented algorithms. Along with CUDANVIDIA has also released the CUBLAS (compute unified basic linear algebra subprograms) library for cards that support CUDA.

We are exploring the use of GPGPU computing for accelerating quantum chemistry applications, in the first instance taking advantage of the relative ease with which an existing program can be adapted to use CUBLAS instead of a traditional linear algebra library.  More generally, the challenges in using GPGPU lie in modifying quantum chemistry algorithms to take advantage of the specialized hardware in a way that minimizes changes to the code and allows for co-evolution with the hardware. We are exploring the interplay between the different layers of parallelism, namely multi-core processors, interconnects and GPUs.  Currently, our group is focusing on the task of accelerating resolution-of-the-identity second-order Moeller-Plesset (RI-MP2) calculations, which is a work horse of computational chemistry for treating a wide variety of problems with relatively high accuracy.

Taxol RI-MP2 acceleration with MGEMM

Taxol RI-MP2 acceleration with MGEMM

In particular, we have accelerated the RI-MP2 code as implemented in the sophisticated program suite Q-Chem 3.1 by executing matrix-matrix multiplication operations using CUBLAS.  We exploited the fact that the RI-MP2 computational cost is dominated by matrix multiplications, while large matrices can be multiplied more than an order of magnitude faster on the GPU than on the host CPU.  With a moderate programming effort, our prototype code had a 4.3x speedup, considering the limited memory space the graphics cards included at that time. [L. Vogt, R. Olivares-Amaya, S. Kermes, Y. Shao, C. Amador-Bedolla and A. Aspuru-Guzik, J. Phys. Chem. A 112, 2049 (2008)]. Most recently, we have been developing an improved implementation of RI-MP2 which involved the development and implementation of the MGEMM library described elsewhere on this website.  Combining the MGEMM library with Q-Chem, and using the newer NVIDIA C1060 graphics card, we have been able to achieve up to 10x speedups over a conventional CPU implementation while maintaining chemical accuracy.  More details of this latest work can be found in our recent paper which has now been published in the Journal of Chemical Theory and Computation.