This talk will present recent advances in the PSyclone Domain specific compiler. PSyclone is a configurable domain-specific compiler which is used in LFRic, the Met Office's next generation weather and climate model. It is also being developed for use in the NEMO model and has been tested on the MOST Tsunami code and ROMS ocean model. PSyclone offers the potential of performance portability from single source code by separating the specification of the science from its implementation and optimisation on parallel software and hardware resources - often called a separation of concerns.
Firstly PSyclone will be introduced and its key benefits and limitations outlined, including its relationship with other approaches, such as GridTools and Kokkos. The talk will then outline recent advances in PSyclone. In particular:
1) the latest parallelisation strategies and performance results when running a full configuration of NEMO on a GPU with no changes required to the original NEMO source code.
2) performance improvements in LFRic using the new ability to transform kernel code.
3) latest results when running a NEMO-like benchmark on an FPGA being developed in EuroExa project.
4) the potential of the new data api for performance profiling, debugging, online visualisation, kernel extraction, ad hoc diagnostics etc.
5) progress towards evaluating interoperability between PSyclone and Dawn/GridTools using the proposed ESCAPE2 NEMO dwarf.