首页 | 本学科首页   官方微博 | 高级检索  
     


Perturbing and evaluating numerical programs without recompilation—the wonglediff way
Authors:P. R. Eggert  D. S. Parker
Abstract:wonglediff is a program that tests the sensitivity of arbitrary program executables or processes to changes that are introduced by a process that runs in parallel. On Unix and Linux kernels, wonglediff creates a supervisor process that runs applications and, on the fly, introduces desired changes to their process state. When execution terminates, it then summarizes the resulting changes in the output files. The technique employed has a variety of uses. This paper describes an implementation of wonglediff that checks the sensitivity of programs to random changes in the floating‐point rounding modes. It runs a program several times, ‘wongling’ it each time: randomly toggling the IEEE‐754 rounding mode of the program as it executes. By comparing the resulting output, one gets a poor man's numerical stability analysis for the program. Although the analysis does not give any kind of guarantee about a program's stability, it can reveal genuine instability, and it does serve as a particularly useful and revealing idiot light. In our implementation, differences among the output files from the program's multiple runs are summarized in a report. This report is in fact an HTML version of the output file, with inline mark‐up summarizing individual differences among the multiple instances. When viewed with a browser, the differences can be highlighted or rendered in many different ways. Copyright © 2004 John Wiley & Sons, Ltd.
Keywords:diff  numerical instability checking  sensitivity analysis  random rounding  IEEE‐754 floating point arithmetic  rounding modes
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号