OpenMP指导语句全局嵌套类型的静态分析及应用
作者:
基金项目:

Supported by the National Natural Science Foundation of China under Grant No.69933020 (国家自然科学基金)

  • 摘要
  • | |
  • 访问统计
  • |
  • 参考文献 [12]
  • |
  • 相似文献 [20]
  • |
  • 引证文献
  • | |
  • 文章评论
    摘要:

    由于指导语句动态嵌套与绑定规则的存在,OpenMP程序中线程的一些上下文只能在运行时刻才能完全确定.然而,通过编译时刻的静态分析可以部分确定指导语句的嵌套类型,这些信息可以用于指导后续的编译与优化.由于函数调用的存在,嵌套与绑定常常会跨越过程边界,除了通常的局部和全局分析之外,还需要过程间分析的支持.通过在通常的过程间分析的基础上附加信息,可以使得嵌套类型信息在过程调用图中进行传播.将这些全局信息与过程内的局部信息结合起来,就可以在编译时刻确定语句的嵌套类型.结果表明,编译时刻的嵌套类型分析可以有效地确定通常的科学与工程计算程序中指导语句的嵌套类型,基于嵌套类型的翻译与优化可以同时减少运行时开销和目标代码长度.

    Abstract:

    Because of the rules of dynamic directive nesting and binding, some of the thread context in OpenMP programs can only be totally determined at runtime. However, by compiling time static analysis, nesting type can be partly determined and this information can be passed to other compiling phases to guide later translation and optimizations. Since the binding and nesting may span the procedure boundaries through calls, local and global analyses are not enough. It is the interprocedural analysis that provides the most required ability. By integrating information into traditional interprocedural analysis, the nesting type information of procedures is propagated along call graphs. And later translation and optimization phases can bind this global information with local information inside the procedure to determine the nesting types at compiling time. The results demonstrate that in typical science and engineering workload the nesting type is highly determinable at compiling time, and the application of this information may achieve less runtime overhead and the reduced code size.

    参考文献
    [1]OpenMP Architecture Review Board. OpenMP FORTRAN Application Program Interface Version 2.0, November 2000. OpenMP C and C++ Application Program Interface version 2.0, March 2002. Http://www.openmp.org
    [2]Jin H, Frumkin M, Yan J. The OpenMP implementation of NAS parallel benchmarks and its performance. Technical Report, Report NAS-99-011, NASA Ames Research Center, 1999.
    [3]Brunschen C, Brorsson M. OdinMP/CCp-a portable implementation of OpenMP for C. Concurrency: Practice and Experience, 2000, 12(12):1193-1203.
    [4]Seung JM, Seon WK, Voss M, Sang IL Eigenmann R. Portable compilers for OpenMP. In: Proc. Of the Workshop on OpenMP Applications and Tools (WOMPAT2001). Purdue University, West Lafayette, Indiana, 2001. 11-19.
    [5]Ayguade E, Marc G, Labarta J. NanosCompiler: A research platform for OpenMP extensions. In: Proc. Of the 1st European Workshop on OpenMP (EWOMP'99). Lund, Sweden, 1999. 27-31.
    [6]Sato M, Satoh S, Kusano K, Tanaka Y. Design of OpenMP compiler for an SMP cluster. In: Proc. Of the 1st European Workshop on OpenMP (EWOMP'99). Lund, Sweden, 1999. 32-39.
    [7]Sato M, Harada H, Hasegawa A. Cluster-Enabled OpenMP: An OpenMP compiler for the SCASH software distributed shared memory system. Scientific Programming, 2001,9(2-3):123-130.
    [8]Satoh S, Kusano K, Sato M. Compiler optimization techniques for OpenMP programs. Scientific Programming, 2001,9(2-3): 131-142.
    [9]Kusano K, Satoh S, Sato M. Performance evaluation of the omni OpenMP compiler. In: Valero M, et al. Eds. Proc. Of the Workshop on OpenMP: Experiences and Implementations (WOMPEI2000). Berlin: Springer Verlag, 2000. 403-414.
    [10]Open Research Compiler. Http://ipf-orc.sourceforge.net
    [11]Chen YJ, Li JJ, Wang SY, Wang DX. ORC-OpenMP: An OpenMP compiler based on ORC. In: Voss M, ed. Proc. Of the Int'l Conf. On Computational Science 2004. Berlin: Springer-Verlag, 2004. 414-423.
    [12]Tian XM, Bik A, Girkar M, Grey P, Saito H, Su E. Intel OpenMP C++/FORTRAN compiler for Hyper-Threading technology: Implementation and performance. Intel Technology Journal, 2002,6(1):36-46.
    网友评论
    网友评论
    分享到微博
    发 布
引用本文

陈永健,舒继武,李建江,王鼎兴. OpenMP指导语句全局嵌套类型的静态分析及应用.软件学报,2005,16(2):194-204

复制
分享
文章指标
  • 点击次数:4266
  • 下载次数: 5604
  • HTML阅读次数: 0
  • 引用次数: 0
历史
  • 收稿日期:2003-09-18
  • 最后修改日期:2004-07-21
文章二维码
您是第19783765位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京市海淀区中关村南四街4号,邮政编码:100190
电话:010-62562563 传真:010-62562533 Email:jos@iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号