• 中国计算机学会会刊
  • 中国科技核心期刊
  • 中文核心期刊

Computer Engineering & Science ›› 2021, Vol. 43 ›› Issue (11): 1901-1909.

Previous Articles     Next Articles

Porting and optimization of GROMACS 2020 on ROCm platform

ZHANG Yu-zhou1,CAO Wu-di1,BU Jing-de1,TAN Guang-ming2,JI Qing1   

  1. (1.Joint Laboratory of Advanced Computing for Theoretical Physics,
    Institute of Theoretical Physics,Chinese Academy of Sciences,Beijing 100190;

    2.State Key Laboratory of Computer Architecture,Institute of Computing Technology,
    Chinese Academy of Sciences,Beijing 100190,China)

  • Received:2020-09-18 Revised:2020-12-02 Accepted:2021-11-25 Online:2021-11-25 Published:2021-11-19

Abstract: GROMACS is a widely used open-source molecular dynamics simulation software. Currently, NVIDIA GPUs are mainly used for accelerated calculations through CUDA. ROCm is an open-source high-performance heterogeneous computing platform. Based on the HIP programming language of the ROCm platform, this paper implements the complete porting of the GROMACS 2020 series on the ROCm platform for the first time. On MI50 GPU, with a complex ionic liquid simulation example as the target, the performance analysis of the transplanted code was carried out using GPU performance analysis tool rocprof. According to the hardware characteristics of MI50, the bonding force kernel function, the PME kernel function of electrostatic force and the short-range non-bonding force kernel function are optimized successively. After optimization, the performance of the target calculation example is about 2.8 times that of the initial version. The performance on MI50 is 60.5% higher than that of the GROMACS original OpenCL code, which is about 2.7 times faster than the pure CPU version. In the single-node test of the other two representative examples and the multi-node scalability test of the ionic liquid example, the optimized code also achieves a better performance improvement, which shows that the optimization has a certain versatility. 

Key words: molecular dynamics, GROMACS, radeon open compute, application porting, performance optimization