W06.2.2 GridTools: High-level HPC Libraries for Weather and Climate
GridTools is a set of C++ libraries and Python tools to enable weather and climate scientists to express their computations in a high-level hardware-agnostic way, while providing highly efficient execution of the codes.
Born to address the problem of portability of performance, the original GridTools offers a lower level C++ interface, which is in production use at the Swiss national weather service, and supports different multicore architectures and GPU vendors and generations. However, C++ is not the language of choice in the weather and climate community. Therefore, a new effort has been started to provide declarative-style Python interfaces to analyze and transform the user code into efficient hardware-specific C++ code, utilizing the existing GridTools C++ libraries. In this presentation we will review the different approaches and highlight on their pros and cons.