arXivDaily arXiv每日学术速递 周一至周五更新
arXiv cs/0012006cs.SEcs.PL
收藏

支持可自动删除的程序

Support for Debugging Automatically Parallelized Programs

Robert Hood, Gabriele Jost

摘要:

我们描述了一个系统,它简化了计算机辅助并行化工具产生的调试程序的过程。该系统使用相关的调试技术来比较串行和并行执行,以显示计算开始不同的地方。如果原始串行代码是正确的,则将通过比较来隔离由于并行化引起的错误。系统的主要目标之一是最小化用户所需的工作量。为此,调试系统使用由并行化工具产生的信息来驱动比较过程。特别地,调试系统依赖于并行化工具来提供关于变量可能已被修改的位置以及数组如何跨多个进程分布的信息。通过使用动态检测,用户的工作量也减少了。这允许我们修改程序执行,而不改变用户构建可执行文件的方式。使用动态插装还允许我们以细粒度的方式比较执行,并且仅在检测到差异时才涉及调试器。这减少了执行插装的开销。

英文摘要:

We describe a system that simplifies the process of debugging programs produced by computer-aided parallelization tools. The system uses relative debugging techniques to compare serial and parallel executions in order to show where the computations begin to differ. If the original serial code is correct, errors due to parallelization will be isolated by the comparison. One of the primary goals of the system is to minimize the effort required of the user. To that end, the debugging system uses information produced by the parallelization tool to drive the comparison process. In particular, the debugging system relies on the parallelization tool to provide information about where variables may have been modified and how arrays are distributed across multiple processes. User effort is also reduced through the use of dynamic instrumentation. This allows us to modify the program execution without changing the way the user builds the executable. The use of dynamic instrumentation also permits us to compare the executions in a fine-grained fashion and only involve the debugger when a difference has been detected. This reduces the overhead of executing instrumentation.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑