【24h】

Source Level Merging of Independent Programs

机译:独立程序的源代码级合并

获取原文
获取原文并翻译 | 示例

摘要

This work presents the outline of an algorithm for merging two programs (and hence more) into a single program in source level. The approach is a constrained software equivalent of simultaneous multithreading (SMT). This work goes beyond previous works [2, 3, 4, 1] by considering how to merge the remainder of a loop into a recursively merged tail. The contribution of this work is the technique of handling the tail of non-equivalent loops in the process of recursively merging subcomponents. The proposed scheme makes extensive use of the ability to forward "remaining iterations" from the merging of two sub-components to be used in following mergings of other sub-components. Forwarding remaining iterations has several modes and in particular the ability to use repeated execution of inner loops to complete the iterations of larger loops. This is (to the best of our knowledge) the first complete tool for source-level merging in C. The effectiveness of the proposed scheme for embedded systems has been studied via a sequence of experiments showing expected improvement of 10-20%. We tested merging programs from DSP related benchmarks using several compilers on different architectures.
机译:这项工作提出了在源代码级别将两个程序(以及更多程序)合并为一个程序的算法的概述。该方法是受约束的软件,等效于同时多线程(SMT)。通过考虑如何将循环的其余部分合并到递归合并的尾部,这项工作超出了先前的工作[2、3、4、1]。这项工作的贡献是在递归合并子组件的过程中处理非等价循环的尾部的技术。所提出的方案充分利用了从两个子部件的合并中转发“剩余迭代”的能力,以在随后的其他子部件的合并中使用。转发剩余的迭代具有几种模式,特别是具有使用内部循环的重复执行来完成较大循环的迭代的能力。 (据我们所知),这是C语言中第一个完整的源级合并工具。通过一系列实验表明,所提出的嵌入式系统方案的有效性得到了预期的10-20%的改善。我们使用不同体系结构上的多个编译器测试了与DSP相关的基准测试中的合并程序。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号