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.
翻译:自动平行化通过自动转换为平行程序来改进序列程序的性能。 自动平行化通常在三个阶段发挥作用: 检查输入程序的数据依赖性, 进行转换, 并为目标机器生成平行代码。 虽然自动平行化是有益的, 但由于数据依赖性测试和转换技术的时间复杂, 数据依赖性不是作为汇编过程的一部分。 数据依赖性产生于执行程序指令所需的记忆中的数据访问。 在一个程序中, 内存性被分配到标码、 阵列和指针等变量中。 目前, 使用不同技术来识别输入程序的数据依赖性、 转换和 目标机器的平行代码。 在本文中, 我们提出一个基于图形的数据依赖性标识( DDI), 它能够识别所有变量中出现的所有类型的数据依赖性。 在我们提议的 DDI 模型中, 用于确定程序中的数据依赖性, 我们代表一个程序图示。 尽管许多图形化的演示文, 我们以图表形式代表的程序, 以图表形式显示程序作为图表显示程序, 以图表形式显示一个程序, 以图表形式显示一个程序, 以图表形式显示图表形式显示一个程序, 以图形为图表为图表, 图形, 以图表为图表为图表, 进行一种基本的 的 演示, 进行一种持续的 演示, 进行 进行 演示, 演示的 演示, 进行一个基本的 演示, 演示的, 进行 进行 进行 进行 进行 演示的 进行一种, 演示式,,, 进行不同的 演示式的 进行一种 演示式的,, 进行不同的 演示式,, 进行不同的 进行一种 进行一种, 进行 进行 演示 进行 进行 进行一种 进行一种 的 的, 的 的 的,,,, 的,,,,, 进行 进行 演示, 进行,, 演示, 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行, 进行 进行 进行 进行, 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行 进行