Accelerating quantum many-body configuration interaction with directives

Published in Lecture Notes in Computer Science, 2022

DOI: 10.1007/978-3-030-97759-7_6 | arXiv: 2110.10765
Recommended citation: B. G. Cook, P. J. Fasano, P. Maris, C. Yang, and D. Oryspayev, Accelerator Programming with Directives, Lect. Notes Comput. Sci. 13194 (2022). (download)

Many-Fermion Dynamics-nuclear, or MFDn, is a configuration interaction (CI) code for nuclear structure calculations. It is a platform-independent Fortran 90 code using a hybrid MPI+X programming model. For CPU platforms the application has a robust and optimized OpenMP implementation for shared memory parallelism. As part of the NESAP application readiness program for NERSC’s latest Perlmutter system, MFDn has been updated to take advantage of accelerators. The current mainline GPU port is based on OpenACC. In this work we describe some of the key challenges of creating an efficient GPU implementation. Additionally, we compare the support of OpenMP and OpenACC on AMD and NVIDIA GPUs.