MIB: PERFORMANCE AND PORTABILITY OF ACCELERATED LATTICE BOLTZMANN APPLICATIONS WITH OPENACC

ENRICO CALORE, UniversitĂ  di Ferrara: An increasingly large number of HPC systems rely on heterogeneous architectures combining traditional multi-core CPUs with power efficient accelerators. Designing efficient applications for these systems have been troublesome in the past as accelerators could usually be programmed using specĂ­fic programming languages threatening maintainability, portability, and correctness. Severa! new programming environments try to tackle this problem. Among them, OpenACC offers a high-level approach based on compiler directives to mark regions of existing C, C++, or Fortran codes to run on accelerators. This approach directly addresses code portability, leaving to compilers the support of each different accelerator, but one has to carefully assess the relative costs of portable approaches versus computing efficiency. In this talk, will be addressed precisely this issue, using as a test-bench a massively parallel lattice Boltzmann algorithm. At first our multi-norie implementation, using OpenACC and MPI, will be introduced. Then benchmarks of the code on a variety of processors, including traditional CPUs and GPUs, will be presented, making accurate performance comparisons with other GPU implementations of the same algorithm using CUDA and OpenCL. Eventually the performance impact associated with portable programming will be assessed, highlighting the actual portability and performance-portability of OpenACC-based applications across severa! state-of-the-art architectures.

DATA: 09-06-2016

Istituto Nazionale di Fisica Nucleare - Piazza dei Caprettari, 70 - 00186 Roma
tel. +39 066840031 - fax +39 0668307924 - email: presidenza@presid.infn.it