Using Compiler Directives for Performance Portability in Scientific Computing: Kernels from Molecular Simulation
Scientific Computing Group, National Center for Computational Sciences, Oak Ridge National Laboratory, Oak Ridge TN 37830, USA
International Workshop on Accelerator Programming Using Directives (WACCPD), 2018
@inproceedings{sedova2018using,
title={Using Compiler Directives for Performance Portability in Scientific Computing: Kernels from Molecular Simulation},
author={Sedova, Ada and Tillack, Andreas F and Tharrington, Arnold},
booktitle={International Workshop on Accelerator Programming Using Directives},
pages={22–47},
year={2018},
organization={Springer}
}
Achieving performance portability for high-performance computing (HPC) applications in scientific fields has become an increasingly important initiative due to large differences in emerging supercomputer architectures. Here we test some key kernels from molecular dynamics (MD) to determine whether the use of the OpenACC directive-based programming model when applied to these kernels can result in performance within an acceptable range for these types of programs in the HPC setting. We find that for easily parallelizable kernels, performance on the GPU remains within this range. On the CPU, OpenACC-parallelized pairwise distance kernels would not meet the performance standards required, when using AMD Opteron "Interlagos" processors, but with IBM Power 9 processors, performance remains within an acceptable range for small batch sizes. These kernels provide a test for achieving performance portability with compiler directives for problems with memory-intensive components as are often found in scientific applications.
March 3, 2019 by hgpu