# Tensor contraction engine: Abstraction and automated parallel implementation of configuration-interaction, coupled-cluster, and many-body perturbation theories

## Abstract

We develop a symbolic manipulation program and program generator (Tensor Contraction Engine or TCE) that automatically derives the working equations of a well-defined model of second-quantized many-electron theories and synthesizes 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 by permutation operators. Subsequently, it 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, Abelian point-group symmetry, and index permutation symmetry at every stage of 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 throughmore »

- Authors:

- Publication Date:

- Research Org.:
- Pacific Northwest National Laboratory (PNNL), Richland, WA (US), Environmental Molecular Sciences Laboratory (EMSL)

- Sponsoring Org.:
- USDOE

- OSTI Identifier:
- 15006321

- Report Number(s):
- PNNL-SA-38189

Journal ID: ISSN 1089-5639; JPCAFH; 3410; KC0301020; TRN: US200419%%510

- DOE Contract Number:
- AC05-76RL01830

- Resource Type:
- Journal Article

- Journal Name:
- Journal of Physical Chemistry A, 107(46):9887-9897

- Additional Journal Information:
- Journal Volume: 107; Journal Issue: 46; Journal ID: ISSN 1089-5639

- Country of Publication:
- United States

- Language:
- English

- Subject:
- 73 NUCLEAR PHYSICS AND RADIATION PHYSICS; ANNIHILATION OPERATORS; CHEMISTRY; COMPUTER CODES; CONFIGURATION INTERACTION; CONTRACTION; DYNAMIC LOADS; ENGINES; IMPLEMENTATION; SPIN; STORAGE; SYMMETRY; Environmental Molecular Sciences Laboratory

### Citation Formats

```
Hirata, So.
```*Tensor contraction engine: Abstraction and automated parallel implementation of configuration-interaction, coupled-cluster, and many-body perturbation theories*. United States: N. p., 2003.
Web. doi:10.1021/jp034596z.

```
Hirata, So.
```*Tensor contraction engine: Abstraction and automated parallel implementation of configuration-interaction, coupled-cluster, and many-body perturbation theories*. United States. doi:10.1021/jp034596z.

```
Hirata, So. Thu .
"Tensor contraction engine: Abstraction and automated parallel implementation of configuration-interaction, coupled-cluster, and many-body perturbation theories". United States. doi:10.1021/jp034596z.
```

```
@article{osti_15006321,
```

title = {Tensor contraction engine: Abstraction and automated parallel implementation of configuration-interaction, coupled-cluster, and many-body perturbation theories},

author = {Hirata, So},

abstractNote = {We develop a symbolic manipulation program and program generator (Tensor Contraction Engine or TCE) that automatically derives the working equations of a well-defined model of second-quantized many-electron theories and synthesizes 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 by permutation operators. Subsequently, it 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, Abelian point-group symmetry, and index permutation symmetry at every stage of 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 various models of configuration-interaction theory (CISD, CISDT, CISDTQ), many-body perturbation theory [MBPT(2), MBPT(3), MBPT(4)], and coupled-cluster theory (LCCD, CCD, LCCSD, CCSD, QCISD, CCSDT, and CCSDTQ).},

doi = {10.1021/jp034596z},

journal = {Journal of Physical Chemistry A, 107(46):9887-9897},

issn = {1089-5639},

number = 46,

volume = 107,

place = {United States},

year = {2003},

month = {11}

}