Skip to main content

Evaluating Performance Portability of Accelerator Programming Models using SPEC ACCEL 1.2 Benchmarks...

by Swen Boehm, Swaroop S Pophale, Veronica G Melesse Vergara, Oscar R Hernandez Mendoza
Publication Type
Conference Paper
Journal Name
Lecture Notes in Computer Science
Publication Date
Conference Name
Workshop on Performance Portable Programming Models for Accelerators (P^3MA)
Conference Location
Frankfurt, Germany
Conference Sponsor
Conference Date

As heterogeneous architectures are becoming mainstream for HPC systems, application programmers are looking for programming model implementations that offer both performance and portability across platforms. Two directive-based programming models for accelerator programming that aim at doing this are OpenMP 4/4.5 and OpenACC. Many users want to know the difference between these two programming models, the state of their implementations, how to use them, and evaluate how suitable they are for their applications.The Standard Performance Evaluation Corporation (SPEC) ACCEL benchmarks, developed by the SPEC High Performance Group (HPG), recently released SPEC ACCEL 1.2 benchmark suite to help the evaluation of OpenCL, OpenMP 4.5 and OpenACC on different platforms. Inthis paper we present our preliminary results that evaluates OpenMP4.5 and OpenACC on a variety of accelerator-based systems: POWER9with NVIDIA V100 GPUs (Summit), Intel Xeon Phi 7230 (Percival), and AMD Bulldozer Opteron with NVIDIA K20x (Titan). Comparing these benchmarks on different systems gives us insight into the support for OpenMP and OpenACC and their execution times provide insights about their quality of implementations provided by different vendors. We also compare best of OpenMP and OpenACC to see if a particular programming model favors a particular type of benchmark kernel.