An MPI backend for Open64 compiler

被引:0
|
作者
机构
[1] State Key Laboratory of Mathematical Engineering and Advanced Computing, PLA Information Engineering University
[2] School of Computer, National University of Defense Technology
来源
Zhao, J. (zjbc2005@163.com) | 1620年 / Science Press卷 / 37期
关键词
Distributed-memory; High-performance computing; MPI codes; Open64; compiler; Parallelizing compiler;
D O I
10.3724/SP.J.1016.2014.01620
中图分类号
学科分类号
摘要
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.
引用
收藏
页码:1620 / 1632
页数:12
相关论文
共 20 条
  • [1] Hall M.W., Amarasinghe S.P., Murphy B.R., Et al., Interprocedural parallelization analysis in SUIF, ACM Transactions on Programming Languages and Systems, 27, 4, pp. 662-731, (2005)
  • [2] Kwon D., Han S., Kim H., MPI backend for an automatic parallelizing compiler, Proceedings of the 14th International Symposium on Parallel Architectures, Algorithms and Networks, pp. 152-157, (1999)
  • [3] Ferner C.S., The paraguin compiler- message-passing code generation using SUIF, Proceedings of the IEEE SoutheastCon 2002, pp. 1-6, (2002)
  • [4] Du J.C., Chen D.X., Xie L., JAPS: An automatic parallelizing system based on Java, Science in China (Series E), 42, 4, pp. 396-406, (1999)
  • [5] Lin M., Yu Z.Y., Zhang D., Et al., Retargeting the Open64 compiler to PowerPC processor, Proceedings of the 2008 International Conference on Embedded Software and Systems Symposia, pp. 152-157, (2008)
  • [6] Allen R., Kennedy K., Optimizing Compilers for Modern Architectures - A Dependence-Based Approach, (2001)
  • [7] Han L., Research on the parallel decomposition consistency for distributed-memory architecture, (2008)
  • [8] Wolfe M.J., High Performance Compilers for Parallel Computing, (1995)
  • [9] Pugh W., A practical algorithm for exact array dependence analysis, Communication of the ACM, 35, 8, pp. 102-114, (1992)
  • [10] Wang E.-F., Linear Algebra, (2007)