title: Automated Code Engine for Graphical Processing Units: Application to the Effective Core Potential Integrals and Gradients.
abstract: 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.
authors.affiliation: Department of Chemistry and the PULSE Institute, Stanford University , Stanford, California 94305, United States.|SLAC National Accelerator Laboratory , Menlo Park, California 94025, United States.
authors.forename: Chenchen
authors.initials: C
authors.lastname: Song
authors.affiliation: Department of Chemistry and the PULSE Institute, Stanford University , Stanford, California 94305, United States.|SLAC National Accelerator Laboratory , Menlo Park, California 94025, United States.
authors.forename: Lee-Ping
authors.initials: LP
authors.lastname: Wang
authors.affiliation: Department of Chemistry and the PULSE Institute, Stanford University , Stanford, California 94305, United States.|SLAC National Accelerator Laboratory , Menlo Park, California 94025, United States.
authors.forename: Todd J
authors.initials: TJ
authors.lastname: Martínez