GPU acceleration of non-equilibrium Green's function calculation using OpenACC and CUDA FORTRAN

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Yin, Jia, Ibrahim, Khaled Z., Del Ben, Mauro, Deslippe, Jack, Chan, Yang-hao, Yang, Chao
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866912394671816704
author Yin, Jia
Ibrahim, Khaled Z.
Del Ben, Mauro
Deslippe, Jack
Chan, Yang-hao
Yang, Chao
author_facet Yin, Jia
Ibrahim, Khaled Z.
Del Ben, Mauro
Deslippe, Jack
Chan, Yang-hao
Yang, Chao
contents The numerical solution of the Kadanoff-Baym nonlinear integro-differential equations, which yields the non-equilibrium Green's functions (NEGFs) of quantum many-body systems, poses significant computational challenges due to its high computational complexity. In this work, we present efficient implementations of a numerical method for solving these equations on distributed-memory architectures, including many-core CPUs and multi-GPU systems. For CPU-based platforms, we adopt a hybrid MPI/OpenMP programming model to exploit both inter-node and intra-node parallelism. On GPU-accelerated systems, we implement the method using two distinct approaches: MPI/OpenACC and MPI/CUDA FORTRAN. Several optimization strategies are employed to enhance GPU performance, including techniques to maximize computational resource utilization and minimize the overhead associated with kernel launches and memory management. Although OpenACC is easy to use, CUDA FORTRAN provides more advanced features for configuring and managing multiple levels of concurrency, while also simplifying memory allocation and data movement between host and device. This flexibility translates into significant performance improvements. We compare the performance of the three implementations and demonstrate that the GPU-based approaches achieve substantial speedups over CPU-based implementations. Furthermore, both CPU and GPU versions exhibit excellent strong and weak scaling, confirming the scalability and efficiency of our approach for large-scale NEGF computations.
format Preprint
id arxiv_https___arxiv_org_abs_2505_19467
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle GPU acceleration of non-equilibrium Green's function calculation using OpenACC and CUDA FORTRAN
Yin, Jia
Ibrahim, Khaled Z.
Del Ben, Mauro
Deslippe, Jack
Chan, Yang-hao
Yang, Chao
Distributed, Parallel, and Cluster Computing
68W10
The numerical solution of the Kadanoff-Baym nonlinear integro-differential equations, which yields the non-equilibrium Green's functions (NEGFs) of quantum many-body systems, poses significant computational challenges due to its high computational complexity. In this work, we present efficient implementations of a numerical method for solving these equations on distributed-memory architectures, including many-core CPUs and multi-GPU systems. For CPU-based platforms, we adopt a hybrid MPI/OpenMP programming model to exploit both inter-node and intra-node parallelism. On GPU-accelerated systems, we implement the method using two distinct approaches: MPI/OpenACC and MPI/CUDA FORTRAN. Several optimization strategies are employed to enhance GPU performance, including techniques to maximize computational resource utilization and minimize the overhead associated with kernel launches and memory management. Although OpenACC is easy to use, CUDA FORTRAN provides more advanced features for configuring and managing multiple levels of concurrency, while also simplifying memory allocation and data movement between host and device. This flexibility translates into significant performance improvements. We compare the performance of the three implementations and demonstrate that the GPU-based approaches achieve substantial speedups over CPU-based implementations. Furthermore, both CPU and GPU versions exhibit excellent strong and weak scaling, confirming the scalability and efficiency of our approach for large-scale NEGF computations.
title GPU acceleration of non-equilibrium Green's function calculation using OpenACC and CUDA FORTRAN
topic Distributed, Parallel, and Cluster Computing
68W10
url https://arxiv.org/abs/2505.19467