arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2102.09317cs.DC
收藏

基于图的程序数据依赖标识器

Graph based Data Dependence Identifier for Parallelization of Programs

Kavya Alluru, Jeganathan. L

摘要:

自动并行化通过将串行程序自动转换为并行程序来提高串行程序的性能。自动并行化通常分为三个阶段:检查输入程序中的数据依赖关系,执行转换,并为目标机器生成并行代码。虽然自动并行化是有益的,但由于数据依赖性测试和转换技术的时间复杂度,它不是作为编译过程的一部分来完成的。数据依赖性是由于执行程序指令所需的来自存储器的数据访问而产生的。在程序中,内存是为标量、数组和指针等变量分配的。到目前为止,不同的技术被用来识别程序中标量、数组和指针中的数据依赖关系。在本文中,我们提出了一个基于图的数据依赖标识符(DDI),这是能够识别所有类型的数据依赖出现在所有类型的变量,在多项式时间。在我们提出的DDI模型中,为了识别程序中的数据依赖,我们将程序表示为图。虽然存在许多程序的图形表示,但我们将程序表示为图的方法采用了不同的方法。同样使用我们的DDI模型,可以执行基本的转换,如死代码消除,常数传播和感应变量检测。

英文摘要:

Automatic parallelization improves the performance of serial program by automatically converting to parallel program. Automatic parallelization typically works in three phases: check for data dependencies in the input program, perform transformations, and generate the parallel code for target machine. Though automatic parallelization is beneficial, it is not done as a part of compiling process because of the time complexity of the data dependence tests and transformation techniques. Data dependencies arise because of data access from memory required for the execution of instructions of the program. In a program, memory is allocated for variables like scalars, arrays and pointers. As of now, different techniques are used to identify data dependencies in scalars, arrays and pointers in a program. In this paper, we propose a graph based Data Dependence Identifier (DDI), which is capable of identifying all types of data dependencies that arise in all types of variables, in polynomial time. In our proposed DDI model, for identifying data dependence in a program, we represent a program as graph. Though many graphical representation of program exist, our approach of representing a program as graph takes a different approach. Also using our DDI model, one can perform basic transformations like dead code elimination, constant propagation, and induction variable detection.

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

↑