Sessi MCP: OpenACC for Nek5000
Nek5000 is an open-source code for the simulation of incompressible flows. Nek5000 is widely used in a broad range of applications, including the study of thermal hydraulics in nuclear reactor cores, the modeling of ocean currents and the simulation of combustion in mechanical engines.
Exascale HPC architectures are increasingly prevalent in the Top500 list, with CPU based nodes enhanced by accelerators or coprocessors optimized for floating-point calculations. We have previously presented a case study of partially porting to parallel GPU-accelerated systems. In the proposed project, we will follow on from our previously developed work and take advantage of the optimized results to port the full version of Nek5000 to the GPU-accelerated systems, especially on the Pn-Pn-2 algorithm. The project will focus on the technology watch of heterogeneous modelling and its impact on the exascale architectures (e.g. GPU accelerators system). Within the project we will also study on the performance characteristics of Nek5000 on the exascale architectures. This is a collaboration project with Argonne National Laboratory.
M1: Porting the Pn-Pn-2 algorithm in Nek5000 to GPU using the OpenACC directives (January 2018)
M2: Profiling and Performance tests for large simulations (March 2018)
M3: Optimizing the OpenACC directives and employing more advanced tools likes GPUdirect to obtain better performances (April 2018)
M4: Applying for project on a Tier-0 system and finally testing the strong scalability (June 2018)