TCE-OpMin

From HPCRL Wiki
Revision as of 07:21, 7 January 2008 by 125.163.201.37 (Talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

Introduction

Users of current and emerging high-performance parallel computers face major challenges to both performance and productivity in the development of their scientific applications. For example, the manual development of accurate quantum chemistry models typically takes an expert several months of tedious effort; high-performance implementations can take substantially longer. One approach to address this situation is the use of automatic code generation to synthesize efficient parallel programs from the equations to be implemented, expressed in a very high-level domain-specific language. The Tensor Contraction Engine (TCE) is such a tool, being developed through a collaboration between computer scientists and quantum chemists.

The first step in the TCE’s code synthesis process is the transformation of input equations into an equivalent form with minimal operation count. Equations typically range from around ten to over a hundred terms, each involving the contraction of two or more tensors, and most quantum chemical methods involve two or more coupled equations of this type. This optimization problem can be viewed as a generalization of the matrix chain multiplication problem, which, unlike the matrix-chain case, has been shown to be NP-hard. Our prior work focused on the use of single-term optimization (strength reduction or parenthesization), which decomposes multi-tensor contraction operations into a sequence of binary contractions, coupled with a global search of the composite single-term solution space for factorization opportunities. Exhaustive search (for small cases) and a number of heuristics were shown to be effective in minimizing the operation count.

Common subexpression elimination (CSE) is a classical optimization technique used in traditional optimizing compilers to reduce the number of operations, where intermediates are identified that can be computed once and stored for use multiple times later. CSE is routinely used in the manual formulation of quantum chemical methods, but because of the complexity of the equations, it is extremely difficult to explore all possible formulations manually. CSE is a powerful technique that allows the exploration of the much larger algorithmic space than our previous approaches to operation minimization. However, the cost of the search itself grows explosively. In this paper, we develop an approach to CSE identification in the context of operation minimization for tensor contraction expressions. The developed approach is shown to be very effective, in that it automatically finds efficient computational forms for challenging tensor equations.

Quantum chemists have proposed domain-specific heuristics for strength reduction and factorization for specific forms of tensor contraction expressions. However, their work does not consider the general form of arbitrary tensor contraction expressions. Single-term optimizations in the context of a general class of tensor contraction expressions were addressed in [???]. Approaches to single-term optimizations and factorization of tensor contraction expressions were presented in [???]. Common subexpression identification to enhance single-term optimization was not considered in any of these approaches.


Compilation

Library Usage

Contact Info

Please contact Albert Hartono(hartonoa@cse.ohio-state.edu) for questions.

References

Personal tools