Using Compiler Directives for Performance Portability in Scientific Computing: Kernels from Molecular Simulation

A Sedova and AF Tillack and A Tharrington, ACCELERATOR PROGRAMMING USING DIRECTIVES, 11381, 22-47 (2019).

DOI: 10.1007/978-3-030-12274-4_2

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.

Return to Publications page