The Buoyancy Project
Exploring systems and user approaches to floating point correctness and resilience
About#
Scientific (and other) applications are critically dependent on calculations done using floating point arithmetic. A number of concerns have been raised about correctness in such applications given the numerous gotchas the IEEE floating point standard presents for developers, as well as the complexity of its implementation at the hardware and compiler levels. The Buoyancy Project aims to explore systems- and user-level approaches to improving the correctness and resilience of floating point calculations.
Team#
- Peter Dinda (Northwestern faculty, PI)
- Nick Wanninger (Northwestern Ph.D.)
- Michael Polinski (Northwestern Ph.D.)
- Karl Hallsby (Northwestern Ph.D.)
- Chris Kraemer (Northwestern Ph.D., now at Georgia Tech)
- Conor Hetland (Northwestern MS, ABD)
- Jiacheng Ma (Northwestern MS, now a Ph.D. student at EPFL)
- Conor Kotwasinski (Northwestern MS)
- Liam Strand (Northwestern MS)
- Nadharm Dhiantravan (Northwestern BS)
- Souradip Ghosh (Northwestern BS, now at Carnegie Mellon)
- Yehya Elmasry (Northwestern BS)
- Alex Bernat (Northwestern Special, now at Harvard)
- Charles Bernat (Northwestern Special)
Publications#
N. Wanninger, N. Dhiantravan, P. Dinda, Virtualization So Light, It Floats! Accelerating Floating Point Virtualization, Proceedings of the 34th ACM Symposium on High-performance Parallel and Distributed Computing (HDPC 2025). July, 2025. [paper]
K. Hallsby, L. Strand, N. Wanninger, N. Dhiantravan, P. Dinda, Architecture-independent Floating Point Spying and an Architecture for Floating Point Spying, Technical Report NU-CS-2025-27, Department of Computer Science, Northwestern University, July, 2025. [paper]
M. Polinski, C. Kotwasinski, P. Dinda, Classical and Novel Attacks on Scientific Applications, Technical Report NU-CS-2025-26, Department of Computer Science, Northwestern University, July, 2025. [paper]
P. Dinda, N. Wanninger, J. Ma, A. Bernat, C. Bernat, S. Ghosh, C. Kraemer, Y. Elmasry, FPVM: Towards a Floating Point Virtual Machine, Proceedings of the 31st ACM Symposium on High-performance Parallel and Distributed Computing (HDPC 2022). June, 2022. [paper]
P. Dinda, A. Bernat, Comparing the Understanding of IEEE Floating Point Between Scientific and Non-scientific Developers, Technical Report NU-CS-2021-07, Department of Computer Science, Northwestern University, December, 2021. [paper]
P. Dinda, A. Bernat, C. Hetland, Spying on the Floating Point Behavior of Existing, Unmodifed Scientific Applications, Proceedings of the 29th ACM Symposium on High-performance Parallel and Distributed Computing (HPDC 2020), June, 2020. [paper]
P. Dinda, C. Hetland, Do Developers Understand IEEE Floating Point?, Proceedings of the 32nd IEEE International Parallel and Distributed Processing Symposium (IPDPS 2018), May 2018. [paper]
Software#
- FPVM (Floating Point Virtual Machine) Main branch reflects HPDC 2025 paper
- FPSpy (Floating Point Spy) Estep branch reflects 2025 Technical Report. Old tarball also available
- FPArch - RISC-V extensions for efficient floating point spying and virtualization (not public yet)
- SciAttack Tools for finding classical and novel vulnerabilities in scientific programs (not public yet)
- User Study Materials and Methodology (take survey yourself)
Teaching#
Sponsors#
The Buoyancy Project is made possible by support from the National Science Foundation via awards CNS-2211315, CCF-2028851, and CNS-1763743.