首页> 外文期刊>Scientific programming >High-Performance Design Patterns for Modern Fortran
【24h】

High-Performance Design Patterns for Modern Fortran

机译:现代Fortran的高性能设计模式

获取原文
       

摘要

This paper presents ideas for using coordinate-free numerics in modern Fortranto achieve code flexibility in the partial differential equation (PDE) domain. Wealso show how Fortran, over the last few decades, has changed to become a languagewell-suited for state-of-the-art software development. Fortran’s new coarraydistributed data structure, the language’s class mechanism, and its side-effect-free,pure procedure capability provide the scaffolding on which we implement HPCsoftware. These features empower compilers to organize parallel computationswith efficient communication. We present some programming patterns that supportasynchronous evaluation of expressions comprised of parallel operations ondistributed data. We implemented these patterns using coarrays and the message passing interface (MPI). We compared the codes’ complexity and performance. The MPI code is much more complex and depends on external libraries. The MPIcode on Cray hardware using the Cray compiler is 1.5–2 times faster than the coarraycode on the same hardware. The Intel compiler implements coarrays atop Intel’s MPIlibrary with the result apparently being 2–2.5 times slower than manually codedMPI despite exhibiting nearly linear scaling efficiency. As compilers mature andfurther improvements to coarrays comes in Fortran 2015, we expect this performancegap to narrow.
机译:本文提出了在现代Fortran中使用无坐标数值以在偏微分方程(PDE)域中实现代码灵活性的想法。我们还展示了在过去的几十年中,Fortran如何变为一种非常适合最先进的软件开发的语言。 Fortran的新的coarray分布式数据结构,语言的类机制及其无副作用的纯过程功能为我们实施HPC软件提供了基础。这些功能使编译器可以通过高效的通信来组织并行计算。我们提出了一些编程模式,这些模式支持对分布式数据的并行操作组成的表达式进行异步求值。我们使用协同数组和消息传递接口(MPI)实现了这些模式。我们比较了代码的复杂性和性能。 MPI代码要复杂得多,并且取决于外部库。使用Cray编译器的Cray硬件上的MPIcode比相同硬件上的coarraycode快1.5–2倍。英特尔编译器在英特尔MPI库上实现了协同阵列,尽管表现出近乎线性的缩放效率,但其结果显然比手动编码的MPI慢2–2.5倍。随着编译器的成熟以及对Forarray 2015的协同阵列的进一步改进,我们希望这种性能差距会缩小。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号