可扩展的自动并行化编译系统Agassiz
论文摘要
随着并行计算机的大量涌现,如何开发并行程序以便充分有效利用并行计算机资源已成为非常重要但又十分困难的问题。在目前缺乏普遍接受的并行程序设计语言的情况下,自动并行化是解决这一问题的有效途径之一。所谓自动并行化编译技术就是指通过多种技术手段自动检测串行程序中潜在的并行性,并将串行程序转变为等价的高效并行程序的技术。由于并行化编译的研究依赖于实验性方法,而实验性方法往往会对并行化编译系统提出很多要求,这些要求需要有不同的技术来解决,如何将这些技术有效地集成,是开发并行化编译系统的关键。当今国际上3个比较有影响力的并行化编译系统(SUIF[1]、Polaris[2]、AFT[3])与理想的要求还存在差距。Polaris与AFT只能实现串行Fortran程序的并行化,SUIF虽然对串行Fortran与串行C都能进行并行化,但对Fortran的并行化是通过把Fortran转换成C完成的[1],这在一定程度上阻碍了某些并行性的发掘。而且要在这3个系统上支持新的语言或者实现新的并行优化算法是一件比较困难的事情,因此迫切需要一个具有良好可扩展性的自动并行化编译系统。Agassiz是一个可扩展的自动并行化编译系统,它可以把串行程序变换为并行程序,并为编译技术的研究提供了良好的平台。通过面向对象的设计,对多种语言的支持以及与后端编译器有效整合使得Agassiz一定程度上弥补了现有自动并行化编译系统通用性和可扩展性差的不足。
论文目录
摘要Abstract第一章 引言1.1 研究背景1.2 并行编译系统的发展1.2.1 向量化编译1.2.2 SMP上的并行化编译1.2.3 MPP上的并行化编译1.3 本文工作和全文结构第二章 并行化编译相关技术2.1 数据相关性分析2.2 过程间分析2.3 循环变换2.4 规约变量的识别2.5 数组私有化第三章 Agassiz的整体设计3.1 现有的一些自动并行化编译系统介绍3.1.1 AFT3.1.2 Polaris3.1.3 SUIF 2.03.2 Agassiz的系统结构3.3 Agassiz的设计原则3.4 Agassiz的基本数据结构3.4.1 线性表结构3.4.2 树结构3.5 Agassiz的关键特性3.5.1 内存管理3.5.2 支持多种语言3.5.3 与后端编译器的有效整合3.5.4 支持源码-源码的转换3.5.5 并行分析和并行变化技术第四章 Agassiz IR的设计4.1 IR的设计原则4.2 现有的一些IR设计4.2.1 GCC的IR设计4.2.2 ICC的IR设计4.2.3 Polaris的IR设计4.2.4 AFT系统的IR设计4.2.5 SUIF1.0编译系统的IR设计4.2.6 SUIF2.0编译系统的IR设计4.3 Agassiz编译系统的IR设计4.3.1 IR在Agassiz编译系统中的地位4.3.2 Agassiz的中间表示形式4.3.3 IR的层次架构4.3.4 Agassiz IR的面向对象设计4.3.5 Agassiz IR提供的接口4.3.6 Agassiz IR内存映像的导出与导入4.4 Agassiz IR对并行分析和并行变换的支持第五章 总结参考文献致谢
相关论文文献
本文来源: https://www.lw50.cn/article/581455e1d8901f3e617e25d8.html