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.
Original language | English |
---|---|
Pages (from-to) | 211-228 |
Number of pages | 18 |
Journal | Molecular Physics |
Volume | 104 |
Issue number | 2 |
DOIs | |
State | Published - Jan 20 2006 |
Funding
This work has been supported in part (1) by the National Science Foundation, grants CHE-0121676, CHE-0121706, CCR-0073800 and EIA-9986052; (2) by the Laboratory Directed Research and Development Program of Oak Ridge National Laboratory (ORNL), managed by UT-Battelle, LLC for the US Dept. of Energy under contract DE-AC-05-00OR22725; and (3) by Discovery Grant 262942-03 from the Natural Sciences and Engineering Research Counsel of Canada (NSERC). This research was performed in part using the Molecular Science Computing Facility in the William R. Wiley Environmental Molecular Sciences Laboratory, a national scientific user facility sponsored by the U.S. Department of Energy’s Office of Biological and Environmental Research and located at the Pacific Northwest National Laboratory. PNNL is operated for the Department of Energy by Battelle.