My software work connects floating-point analysis and instrumentation with the reproducibility of scientific software, AI, and neuroimaging pipelines. Selected results are summarized in posts on numerical variability in deep learning, Parkinson’s structural MRI, and results stability tests; the full list of publications is on the Research page. Technical guides cover Python numerical stability, Monte Carlo arithmetic and stochastic rounding, and numerical variability in neuroimaging.

Verificarlo, Fuzzy PyTorch, and PyTracer have dedicated pages describing my contributions, the arithmetic model, documented workflows, examples, and limitations.

Floating-point analysis and stochastic arithmetic

  • Verificarlo: instrumentation of scientific programs to study floating-point variability, precision requirements, and numerical reproducibility (source).
  • PRISM: Probabilistic Rounding with Instruction Set Management, a vectorized implementation of stochastic rounding compatible with Verificarlo, which I created.
  • Interflop: a modular and scalable platform for analyzing floating-point arithmetic.
  • Significantdigits: a framework for the statistical analysis of stochastic arithmetic results.
  • VeriTracer: a context-enriched tracer for floating-point arithmetic analysis.
  • Floacon: a web-based floating-point converter and explorer.

Numerical variability in Python and deep learning

  • Fuzzy PyTorch: evaluation of floating-point variability in deep learning models with stochastic arithmetic (source).
  • PyTracer: profiling of numerical instability in Python code from repeated execution traces (source).
  • Fuzzy: a Python ecosystem for evaluating numerical stability.

Reproducible neuroimaging

  • LivingPark: improving the generalizability and robustness of MRI-derived biomarkers of Parkinson’s disease.
  • ReproVIP: evaluating and improving the reproducibility of scientific results in medical imaging.

Performance analysis

  • CERE: Codelet Extractor and REplayer.