面向MPI代码生成的Open64编译器后端  被引量:5

An MPI Backend for Open64Compiler

在线阅读下载全文

作  者:赵捷[1] 赵荣彩[1] 韩林[1] 李宝亮[2] 

机构地区:[1]解放军信息工程大学数学工程与先进计算国家重点实验室,郑州450001 [2]国防科学技术大学计算机学院,长沙410073

出  处:《计算机学报》2014年第7期1620-1632,共13页Chinese Journal of Computers

基  金:"核高基"重大专项"支持国产CPU的编译系统及软件工具链"分课题"自动并行化与二进制翻译系统"(2009ZX01036-001-001-2);数学工程与先进计算国家重点实验室开放课题(2013A11)资助~~

摘  要:随着计算机体系结构的发展,分布式存储结构以其良好的扩展性逐渐占据了高性能计算机体系结构市场的主导地位.为了将现有的串行程序转换为能够在高性能计算机上运行的并行程序,研究人员提出了并行化编译器.然而,当前面向分布存储并行系统的编译器发展却相对较慢,而面向共享存储并行系统的编译器及其相应技术已逐渐成熟.一种开发面向分布存储并行系统编译器的可行方法是改进现有的面向共享存储并行系统的编译器,使其自动生成能够在分布存储结构高性能计算机上运行的MPI(Message Passing Interface)并行程序.因此,该文为面向共享存储并行系统的编译器Open64设计并实现了一个支持MPI代码生成的后端.根据分布式并行化编译的特点,主要从自动生成计算划分、改进循环优化和自动生成MPI并行代码3个方面对Open64进行了改进,使其能够实现面向分布存储的并行化编译.实验测试利用带有MPI后端的Open64对串行程序进行编译,生成的MPI并行代码可直接运行在具有分布存储结构的高性能计算机上.通过将该MPI并行代码的执行效率与传统面向分布存储并行系统编译器生成的MPI代码效率进行比较,并行效率有明显的提升.With the development of computer architecture, distributed-memory architecture has gradually occupied the dominant position of the high-performance computers due to its good scalability. To correctly translate existing serial programs into parallel, the parallelizing compiler was proposed. However, for the moment, the distributed-memory parallelizing compiler develops slower than the shared-memory one. A feasible method to develop the distributed ones is to advance existing shared ones, so that they can generate parallel MPI codes. Therefore, this paper discussed how to append an MPI backend to the shared-memory parallelizing compiler Open64. To make it work better for the distributed-memory, we optimized the Open64 in three aspects. computation decomposition, loop nested optimization and MPI code generation. In the experimentation, we used the advanced Open64 compiler to translate serial programs into parallel. The generated MPI codes can execute on a distributed-memory high-performance computer without any modification. By contrasting their results to those of existing parallelizing compilers, the efficiency was improved significantly.

关 键 词:高性能计算 分布存储 并行化编译系统 Open64编译器 MPI代码 

分 类 号:TP301[自动化与计算机技术—计算机系统结构]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象