PyTracer: Automatically profiling numerical instabilities in Python
From MaRDI portal
Publication:6386362
arXiv2112.11508MaRDI QIDQ6386362
Author name not available (Why is that?)
Publication date: 21 December 2021
Abstract: Numerical stability is a crucial requirement of reliable scientific computing. However, despite the pervasiveness of Python in data science, analyzing large Python programs remains challenging due to the lack of scalable numerical analysis tools available for this language. To fill this gap, we developed PyTracer, a profiler to quantify numerical instability in Python applications. PyTracer transparently instruments Python code to produce numerical traces and visualize them interactively in a Plotly dashboard. We designed PyTracer to be agnostic to numerical noise model, allowing for tool evaluation through Monte-Carlo Arithmetic, random rounding, random data perturbation, or structured noise for a particular application. We illustrate PyTracer's capabilities by testing the numerical stability of key functions in both SciPy and Scikit-learn, two dominant Python libraries for mathematical modeling. Through these evaluations, we demonstrate PyTracer as a scalable, automatic, and generic framework for numerical profiling in Python.
Has companion code repository: https://github.com/verificarlo/fuzzy
This page was built for publication: PyTracer: Automatically profiling numerical instabilities in Python
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q6386362)