LFRic is the new weather and climate modelling system being developed by the UK Met Office to replace the existing Unified Model in preparation for exascale computing in the 2020s. LFRic uses the GungHo dynamical core and runs on a semi-structured cubed-sphere mesh.
The design of the supporting infrastructure follows object-oriented principles to facilitate modularity and the use of external libraries. One of the guiding design principles, imposed to promote performance portability, is “separation of concerns” between the science and parallel code.
Parallel code in LFRic is generated by PSyclone with the support of LFRic infrastructure, which provides APIs to support the distributed memory parallelism via libraries such as YAXT. PSyclone provides general (e.g. shared memory parallelism using OpenMP) as well as LFRic-specific optimisations. For example, PSyclone can enhance the use of distributed memory parallelism in LFRic via optimisations such as asynchronous-halo-exchange transformation and redundant computation into annexed dofs. The talk will give more examples of the impact of PSyclone on the LFRic performance.