Nov 4 – 5, 2025
Virtual
Europe/Zurich timezone
Final timetable has been published! Registration will close this Friday!

Practical performance benefits of the Fortran PURE keyword in a CFD solver

Nov 5, 2025, 9:40 AM
20m
ZOOM (Virtual)

ZOOM

Virtual

Communications (15 + 5 minutes) Sessions

Speaker

Dr Paul Bartholomew (EPCC, University of Edinburgh)

Description

The PURE keyword, introduced in Fortran 95, imposes constraints on a procedure – namely that it cannot perform side effects such as I/O (e.g. printing to the screen). PURE procedures have benefits from a software engineering perspective, making programs easier to test and guiding their development – as shown in https://pbartholomew08.github.io/thoughts/testing_pure_fortran.html. Another potential benefit is that by providing the compiler with additional information, PURE may enable additional optimisations. During the ASiMoV project, we undertook an effort to increase the use of PURE in the ASiMoV-CCS CFD solver, with the goal of improving code quality based on our experiences with using PURE in Fortran elsewhere. As most of the procedures this was applied to were relatively small we did not expect to see significant performance benefits, however with minimal changes we obtained significant improvements in several key components of the solver and an approximately 20% performance benefit overall. In this presentation we will assess the causes of these benefits and whether it is compiler dependent.

Authors

Dr Paul Bartholomew (EPCC, University of Edinburgh) Dr Alexei Borissov (EPCC, University of Edinburgh) Dr Erich Essmann (EPCC, University of Edinburgh) Dr Sébastien Lemaire (EPCC, University of Edinburgh) Dr Justs Zarins (EPCC, University of Edinburgh) Prof. Michèle Weiland (EPCC, University of Edinburgh)

Presentation materials

There are no materials yet.