DOE OSTI · 1823215
The Applicability of Unit Systems to High-Performance Computing Applications
Abstract
Dimensional analysis is a key technique used to verify the soundness of scientific models. Most experts agree that engineering and scientific software would be made more reliable by integrating dimensional analysis in their type system. We explored how High Performance Computing (HPC) applications could integrate compile-time dimensional analysis. We started by investigating various implementation of unit systems for C++. Eventually, selecting the latest (and most advanced) one to apply to our test codes. We worked with code of increasing complexity, from a projectile trajectory calculation to the proxy-application Lulesh. This included our code, Springs-3D, which focuses on demonstrating language features while performing simple physic computations. Finally, our main contribution is a source-code analysis which extracts constraints on the dimension of all variables, functions, and constants in an application. This resulting system of equations is solved using the dimensions of a few of these objects. This analysis has the potential to greatly reduce the time spent performing dimensional analysis when refactoring application to use a representation of units.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Vanderbruggen, Tristan L., Lin, P., Pinnow, N.. 2021-09-29. The Applicability of Unit Systems to High-Performance Computing Applications. https://doi.org/10.2172/1823215
Cite the original work for its findings. Save a collection to share your selection of sources.