PSyclone – Separation of Concerns for HPC Codes

Joerg Henrichs1, Rupert Ford2, Andrew Porter2

1Bureau of Meteorology

2The Hartree Centre, STFC Daresbury Laboratory


An ongoing problem in development of HPC codes is the different skill set required for developing the science versus optimizing and parallelizing the application, especially when taking different and future hardware architectures into account. Typically, the resulting source code is a tightly integrated mixture of code related to science, optimization and parallelization. This makes it hard to develop and maintain HPC codes.

The UK Met Office decided to tackle this problem by using PSyclone – a Fortran-embedded domain-specific language/compiler developed by the Hartree Centre. It considers three layers in an application: a high level algorithm layer, which determines the science, a bottom which contains the implementation of kernels that works on a single array element, and a middle layer which connects the two layers. The middle layer contains the actual loop structures and parallelization related code (e.g. halo exchanges or OpenMP directives).

With PSyclone a natural scientist is able to implement the science and the kernel layer focusing on undistributed arrays. PSyclone will automatically create the middle layer, which contains all loops and parallelization related code. A computational scientist at the same time can write PSyclone transforms to further optimize the code – e.g. by reducing the frequency of halo exchanges, or implementing loop tiling or other high level code changes. The end result is a code base that is easy to understand for the natural scientist, but with the help of PSyclone transforms automatically converted into an optimized, parallelized HPC application.

The presentation will give an introduction to PSyclone, and presents some performance results obtained when converting a Tsunami model from plain Fortran to PSyclone.

Author’s Bio

Joerg Henrichs is the Computation Science Manager of the Bureau of Meteorology’s Scientific Computing Services group. His team is responsible for optimization and parallelization of weather and climate codes that are running on the Bureau’s Cray Supercomputer.


AeRO is the industry association focused on eResearch in Australasia. We play a critical coordination role for our members, who are actively transforming research via Information Technology. Organisations join AeRO to advance their own capabilities and services, to collaborate and to network with peers. AeRO believes researchers and the sector significantly benefit from greater communication, coordination and sharing among the increasingly different and evolving service providers.

Conference Managers

Please contact the team at Conference Design with any questions regarding the conference.
© 2019 Conference Design Pty Ltd