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.
翻译:许多Fermion Dynamic-Directive-ocent-ocent-MFDn, 是用于计算核结构的配置互动代码(CI) 。 这是一个平台独立的Fortran 90代码, 使用混合的 MPI+X 编程模式。 对于 CPU 平台, 应用程序有一个强大和优化的 OpenMP 执行, 用于共享记忆平行。 作为 NERSC 最新的 Perlmutter 系统 NESRC 应用准备程序的一部分, MFDn 已经更新, 以利用加速器。 目前的主线 GPU 端口以开放的 ACC 为基础 。 在此工作中, 我们描述创建高效的 GPU 执行的一些关键挑战 。 此外, 我们比较了 OpenMP 和 OpenACc 支持 AMD 和 NVIDIA GPUPs 。