2010 IEEE International Conference on Cluster Computing (2010)
Sept. 20, 2010 to Sept. 24, 2010
Tensor contractions are generalized multidimensional matrix multiplication operations that widely occur in quantum chemistry. Efficient execution of tensor contractions on GPUs requires tackling several challenges to be addressed, including index permutation and small dimension-sizes reducing thread block utilization. In this paper, we present our approach to automatically generate CUDA code to execute tensor contractions on GPUs, including management of data movement between CPU and GPU. GPU-enabled code is generated for the most expensive contractions in CCSD(T), a key coupled cluster method, and incorporated into NW Chem, a popular computational chemistry suite. We demonstrate speedup over a factor of 8.4 using one core per node and over 2.6 when utilizing the entire system using hybrid CPU+GPU solution with 2 GPUs and 5 cores. Finally, we analyze the implementation behavior on future GPU systems.
GPGPU clusters, tensor contractions, hybrid execution
S. Krishnamoorthy, O. Villay, K. Kowalski and W. Ma, "Acceleration of Streamed Tensor Contraction Expressions on GPGPU-Based Clusters," 2010 IEEE International Conference on Cluster Computing(CLUSTER), Heraklion, Greece, 2010, pp. 207-216.