1. Automatic code generation for many-body electronic structure methods: the tensor contraction engine‡‡
- Author
-
Sriram Krishnamoorthy, David E. Bernholdt, Sandhya Krishnan, Daniel Cociorva, Venkatesh Choppella, Alexander A. Auer, Robert W. Harrison, Alina Bibireata, Alexander Sibiryakov, Marcel Nooijen, Xiaoyang Gao, Russell M. Pitzer, P. Sadayappan, J. Ramanujam, Qingda Lu, Chi-Chung Lam, and Gerald Baumgartner
- Subjects
Tensor contraction ,Computer science ,Biophysics ,Optimizing compiler ,Condensed Matter Physics ,Many body ,Task (project management) ,Computer engineering ,Code generation ,Physical and Theoretical Chemistry ,Molecular Biology ,Productivity ,Implementation ,Pace - Abstract
As both electronic structure methods and the computers on which they are run become increasingly complex, the task of producing robust, reliable, high-performance implementations of methods at a rapid pace becomes increasingly daunting. In this paper we present an overview of the Tensor Contraction Engine (TCE), a unique effort to address issues of both productivity and performance through automatic code generation. The TCE is designed to take equations for many-body methods in a convenient high-level form and acts like an optimizing compiler, producing an implementation tuned to the target computer system and even to the specific chemical problem of interest. We provide examples to illustrate the TCE approach, including the ability to target different parallel programming models, and the effects of particular optimizations.
- Published
- 2006