Memory minimization for tensor contractions using integer linear programming
Document Type
Conference Proceeding
Publication Date
1-1-2006
Abstract
This paper presents a technique for memory optimization for a class of computations that arises in the field of correlated electronic structure methods such as coupled cluster and configuration interaction methods in quantum chemistry. In this class of computations, loop computations perform a multi-dimensional sum of product of input arrays. There are many different ways to get the same final results that differ in the required number of arithmetic operations required. In addition, for a given number of arithmetic operations, different expressions of the loop have different memory requirements. Loop fusion is a plausible solution for reducing memory usage. By fusing loops between producer loop nest and consumer loop nest, the required storage of intermediate array is reduced by the range of the fused loop. Because resultant loops have to be legal after fusion, some loops can not be fused at the same time. In this paper, we have developed a novel integer linear programming (ILP) formulation that is shown to be highly effective on a number of test cases producing the optimal solutions using very small execution times. The main idea in the ILP formulation is the encoding of legality rules for loop fusion of a special class of loops using logical constraints over binary decision variables and a highly effective approximation of memory usage. © 2006 IEEE.
Publication Source (Journal or Book title)
20th International Parallel and Distributed Processing Symposium, IPDPS 2006
Recommended Citation
Allam, A., Ramanujam, J., Baumgartner, G., & Sadayappan, P. (2006). Memory minimization for tensor contractions using integer linear programming. 20th International Parallel and Distributed Processing Symposium, IPDPS 2006, 2006 https://doi.org/10.1109/IPDPS.2006.1639717