Enabling mixed-precision with VerifiCarlo: Sharing CEEC experience
2025-03-04 10:00 - 11:00 (Europe/Paris)
Join our own Roman Iakymchuk, Umeå University on behalf of CEEC, and Pablo de Oliveira Castro, Université Paris-Saclay UVSQ, for the next in our webinar series this time on mixed precision and VerifiCarlo!
Driven by the increasing need to reduce the energy consumption of computing centers and simulations, scientists have begun revising applications, algorithms, and their underlying working/storage precision not just for performance but also for energy efficiency. The goal is to make computational costs sustainable while adhering to the lagom principle—using precision that is “just right” to balance accuracy with efficiency.
However, before lowering precision, one must ensure that the simulation is numerically correct. Verificarlo is an open-source framework designed to verify and optimize numerical accuracy in complex programs. Built on the LLVM infrastructure, it provides various floating-point backends to simulate the effects of numerical errors and lower precision. By leveraging alternative floating-point models, such as Stochastic Rounding, Verificarlo pinpoints numerical bugs in simulation codes. A probabilistic definition of the number of significant digits allows us to estimate computational accuracy accurately.
Through its variable precision backend, Verificarlo enables one to explore the trade-offs between precision and performance by simulating lower precisions in software. It identifies specific code regions that benefit from reduced floating-point formats without sacrificing numerical correctness. This approach has been successfully applied in high-performance computing (HPC) domains such as neuroimaging pipelines, DFT quantum mechanical modeling, structural simulations, and now CFD.
In this webinar, we will introduce Verificarlo, showcase its backends for numerical bug detection and mixed-precision analysis, and present a success story highlighting the road from analysis of codes with Verificarlo to reliable mixed-precision codes.
