Hardware accelerators such as GPGPUs are becoming increasingly common in HPC platforms and their use is widely recognised as being one of the most promising approaches for reaching exascale levels of performance.Large HPC centres, such as AWE, have made huge investments in maintaining their existing scientific software codebases, the vast majority of which were not designed to effectively utilise accelerator devices.Consequently, HPC centres will have to decide how to develop their existing applications to take best advantage of future HPC system architectures.Given limited development and financial resources, it is unlikely that all potential approaches will be evaluated for each application. We are interested in how this decision making can be improved, and this work seeks to directly evaluate three candidate technologies---OpenACC, OpenCL and CUDA---in terms of performance, programmer productivity, and portability using a recently developed Lagrangian-Eulerian explicit hydrodynamics mini-application. We find that OpenACC is an extremely viable programming model for accelerator devices, improving programmer productivity and achieving better performance than OpenCL and CUDA.
|Title of host publication||2012 SC Companion: High Performance Computing, Networking Storage and Analysis|
|Publisher||IEEE Computer Society|
|Number of pages||12|
|Publication status||Published - 29 Jun 2012|