New algorithm for tensor contractions on multi‐core CPUs, GPUs, and accelerators enables CCSD and EOM‐CCSD calculations with over 1000 basis functions on a single compute node. Issue 11 (1st March 2017) - Kaliman, Ilya A.; Krylov, Anna I.
Abstract : A new hardware‐agnostic contraction algorithm for tensors of arbitrary symmetry and sparsity is presented. The algorithm is implemented as a stand‐alone open‐source code libxm . This code is also integrated with general tensor library libtensor and with the Q‐Chem quantum‐chemistry package. An overview of the algorithm, its implementation, and benchmarks are presented. Similarly to other tensor software, the algorithm exploits efficient matrix multiplication libraries and assumes that tensors are stored in a block‐tensor form. The distinguishing features of the algorithm are: (i) efficient repackaging of the individual blocks into large matrices and back, which affords efficient graphics processing unit (GPU)‐enabled calculations without modifications of higher‐level codes; (ii) fully asynchronous data transfer between disk storage and fast memory. The algorithm enables canonical all‐electron coupled‐cluster and equation‐of‐motion coupled‐cluster calculations with single and double substitutions (CCSD and EOM‐CCSD) with over 1000 basis functions on a single quad‐GPU machine. We show that the algorithm exhibits predicted theoretical scaling for canonical CCSD calculations, O ( N 6 ), irrespective of the data size on disk. © 2017 Wiley Periodicals, Inc. Abstract : An algorithm for tensor contractions and its open‐source implementation are presented. The contraction algorithm is hardware‐agnostic and works on multi‐core CPUs, GPUs, and oating‐point accelerators. The code works efficiently with tensors of arbitrary symmetry and sparsity of up to tens of terabytes in size. Its utility is demonstrated in electronic structure calculations. The algorithm enables canonical all‐electron CCSD and EOM‐CCSD calculations with over 1000 basis functions on a single quad‐GPU machine.