Develop mixed single-double precision algorithms for surrogate modeling and Uncertainty Quantification within the Tasmanian library.
Significance and Impact
The limited amount of GPU RAM is a major obstacle for the neutrino simulations performed by the ExaStar project, the mixed precision algorithms will reduce the memory constraints by a factor of two.
Template the external API to work with inputs and outputs of either precision and provide a unified succinct template API for both double and mixed-precision algorithms.
Update the internal API to interface with third party libraries that use C/Fortran-style of method names for different precision algorithms.
Double precision has been the golden standard for numerical algorithms over the past few decades, but in recent years, the mixed precision approach has demonstrated a significant increase in performance without sacrificing accuracy or stability. Within the Tasmanian framework, the pre-processing steps, that are most sensitive to rounding-error and conditioning and must be performed in the reliable double-precision; afterwards, the result can be truncated and the most performance critical paths executed in single-precision offering a significant performance boost. Benchmarks performed on Nvidia Volta V100 show up-to 2 time speed up in wall-clock time, and perhaps more importantly, 2X reduction in GPU memory usage.