FPChecker is tool to detect floating-point exceptions (e.g., NaNs, division by zero) and profile floating-point behavior. It uses clang/LLVM to compile and instrument code. The tool informs to users the location where exceptions occurred (file and line number), and can be used in MPI and OpenMP programs.
https://github.com/LLNL/FPChecker
FLiT (Floating-point Litmus Tests) is a C++ test infrastructure for detecting variability in floating-point code caused by variations in compiler code generation, hardware and execution environments.
https://github.com/PRUNERS/FLiT
ADAPT is a tool for mixed precision analysis. The tool uses algorithmic differentiation to estimate the output error due to lowering the precision of variables. ADAPT also provides a floating-point rounding error sensitivity profile of the code.
https://github.com/LLNL/adapt-fp
Precimonious is a framework to automatically tune the precision of floating-point variables. The tool allows users to specify a target error and performance threshold, and uses the clang/LLVM compiler a main compiler infrastructure.
https://github.com/corvette-berkeley/precimonious
HiFPTuner is a dynamic precision tuner. Different from other tuners, it explores the community structure of the floating-point variables and uses the community structure to guide precision tuning to find better precision configurations in less time.
https://github.com/ucd-plse/HiFPTuner
FloatSmith provides automated source-to-source tuning and transformation of floating-point code for mixed precision using three existing tools: 1) CRAFT, 2) ADAPT, and 3) TypeForge. The primary search loop is guided by CRAFT and uses TypeForge to prototype mixed-precision versions of an application. ADAPT results can optionally be used to help narrow the search space, and there are a variety of options to customize the search.
https://github.com/crafthpc/floatsmith
FPBench provides benchmarks, compilers, and standards for the floating-point research community.