P29 - GT4Py: A Python Framework for the Development of High-Performance Weather and Climate Applications
DescriptionGT4Py is a Python framework for weather and climate applications simplifying the development and maintenance of high-performance codes in prototyping and production environments. GT4Py separates model development from hardware architecture dependent optimizations, instead of intermixing both together in source code, as regularly done in lower-level languages like Fortran, C, or C+. Domain scientists focus solely on numerical modeling using a declarative embedded domain specific language supporting common computational patterns of dynamical cores and physical parametrizations. An optimizing toolchain then transforms this high-level representation into a finely-tuned implementation for the target hardware architecture. This separation of concerns allows performance engineers to implement new optimizations or support new hardware architectures without requiring changes to the application, increasing productivity for domain scientists and performance engineers alike. We will present recent developments in the project: support for non-cartesian meshes, a new programming interface enabling operator composition, and a redesigned intermediate representation that separates stateful from stateless computations, simplifying the creation of optimization passes. We further showcase a performance comparison of the ICON model between the original Fortran implementation using openACC and a GT4Py-enabled version developed as part of the EXCLAIM project.
TimeMonday, June 2611:20 - 11:50 CEST