...
首页> 外文期刊>Scientific programming >Scientific Programming with High Performance Fortran: A Case Study Using the xHPF Compiler
【24h】

Scientific Programming with High Performance Fortran: A Case Study Using the xHPF Compiler

机译:高性能Fortran的科学编程:使用xHPF编译器的案例研究

获取原文
           

摘要

Recently, the first commercial High Performance Fortran (HPF) subset compilers have appeared. This article reports on our experiences with the xHPF compiler of Applied Parallel Research, version 1.2, for the Intel Paragon. At this stage, we do not expect very High Performance from our HPF programs, even though performance will eventually be of paramount importance for the acceptance of HPF. Instead, our primary objective is to study how to convert large Fortran 77 (F77) programs to HPF such that the compiler generates reasonably efficient parallel code. We report on a case study that identifies several problems when parallelizing code with HPF; most of these problems affect current HPF compiler technology in general, although some are specific for the xHPF compiler. We discuss our solutions from the perspective of the scientific programmer, and presenttiming results on the Intel Paragon. The case study comprises three programs of different complexity with respect to parallelization. We use the dense matrix-matrix product to show that the distribution of arrays and the order of nested loops significantly influence the performance of the parallel program. We use Gaussian elimination with partial pivoting to study the parallelization strategy of the compiler. There are various ways to structure this algorithm for a particular data distribution. This example shows how much effort may be demanded from the programmer to support the compiler in generating an efficient parallel implementation. Finally, we use a small application to show that the more complicated structure of a larger program may introduce problems for the parallelization, even though all subroutines of the application are easy to parallelize by themselves. The application consists of a finite volume discretization on a structured grid and a nested iterative solver. Our case study shows that it is possible to obtain reasonably efficient parallel programs with xHPF, although the compiler needs substantial support from the programmer.
机译:最近,出现了第一个商业高性能Fortran(HPF)子集编译器。本文报告了我们使用适用于Intel Paragon的Applied Parallel Research 1.2版的xHPF编译器的经验。在此阶段,尽管性能最终对于接受HPF至关重要,但我们并不期望HPF计划具有很高的性能。相反,我们的主要目标是研究如何将大型Fortran 77(F77)程序转换为HPF,以便编译器生成合理有效的并行代码。我们报告了一个案例研究,该案例确定了将代码与HPF并行化时的几个问题。这些问题中的大多数通常会影响当前的HPF编译器技术,尽管有些问题是特定于xHPF编译器的。我们从科学程序员的角度讨论我们的解决方案,并在Intel Paragon上展示预期的结果。案例研究包括三个并行度不同的程序。我们使用密集矩阵矩阵乘积来表明数组的分布和嵌套循环的顺序会显着影响并行程序的性能。我们使用具有部分枢轴的高斯消去方法来研究编译器的并行化策略。有多种方法来构造用于特定数据分布的算法。此示例显示了程序员可能需要多少精力来支持编译器生成有效的并行实现。最后,我们使用一个小型应用程序来证明,即使应用程序的所有子例程都易于自行并行化,大型程序的更复杂的结构也可能会为并行化带来问题。该应用程序由结构化网格上的有限体积离散化和嵌套的迭代求解器组成。我们的案例研究表明,尽管编译器需要程序员的大力支持,但使用xHPF可以获得合理有效的并行程序。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号