A massively parallel tensor contraction framework for coupled-cluster computations
Edgar Solomonik and Devin Matthews and Jeff Hammond and John Stanton and James Demmel
EECS Department, University of California, Berkeley
Technical Report No. UCB/EECS-2014-143
August 2, 2014
http://www2.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-143.pdf
Precise calculation of molecular electronic wavefunctions by methods such as coupled-cluster requires the computation of tensor contractions, the cost of which has polynomial computational scaling with respect to the system and basis set sizes. Each contraction may be executed via matrix multiplication on a properly ordered and structured tensor. However, data transpositions are often needed to reorder the tensors for each contraction. Writing and optimizing distributed-memory kernels for each transposition and contraction is tedious since the number of contractions scales combinatorially with the number of tensor indices. We present a distributed-memory numerical library (Cyclops Tensor Framework (CTF)) that automatically manages tensor blocking and redistribution to perform any user-specified contractions. CTF serves as the distributed memory contraction engine in Aquarius, a new program designed for high-accuracy and massively-parallel quantum chemical computations. Aquarius implements a range of coupled-cluster and related methods such as CCSD and CCSDT by writing the equations on top of a C++ templated domain-specific language. This DSL calls CTF directly to manage the data and perform the contractions. Our CCSD and CCSDT implementations achieve high parallel scalability on the BlueGene/Q and Cray XC30 supercomputer architectures showing that accurate electronic structure calculations can be effectively carried out on top of general distributed memory tensor primitives.
BibTeX citation:
@techreport{Solomonik:EECS-2014-143, Author= {Solomonik, Edgar and Matthews, Devin and Hammond, Jeff and Stanton, John and Demmel, James}, Title= {A massively parallel tensor contraction framework for coupled-cluster computations}, Year= {2014}, Month= {Aug}, Url= {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-143.html}, Number= {UCB/EECS-2014-143}, Abstract= {Precise calculation of molecular electronic wavefunctions by methods such as coupled-cluster requires the computation of tensor contractions, the cost of which has polynomial computational scaling with respect to the system and basis set sizes. Each contraction may be executed via matrix multiplication on a properly ordered and structured tensor. However, data transpositions are often needed to reorder the tensors for each contraction. Writing and optimizing distributed-memory kernels for each transposition and contraction is tedious since the number of contractions scales combinatorially with the number of tensor indices. We present a distributed-memory numerical library (Cyclops Tensor Framework (CTF)) that automatically manages tensor blocking and redistribution to perform any user-specified contractions. CTF serves as the distributed memory contraction engine in Aquarius, a new program designed for high-accuracy and massively-parallel quantum chemical computations. Aquarius implements a range of coupled-cluster and related methods such as CCSD and CCSDT by writing the equations on top of a C++ templated domain-specific language. This DSL calls CTF directly to manage the data and perform the contractions. Our CCSD and CCSDT implementations achieve high parallel scalability on the BlueGene/Q and Cray XC30 supercomputer architectures showing that accurate electronic structure calculations can be effectively carried out on top of general distributed memory tensor primitives.}, }
EndNote citation:
%0 Report %A Solomonik, Edgar %A Matthews, Devin %A Hammond, Jeff %A Stanton, John %A Demmel, James %T A massively parallel tensor contraction framework for coupled-cluster computations %I EECS Department, University of California, Berkeley %D 2014 %8 August 2 %@ UCB/EECS-2014-143 %U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-143.html %F Solomonik:EECS-2014-143