Cyclops Tensor Framework
Edgar Solomonik, University of California, Berkeley
Coupled cluster is a numerical method for calculating electronic structure of molecular systems. This quantum-mechanical approximation takes into account electronic excitations, producing highly accurate calculations for small and medium-sized molecules. The most computationally expensive part of this method are tensor contractions, and large supercomputers often are necessary to compute problems of significant size. I am developing a library which exploits scientifically intrinsic symmetries of these tensors, to perform contractions faster, enabling larger calculations and reducing the time to solution. Cyclops (cyclic-operations) Tensor Framework (CTF) is a distributed library for tensor contractions. CTF aims to scale high-dimensional tensor contractions such as those required in the coupled cluster (CC) electronic structure method to massively parallel supercomputers. The framework preserves tensor symmetry by subdividing tensors cyclically, producing a regular parallel decomposition. An internal virtualization layer provides completely general support for topology-aware mapping onto supercomputer networks and maintains perfect load balance. The mapping framework decides on the best mapping for each tensor contraction at run-time via explicit calculations of memory usage and communication volume. CTF employs a general redistribution kernel, which transposes a tensor of any dimension between arbitrary distributed layouts, yet touches each piece of data only once. Sequential symmetric contractions are done efficiently via a recursive application of the cyclic decomposition and memory-adaptive threading. The user-level interface elegantly expresses arbitrary-dimensional generalized tensor contractions. We demonstrate performance of CC with double excitations on a Blue Gene/Q supercomputer.
Abstract Author(s): Edgar Solomonik, Devin Matthews, Jeff Hammond, James Demmel