首页> 外文期刊>IEEE Transactions on Parallel and Distributed Systems >An integrated runtime and compile-time approach for parallelizing structured and block structured applications
【24h】

An integrated runtime and compile-time approach for parallelizing structured and block structured applications

机译:一种集成的运行时和编译时方法,用于并行化结构化和块结构化应用程序

获取原文
获取原文并翻译 | 示例

摘要

In compiling applications for distributed memory machines, runtime analysis is required when data to be communicated cannot be determined at compile-time. One such class of applications requiring runtime analysis is block structured codes. These codes employ multiple structured meshes, which may be nested (for multigrid codes) and/or irregularly coupled (called multiblock or irregularly coupled regular mesh problems). In this paper, we present runtime and compile-time analysis for compiling such applications on distributed memory parallel machines in an efficient and machine-independent fashion. We have designed and implemented a runtime library which supports the runtime analysis required. The library is currently implemented on several different systems. We have also developed compiler analysis for determining data access patterns at compile time and inserting calls to the appropriate runtime routines. Our methods can be used by compilers for HPF-like parallel programming languages in compiling codes in which data distribution, loop bounds and/or strides are unknown at compile-time. To demonstrate the efficacy of our approach, we have implemented our compiler analysis in the Fortran 90D/HPF compiler developed at Syracuse University. We have experimented with a multi-bloc Navier-Stokes solver template and a multigrid code. Our experimental results show that our primitives have low runtime communication overheads and the compiler parallelized codes perform within 20% of the codes parallelized by manually inserting calls to the runtime library.
机译:在为分布式存储机器编译应用程序时,当无法在编译时确定要通信的数据时,需要运行时分析。需要运行时分析的这类应用程序之一是块结构代码。这些代码采用了多个结构化的网格,这些网格可以嵌套(对于多网格代码)和/或不规则地耦合(称为多块或不规则耦合的常规网格问题)。在本文中,我们介绍了运行时和编译时分析,用于以高效且独立于机器的方式在分布式内存并行机上编译此类应用程序。我们已经设计并实现了一个运行时库,该库支持所需的运行时分析。该库当前在几种不同的系统上实现。我们还开发了编译器分析工具,用于确定编译时的数据访问模式并将对适当的运行时例程的调用插入。编译器可以将我们的方法用于类似HPF的并行编程语言,以在编译时不知道数据分布,循环界限和/或步幅的编译代码中使用它们。为了证明我们方法的有效性,我们在雪城大学开发的Fortran 90D / HPF编译器中实施了编译器分析。我们已经尝试了多块Navier-Stokes求解器模板和多网格代码。我们的实验结果表明,我们的原语具有较低的运行时通信开销,并且通过手动插入对运行时库的调用,编译器并行化的代码执行的代码占并行化代码的20%。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号