Project Details
Description
Overview: Complete reliance on IEEE floating point arithmetic is a common denominator of most programs in science and engineering, ranging in scale from one-off scripts on laptops to long-running simulations on capability supercomputers. As more and more fields embrace a computational approach, including indirectly via machine learning or data science, this reliance is expanding rapidly. At the same time, the number of developers tasked with writing the needed programs is growing quickly.
Preliminary work has shown that developers, including scientific developers, have a surpris-ingly weak understanding of the inherent limitations of floating point, and the vagaries of its im-plementation in hardware and software toolchains. Furthermore, the optimization of floating point within software and hardware is becoming increasingly complex, raising the chances that new as well as heretofore known-good code may become broken and produce bad results. These issues are indeed reflected in today’s scientific applications, potentially reducing confidence in conclusions reached from using them.
The proposed project will investigate how to address these problems from a systems perspec-tive, one that is informed by a methodical approach to understanding the user perspective ofsoft-ware developers and their science/engineering applications. One wing of the project will expand on our existing studies of software developers to better gauge understanding of floating point issues, enhance tools for finding problems in existing codebases, and apply such tools to a range of extant scientific programs to further enhance our undstanding of the extent of such issues today. The other wing of the project will design, implement, and evaluate run-time, operating system- and compiler-assisted mechanisms that will improve existing binaries as well as provide developers with a simpler substrate for floating point and its alternatives going forward.
Status | Active |
---|---|
Effective start/end date | 10/1/22 → 3/31/26 |
Funding
- National Science Foundation (CNS-2211315-004)
Fingerprint
Explore the research topics touched on by this project. These labels are generated based on the underlying awards/grants. Together they form a unique fingerprint.