Table of Contents
Fetching ...

Portable GPU implementation of the WP-CCC ion-atom collisions code

I. B. Abdurakhmanov, N. W. Antonio, M. Cytowski, A. S. Kadyrov

TL;DR

The implementation of GPU-accelerated WP-CCC code opens up avenues for exploring more sophisticated collision processes involving complex projectile and target structures, which were previously considered infeasible.

Abstract

We present our experience of porting the code used in the wave-packet convergent-close-coupling (WP-CCC) approach to run on NVIDIA V100 and AMD MI250X GPUs. The WP-CCC approach is a method used in the field of ion-atom collision physics to describe various processes such as elastic scattering, target excitation and electron-capture by the projectile. It has demonstrated its effectiveness in modelling collisions involving proton or bare ion projectiles with various atomic and molecular targets, especially those which can be considered as one or two-electron systems. Such calculations find their application in computational atomic physics as well as in the modelling of fusion plasmas and in hadron therapy for cancer treatment. The main computational cost of the method lies in the solution of an emerging set of coupled first-order differential equations. This involves implementing the standard Runge-Kutta method while varying the projectile position along multiple straight-line paths. At each projectile position several millions of matrix elements need to be calculated which is accomplished using the OpenACC programming model. Once these matrix elements are computed, the subsequent steps involve matrix inversion and multiplication with another matrix. To expedite these operations, a GPU-accelerated LAPACK routine, specialised for solving systems of linear equations, is employed. For AMD GPUs, this routine is accessible through the hipSOLVER library, while for NVIDIA GPUs, it can be obtained from the cuSOLVER library. The portability, performance and energy efficiency of the CPU-only code have been compared with the GPU-accelerated version running on AMD and NVIDIA GPUs. The implementation of GPU-accelerated WP-CCC code opens up avenues for exploring more sophisticated collision processes involving complex projectile and target structures, which were previously considered infeasible.

Portable GPU implementation of the WP-CCC ion-atom collisions code

TL;DR

The implementation of GPU-accelerated WP-CCC code opens up avenues for exploring more sophisticated collision processes involving complex projectile and target structures, which were previously considered infeasible.

Abstract

We present our experience of porting the code used in the wave-packet convergent-close-coupling (WP-CCC) approach to run on NVIDIA V100 and AMD MI250X GPUs. The WP-CCC approach is a method used in the field of ion-atom collision physics to describe various processes such as elastic scattering, target excitation and electron-capture by the projectile. It has demonstrated its effectiveness in modelling collisions involving proton or bare ion projectiles with various atomic and molecular targets, especially those which can be considered as one or two-electron systems. Such calculations find their application in computational atomic physics as well as in the modelling of fusion plasmas and in hadron therapy for cancer treatment. The main computational cost of the method lies in the solution of an emerging set of coupled first-order differential equations. This involves implementing the standard Runge-Kutta method while varying the projectile position along multiple straight-line paths. At each projectile position several millions of matrix elements need to be calculated which is accomplished using the OpenACC programming model. Once these matrix elements are computed, the subsequent steps involve matrix inversion and multiplication with another matrix. To expedite these operations, a GPU-accelerated LAPACK routine, specialised for solving systems of linear equations, is employed. For AMD GPUs, this routine is accessible through the hipSOLVER library, while for NVIDIA GPUs, it can be obtained from the cuSOLVER library. The portability, performance and energy efficiency of the CPU-only code have been compared with the GPU-accelerated version running on AMD and NVIDIA GPUs. The implementation of GPU-accelerated WP-CCC code opens up avenues for exploring more sophisticated collision processes involving complex projectile and target structures, which were previously considered infeasible.
Paper Structure (4 sections, 9 equations, 3 figures, 1 algorithm)

This paper contains 4 sections, 9 equations, 3 figures, 1 algorithm.

Figures (3)

  • Figure 1: The compute time of the WP-CCC code in both 1C and 2C modes is depicted as a function of the maximum allowed angular momentum, $l_{\rm max}$, a parameter that governs the size of the set of differential equations (Eq. \ref{['DIFFEQ']}). The performance of the CPU-only code has been compared with that of the GPU-accelerated version, executed respectively on the V100 NVIDIA GPU and the MI250X AMD GPU.
  • Figure 2: The energy consumption of the WP-CCC code in both 1C and 2C modes is depicted as a function of the maximum allowed angular momentum, $l_{\rm max}$, a parameter that governs the size of the set of differential equations (Eq. \ref{['DIFFEQ']}). The energy efficiency of the CPU-only code has been compared with that of the GPU-accelerated version, executed respectively on the V100 NVIDIA GPU and the MI250X AMD GPU.
  • Figure 3: (color online) The compute time of linear equation solver within WP-CCC code in 2C mode is depicted as a function of the maximum allowed angular momentum, $l_{\rm max}$, a parameter that governs the size of the set of differential equations (Eq. \ref{['DIFFEQ']}). The performance of the CPU-version of LAPACK ZGESV has been compared with the GPU-accelerated versions of ZGESV from cuSOLVER and hipSOLVER libraries.