Parallel Shadow Execution to Accelerate the Debugging of Numerical Errors
Parallel Shadow Execution to Accelerate the Debugging of Numerical Errors
复制标题
并行影子执行加速数值错误的调试
DOI:
10.1145/3468264.3468585
复制
发表时间:
2021
期刊:
影响因子:
--
通讯作者:
Nagarakatte, Santosh
中科院分区:
文献类型:
--
作者:
Chowdhary, Sangeeta;Nagarakatte, Santosh
This paper proposes a new approach for debugging errors in floating point computation by performing shadow execution with higher precision in parallel. The programmer specifies parts of the program that need to be debugged for errors. Our compiler creates shadow execution tasks, which execute on different cores and perform the computation with higher precision. We propose a novel method to execute a shadow execution task from an arbitrary memory state, which is necessary because we are creating a parallel shadow execution from a sequential program. Our approach also ensures that the shadow execution follows the same control flow path as the original program. Our runtime automatically distributes the shadow execution tasks to balance the load on the cores. Our prototype for parallel shadow execution, PFPSanitizer, provides comprehensive detection of errors while having lower performance overheads than prior approaches.