Energy Impact of Kernel Level Optimization in ICON
DescriptionGeneral code complexity, together with portability and maintainability requirements make weather and climate codes challenging to optimize. Directive-based approaches such as OpenACC or domain specific languages are therefore preferred choices to achieve high performance while retaining portability and developer productivity. However, the increasing complexity of modern hardware with deep memory hierarchies, multiple levels of parallelism and varieties of complex functional units make it harder for the compiler to generate optimal code. Comparing performance of the generated code to hand tuned implementations is therefore necessary. Such comparisons do not only demonstrate the performance that is left on the table, but also the minimum energy to solution, an increasingly important metric in today’s energy constrained environment. Typically, such hand-crafted implementations are limited to relatively small kernels, leading to missed optimization opportunities across a larger scope. In this presentation, we will therefore discuss a CUDA port of a larger component of ICON and analyze the impact of these optimization on the overall energy footprint. We will discuss the practical aspects of collecting energy measurements on GPUs and explore the impact of hardware features, which are challenging to access in a directive-based environment.
TimeMonday, June 2614:30 - 15:00 CEST
Climate, Weather and Earth Sciences