The use of numerical software has grown rapidly over the past few years, providing the foundation for a large variety of applications including scientific software and machine learning. Given the variety of numerical errors that can occur, floating-point programs are difficult to write, test and debug. One common practice among developers is to use the highest available precision when allocating variables. While more robust, this can degrade program performance significantly. In this talk, I will describe our recent research on developing tools for testing numerical programs. Then I will describe our work on developing tools to assist programmers in tuning the precision of their floating-point programs. I will conclude by discussing remaining challenges and opportunities for testing and scalable precision tuning of HPC applications.
Cindy Rubio-González is an Associate Professor of Computer Science at the University of California, Davis. Prior to joining UC Davis, she was a Postdoctoral Researcher in the EECS Department at the University of California, Berkeley. She received her Ph.D. in Computer Science from the University of Wisconsin–Madison in 2012. Her research spans the areas of Software Engineering and Programming Languages, with a focus on program analysis for automated bug finding and program optimization. She is particularly interested in the reliability and performance of systems software and scientific computing applications. Cindy is a recipient of several awards including the DOE Early Career Award, NSF CAREER Award, DOE Better Scientific Software Fellowship, Facebook Testing and Verification Research Award, UC Davis Hellman Fellowship, and UC Davis CAMPOS Faculty Award.