TY - JOUR
T1 - Tensor contraction engine
T2 - Abstraction and automated parallel implementation of configuration-interaction, coupled-cluster, and many-body perturbation theories
AU - Hirata, So
PY - 2003/11/20
Y1 - 2003/11/20
N2 - We have developed a symbolic manipulation program and program generator (tensor contraction engine or TCE) that abstracts and automates the time-consuming, error-prone processes of deriving the working equations of a well-defined model of second-quantized many-electron theories and synthesizing efficient parallel computer programs on the basis of these equations. Provided an ansatz of a many-electron theory model, TCE performs valid contractions of creation and annihilation operators according to Wick's theorem, consolidates identical terms, and reduces the expressions into the form of multiple tensor contractions acted upon by permutation operators. It subsequently determines the binary contraction order for each multiple tensor contraction with the minimal operation and memory cost, factorizes common binary contractions (defines intermediate tensors), and identifies reusable intermediates. The resulting ordered list of binary tensor contractions, additions, and index permutations is translated into an optimized program that is combined with the NWCHEM and UTCHEM computational chemistry software packages. The programs synthesized by TCE take advantage of spin symmetry (within the spin-orbital formalisms), real Abelian point-group symmetry, and index permutation symmetry at every stage of the calculations to minimize the number of arithmetic operations and storage requirement, adjust the peak local memory usage by index-range tiling, and support parallel I/O interfaces and dynamic load balancing for parallel executions. We demonstrate the utility of TCE through automatic derivation and implementation of parallel programs for a range of predictive computational methods - configuration-interaction theory (CISD, CISDT, CISDTQ), generalized many-body perturbation theory [MBPT-(2), MBPT(3), MBPT(4)], and coupled cluster theory (LCCD, CCD, LCCSD, CCSD, QCISD, CCSDT, and CCSDTQ), some for the first time - and discuss the performance of the implemented programs.
AB - We have developed a symbolic manipulation program and program generator (tensor contraction engine or TCE) that abstracts and automates the time-consuming, error-prone processes of deriving the working equations of a well-defined model of second-quantized many-electron theories and synthesizing efficient parallel computer programs on the basis of these equations. Provided an ansatz of a many-electron theory model, TCE performs valid contractions of creation and annihilation operators according to Wick's theorem, consolidates identical terms, and reduces the expressions into the form of multiple tensor contractions acted upon by permutation operators. It subsequently determines the binary contraction order for each multiple tensor contraction with the minimal operation and memory cost, factorizes common binary contractions (defines intermediate tensors), and identifies reusable intermediates. The resulting ordered list of binary tensor contractions, additions, and index permutations is translated into an optimized program that is combined with the NWCHEM and UTCHEM computational chemistry software packages. The programs synthesized by TCE take advantage of spin symmetry (within the spin-orbital formalisms), real Abelian point-group symmetry, and index permutation symmetry at every stage of the calculations to minimize the number of arithmetic operations and storage requirement, adjust the peak local memory usage by index-range tiling, and support parallel I/O interfaces and dynamic load balancing for parallel executions. We demonstrate the utility of TCE through automatic derivation and implementation of parallel programs for a range of predictive computational methods - configuration-interaction theory (CISD, CISDT, CISDTQ), generalized many-body perturbation theory [MBPT-(2), MBPT(3), MBPT(4)], and coupled cluster theory (LCCD, CCD, LCCSD, CCSD, QCISD, CCSDT, and CCSDTQ), some for the first time - and discuss the performance of the implemented programs.
UR - http://www.scopus.com/inward/record.url?scp=0345566357&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=0345566357&partnerID=8YFLogxK
U2 - 10.1021/jp034596z
DO - 10.1021/jp034596z
M3 - Article
AN - SCOPUS:0345566357
SN - 1089-5639
VL - 107
SP - 9887
EP - 9897
JO - Journal of Physical Chemistry A
JF - Journal of Physical Chemistry A
IS - 46
ER -