Automated Code Engine for Graphical Processing Units: Application to the Effective Core Potential Integrals and Gradients

被引:60
作者
Song, Chenchen [1 ,2 ,3 ]
Wang, Lee-Ping [1 ,2 ,3 ]
Martinez, Todd J. [1 ,2 ,3 ]
机构
[1] Stanford Univ, Dept Chem, Stanford, CA 94305 USA
[2] Stanford Univ, PULSE Inst, Stanford, CA 94305 USA
[3] SLAC Natl Accelerator Lab, Menlo Pk, CA 94025 USA
基金
美国国家科学基金会;
关键词
COMPUTER-GENERATED FORMULAS; DENSITY-FUNCTIONAL THEORY; PROGRAM DEPENDENCE GRAPH; SLATER-TYPE ORBITALS; QUANTUM-CHEMISTRY; DATA FLOW; REGISTER ALLOCATION; GAUSSIAN INTEGRALS; IMPLEMENTATION; OPTIMIZATION;
D O I
10.1021/acs.jctc.5b00790
中图分类号
O64 [物理化学(理论化学)、化学物理学];
学科分类号
070304 ; 081704 ;
摘要
We present an automated code engine (ACE) that automatically generates optimized kernels for computing integrals in electronic structure theory on a given graphical processing unit (GPU) computing platform. The code generator in ACE creates multiple code variants with different memory and floating point operation trade-offs. A graph representation is created as the foundation of the code generation, which allows the code generator to be extended to various types of integrals. The code optimizer in ACE determines the optimal code variant and GPU configurations for a given GPU computing platform by scanning over all possible code candidates and then choosing the best-performing code candidate for each kernel. We apply ACE to the optimization of effective core potential integrals and gradients. It is observed that the best code candidate varies with differing angular momentum, floating point precision, and type of GPU being used, which shows that the ACE may be a powerful tool in adapting to fast evolving GPU architectures.
引用
收藏
页码:92 / 106
页数:15
相关论文
共 41 条
[1]  
Allen F. E., 1975, PROG METH, V23, P291
[2]   PROGRAM DATA FLOW ANALYSIS PROCEDURE [J].
ALLEN, FE ;
COCKE, J .
COMMUNICATIONS OF THE ACM, 1976, 19 (03) :137-147
[3]  
Appel Andrew W., 2004, MODERN COMPILER IMPL
[4]   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
[5]  
Baumgartner G, 2003, ABSTR PAP AM CHEM S, V226, pU303
[6]  
Bracken P, 1997, INT J QUANTUM CHEM, V62, P557, DOI 10.1002/(SICI)1097-461X(1997)62:6<557::AID-QUA1>3.0.CO
[7]  
2-V
[8]   Register allocation and spilling via graph coloring [J].
Chaitin, G .
ACM SIGPLAN NOTICES, 2004, 39 (04) :66-66
[9]   REGISTER ALLOCATION VIA COLORING [J].
CHAITIN, GJ ;
AUSLANDER, MA ;
CHANDRA, AK ;
COCKE, J ;
HOPKINS, ME ;
MARKSTEIN, PW .
COMPUTER LANGUAGES, 1981, 6 (01) :47-57
[10]   Determination of spin-orbit coupling contributions in the framework of density functional theory [J].
Chiodo, Sandro ;
Russo, Nino .
JOURNAL OF COMPUTATIONAL CHEMISTRY, 2008, 29 (06) :912-920