Debugging and Optimization of HPC Programs in Mixed Precision with the Verrou Tool
TimeSunday, November 11th2:31pm - 2:51pm
DescriptionFloating-Point (FP) arithmetic is becoming a hotter and hotter topic in High-Performance Computing (HPC). First, high computational performance is often achieved at the expense of a loss of control over the order in which FP operations are executed; second, optimizing the use of FP precision is often key to achieving high performance.
In this paper, we present how the Verrou tool can help deal with these issues in the context of large, industrial, high-performance scientific computing codes such as the ones developed and used by leading actors in the industry. In particular, we detail the various new features recently implemented in the Verrou tool, which allow performing the complete analysis of FP-related issues in mixed precision, high-performance codes. The historical stochastic arithmetic back-end of Verrou has been extended to handle specific issues related to the use of mixed precision in simulation codes, by instrumenting type conversions leading to round-off errors (such as double to float cast). A new arithmetic back-end has also been introduced in Verrou, allowing to emulate the use of a smaller precision in (part of) the code.
Together with the existing debugging and localization techniques proposed by Verrou, these new features make it possible to use the tool not only for diagnostics, but also as an help during the mixed-precision optimization process.