Accelerating an Iterative Eigensolver for Nuclear Structure Configuration Interaction Calculations on GPUs using OpenACC

09/01/2021
by   Pieter Maris, et al.
0

To accelerate the solution of large eigenvalue problems arising from many-body calculations in nuclear physics on distributed-memory parallel systems equipped with general-purpose Graphic Processing Units (GPUs), we modified a previously developed hybrid MPI/OpenMP implementation of an eigensolver written in FORTRAN 90 by using an OpenACC directives based programming model. Such an approach requires making minimal changes to the original code and enables a smooth migration of large-scale nuclear structure simulations from a distributed-memory many-core CPU system to a distributed GPU system. However, in order to make the OpenACC based eigensolver run efficiently on GPUs, we need to take into account the architectural differences between a many-core CPU and a GPU device. Consequently, the optimal way to insert OpenACC directives may be different from the original way of inserting OpenMP directives. We point out these differences in the implementation of sparse matrix-matrix multiplications (SpMM), which constitutes the main cost of the eigensolver, as well as other differences in the preconditioning step and dense linear algebra operations. We compare the performance of the OpenACC based implementation executed on multiple GPUs with the performance on distributed-memory many-core CPUs, and demonstrate significant speedup achieved on GPUs compared to the on-node performance of a many-core CPU. We also show that the overall performance improvement of the eigensolver on multiple GPUs is more modest due to the communication overhead among different MPI ranks.

READ FULL TEXT
research
10/20/2021

Accelerating quantum many-body configuration interaction with directives

Many-Fermion Dynamics-nuclear, or MFDn, is a configuration interaction (...
research
11/23/2015

Developing a High Performance Software Library with MPI and CUDA for Matrix Computations

Nowadays, the paradigm of parallel computing is changing. CUDA is now a ...
research
03/15/2023

A Two-level GPU-Accelerated Incomplete LU Preconditioner for General Sparse Linear Systems

This paper presents a parallel preconditioning approach based on incompl...
research
05/24/2023

Hybrid Eigensolvers for Nuclear Configuration Interaction Calculations

We examine and compare several iterative methods for solving large-scale...
research
03/17/2022

Batched matrix operations on distributed GPUs with application in theoretical physics

One of the most important and commonly used operations in many linear al...
research
09/06/2016

Accelerating Nuclear Configuration Interaction Calculations through a Preconditioned Block Iterative Eigensolver

We describe a number of recently developed techniques for improving the ...
research
08/01/2023

The MPI + CUDA Gaia AVU-GSR Parallel Solver Toward Next-generation Exascale Infrastructures

We ported to the GPU with CUDA the Astrometric Verification Unit-Global ...

Please sign up or login with your details

Forgot password? Click here to reset