Generating Efficient Quantum Chemistry Codes for Novel Architectures

被引:330
作者
Titov, Alexey V. [1 ,2 ,3 ]
Ufimtsev, Ivan S. [2 ,3 ]
Luehr, Nathan [2 ,3 ]
Martinez, Todd J. [2 ,3 ]
机构
[1] Univ Illinois, Natl Ctr Supercomp Applicat, Urbana, IL 61801 USA
[2] Stanford Univ, Dept Chem, Stanford, CA 94305 USA
[3] Stanford Univ, PULSE Inst, Stanford, CA 94305 USA
关键词
GRAPHICAL PROCESSING UNITS; 2-ELECTRON INTEGRALS; ELECTRON; COMPUTATION; PRECISION;
D O I
10.1021/ct300321a
中图分类号
O64 [物理化学(理论化学)、化学物理学];
学科分类号
070304 ; 081704 ;
摘要
We describe an extension of our graphics processing unit (GPU) electronic structure program TeraChem to include atom-centered Gaussian basis sets with d angular momentum functions. This was made possible by a meta-programming" strategy that leverages computer algebra systems for the derivation of equations and their transformation to correct code. We generate a multitude of code fragments that are formally mathematically equivalent, but differ in their memory and floating-point operation footprints. We then select between different code fragments using empirical testing to find the highest performing code variant. This leads to an optimal balance of floating-point operations and memory bandwidth for a given target architecture without laborious manual tuning. We show that this approach is capable of similar performance compared to our hand-tuned GPU kernels for basis sets with s and p angular momenta. We also demonstrate that mixed precision schemes (using both single and double precision) remain stable and accurate for molecules with d functions. We provide benchmarks of the execution time of entire self consistent field (SCF) calculations using our GPU code and compare to mature CPU based codes, showing the benefits of the GPU architecture for electronic structure theory with appropriately redesigned algorithms. We suggest that the meta-programming and empirical performance optimization approach may be important in future computational chemistry applications, especially in the face of quickly evolving computer architectures.
引用
收藏
页码:213 / 221
页数:9
相关论文
共 58 条
[1]  
Adamson RD, 1999, J COMPUT CHEM, V20, P921, DOI 10.1002/(SICI)1096-987X(19990715)20:9<921::AID-JCC3>3.0.CO
[2]  
2-K
[3]  
AHMADI GR, 1995, CHEM PHYS LETT, V246, P364, DOI 10.1016/0009-2614(95)01127-4
[4]   Quantum Monte Carlo on graphical processing units [J].
Anderson, Amos G. ;
Goddard, William A., III ;
Schroeder, Peter .
COMPUTER PHYSICS COMMUNICATIONS, 2007, 177 (03) :298-306
[5]   Atomic Cholesky decompositions: A route to unbiased auxiliary basis sets for density fitting approximation with tunable accuracy and efficiency [J].
Aquilante, Francesco ;
Gagliardi, Laura ;
Pedersen, Thomas Bondo ;
Lindh, Roland .
JOURNAL OF CHEMICAL PHYSICS, 2009, 130 (15)
[6]   Uncontracted Rys Quadrature Implementation of up to G Functions on Graphical Processing Units [J].
Asadchev, Andrey ;
Allada, Veerendra ;
Felder, Jacob ;
Bode, Brett M. ;
Gordon, Mark S. ;
Windus, Theresa L. .
JOURNAL OF CHEMICAL THEORY AND COMPUTATION, 2010, 6 (03) :696-704
[7]   Automatic code generation for many-body electronic structure methods: the tensor contraction engine [J].
Auer, AA ;
Baumgartner, G ;
Bernholdt, DE ;
Bibireata, A ;
Choppella, V ;
Cociorva, D ;
Gao, XY ;
Harrison, R ;
Krishnamoorthy, S ;
Krishnan, S ;
Lam, CC ;
Lu, QD ;
Nooijen, M ;
Pitzer, R ;
Ramanujam, J ;
Sadayappan, P ;
Sibiryakov, A .
MOLECULAR PHYSICS, 2006, 104 (02) :211-228
[8]   Tuned Range-Separated Hybrids in Density Functional Theory [J].
Baer, Roi ;
Livshits, Ester ;
Salzner, Ulrike .
ANNUAL REVIEW OF PHYSICAL CHEMISTRY, VOL 61, 2010, 61 :85-109
[9]   Symbolic calculation in chemistry: Selected examples [J].
Barnett, MP ;
Capitani, JF ;
von zur Gathen, J ;
Gerhard, J .
INTERNATIONAL JOURNAL OF QUANTUM CHEMISTRY, 2004, 100 (02) :80-104
[10]   Simplifications in the Generation and Transformation of Two-Electron Integrals in Molecular Calculations [J].
Beebe, Nelson H. F. ;
Linderberg, Jan .
INTERNATIONAL JOURNAL OF QUANTUM CHEMISTRY, 1977, 12 (04) :683-705