arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 0810.5575cs.PL
收藏

用数组检测程序中的并行步

Detection of parallel steps in programs with arrays

R. Nuriyev

摘要:

程序中信息与逻辑独立(DILD)步骤的检测问题是实现程序等价变换的关键。在这里,我们考虑的问题是循环迭代的独立性,大量数据处理的集中性,因此是并行化最具挑战性的构造。我们介绍了一种分离形式的循环,当循环的主体是一系列过程时,每个过程都使用前一个过程中选择的数组元素。我们证明,任何循环可以算法表示在这种形式和这样的程序是不变的。我们表明,这种形式的循环的步骤连接确定与一些整数方程,因此,独立性问题是算法上无法解决的,如果指数表达式比立方更复杂。我们建议修改索引语义,使连接方程平凡和循环迭代可以并行执行。

英文摘要:

The problem of detecting of information and logically independent (DILD) steps in programs is a key for equivalent program transformations. Here we are considering the problem of independence of loop iterations, the concentration of massive data processing and hence the most challenge construction for parallelizing. We introduced a separated form of loops when loop's body is a sequence of procedures each of them are used array's elements selected in a previous procedure. We prove that any loop may be algorithmically represented in this form and number of such procedures is invariant. We show that for this form of loop the steps connections are determined with some integer equations and hence the independence problem is algorithmically unsolvable if index expressions are more complex than cubical. We suggest a modification of index semantics that made connection equations trivial and loops iterations can be executed in parallel.

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

↑