Summary
Computer hardware is changing noticeably at the fundamental, computer arithmetic level in the last decade. Graphical processing units (GPUs) and some CPUs increasingly started introducing 16- and 8-bit hardware for computing mathematical operations, which work in parallel with classical 32- and 64-bit units. These low precision units are very efficient and to utilize them we need the software to be able to mix precisions. However, they are not always compliant with the IEEE 754 standard which has been around for almost 40 years, and that brings certain challenges at the fundamental level.
Approximate computing refers to the techniques such as loop perforation, under designed arithmetic operators, or reduced voltage memory. These aim to identify parts of algorithms that can be safely skipped in order to speed up the application. The error that is introduced should be controlled and the application should be able to tolerate it. Data compression techniques similarly aim to reduce the memory footprint of the application, which can bring benefits in algorithms that spend most of the time in memory operations. In this project you will investigate these fundamental techniques in the context of computational fluid dynamics, broadly defined. First of all, you will study the latest results of applying the methods in scientific computing in general. Then you will build on that and you will use your knowledge of CFD algorithms to identify areas where these techniques can bring benefits.
Finally, you will implement proof-of-concept experiments on custom precision simulators in C, MATLAB or Julia as well as explore running on the latest hardware such as NVIDIA A100, the H100, the AMD MI250X or the ARM A64FX devices.
Outcomes:
As the project proposed is defined in a very general way, we expect a potential postgraduate researcher to drive the direction of it depending on the initial findings from the literature review. Therefore, any specific outcomes strongly depend on that. In general, we expect the following outcomes.
Advances of algorithms and software in CFD. The project has potential in bringing new software artefacts as well as contributions to current software in the field of CFD or the related numerical libraries that are used in CFD. The new software might include for example mixed precision version of some already existent software that is run in high precision entirely.
Contributions to fundamental topics of computer arithmetic, data compression, and approximate computing. These contributions can potentially be published separately in respective journals or conferences in addition to any publications that the postgraduate researcher will prepare in the CFD journals and conferences.
Experiments on the latest hardware. We will be aiming to study mixed precision and other techniques not only in simulation, but also run on the actual hardware. This will inevitably generate results about the numerical behaviours of the latest hardware devices.
