Performance Optimization of Tensor Contraction Expressions for Many-Body Methods in Quantum Chemistry
- 28 September 2009
- journal article
- research article
- Published by American Chemical Society (ACS) in The Journal of Physical Chemistry A
- Vol. 113 (45), 12715-12723
- https://doi.org/10.1021/jp9051215
Abstract
Complex tensor contraction expressions arise in accurate electronic structure models in quantum chemistry, such as the coupled cluster method. This paper addresses two complementary aspects of performance optimization of such tensor contraction expressions. Transformations using algebraic properties of commutativity and associativity can be used to significantly decrease the number of arithmetic operations required for evaluation of these expressions. The identification of common subexpressions among a set of tensor contraction expressions can result in a reduction of the total number of operations required to evaluate the tensor contractions. The first part of the paper describes an effective algorithm for operation minimization with common subexpression identification and demonstrates its effectiveness on tensor contraction expressions for coupled cluster equations. The second part of the paper highlights the importance of data layout transformation in the optimization of tensor contraction computations on modern processors. A number of considerations, such as minimization of cache misses and utilization of multimedia vector instructions, are discussed. A library for efficient index permutation of multidimensional tensors is described, and experimental performance data is provided that demonstrates its effectiveness.Keywords
This publication has 20 references indexed in Scilit:
- Optimizing data permutations for SIMD devicesACM SIGPLAN Notices, 2006
- Automatic code generation for many-body electronic structure methods: the tensor contraction engine‡‡Molecular Physics, 2006
- Automated Operation Minimization of Tensor Contraction Expressions in Electronic Structure CalculationsLecture Notes in Computer Science, 2005
- Tensor Contraction Engine: Abstraction and Automated Parallel Implementation of Configuration-Interaction, Coupled-Cluster, and Many-Body Perturbation TheoriesThe Journal of Physical Chemistry A, 2003
- Fast Bit-Reversals on Uniprocessors and Shared-Memory MultiprocessorsSIAM Journal on Scientific Computing, 2001
- Automated empirical optimizations of software and the ATLAS projectParallel Computing, 2001
- On Optimizing a Class of Multi-Dimensional Loops with Reduction for Parallel ExecutionParallel Processing Letters, 1997
- A direct atomic orbital driven implementation of the coupled cluster singles and doubles (CCSD) modelChemical Physics Letters, 1994
- A direct product decomposition approach for symmetry exploitation in many-body methods. I. Energy calculationsThe Journal of Chemical Physics, 1991
- The automated solution of second quantization equations with applications to the coupled cluster approachTheoretical Chemistry Accounts, 1991