November 4, 2021 at 6pm PDT
Virtual, RSVP: Women in Compilers and Tools December Meetup | Meetup
Talk Title: Fast and Precise Approaches to Detect, Debug, and Repair Numerical Errors.
Talk Description: The floating-point representation is a widely used approximation for real numbers in major application domains, e.g., scientific computing, weather forecasting, and machine learning. Being an approximation, rounding errors in FP computations are unavoidable. Although rounding errors per instruction are negligible, they can be accumulated or amplified due to certain operations influencing the program’s output. Rounding errors can even change the program’s control flow, resulting in wrong output or slow convergence. Unsurprisingly, such errors have caused many catastrophic incidents in the past.
Our approach employs shadow analysis with real numbers to comprehensively detect numerical errors. This approach has been explored in the past but has high overheads making it unusable with long-running applications. There are mainly three main reasons for high overheads. First, high-precision computations are used as an oracle for real numbers leading to high overheads. Second, shadow execution requires storing metadata with each FP instruction for error detection and debugging, leading to additional memory overhead. Third, FP instructions dominate today’s applications due to high performance, and instrumenting every FP instruction and calling a runtime library function is costly.
My dissertation research aims to resolve these issues by employing innovative techniques, including smart metadata design, running shadow execution in parallel on multiple cores, and designing a new lightweight oracle based on hardware-supported FP instructions. In this talk, I will go through these ideas resulting in a speedup of error detection and debugging by a significant factor over the state-of-the-art.
About the speaker: Sangeeta Chowdhary is a Ph.D. student at Rutgers University working under the supervision of Prof. Santosh Nagarakatte. Her work focuses on developing new compiler techniques to ease debugging of numerical applications. Before joining the Ph.D. program at Rutgers, Sangeeta worked at Samsung R&D Center, Bangalore, India as a software engineer where she designed networking interfaces for mobile phones.
Website : https://people.cs.rutgers.edu/~sc1696/