Accelerating Pythonic Coupled-Cluster Implementations: A Comparison Between CPUs and GPUs

Maximilian H. Kriebel,Paweł Tecmer,Marta Gałyńska,Aleksandra Leszczyk,Katharina Boguslawski
DOI: https://doi.org/10.1021/acs.jctc.3c01110
2024-02-03
Journal of Chemical Theory and Computation
Abstract:In this work, we benchmark several Python routines for time and memory requirements to identify the optimal choice of the tensor contraction operations available. We scrutinize how to accelerate the bottleneck tensor operations of Pythonic coupled-cluster implementations in the Cholesky linear algebra domain, utilizing a NVIDIA Tesla V100S PCIe 32GB (rev 1a) graphics processing unit (GPU). The NVIDIA compute unified device architecture API interacts with CuPy, an open-source library for Python,...
chemistry, physical,physics, atomic, molecular & chemical
What problem does this paper attempt to address?
The paper aims to address the following issues: 1. **Optimizing bottleneck tensor operations in Coupled-Cluster (CC) calculations**: The paper compares different hardware (CPU and GPU) and software libraries (such as NumPy, CuPy, etc.) to accelerate the key tensor contraction operations in Python-implemented coupled-cluster methods. 2. **Improving computational efficiency**: Researchers utilize the NVIDIA Tesla V100 GPU to accelerate the coupled-cluster implementation in the Cholesky linear algebra domain and evaluate its speedup relative to traditional CPU computations. 3. **Evaluating the performance of different Python libraries**: The paper explores the performance differences of various Python libraries (including NumPy's `einsum` and `tensordot` functions and CuPy's corresponding functionalities) in executing coupled-cluster vector functions, with a particular focus on memory usage and computation time. 4. **Developing a modular tensor contraction engine**: The paper proposes a modular Tensor Contraction Engine (TCE) and implements it in the open-source software platform PyBEST to support multiple computation modes, including hybrid computing on CPU and GPU. Through these studies, the authors aim to find the optimal methods to accelerate coupled-cluster calculations and improve the efficiency of overall chemical computation tasks.