已收录 268921 条政策
 政策提纲
  • 暂无提纲
High-Performance Design Patterns for Modern 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.
[发布日期]  [发布机构] 
[效力级别]  [学科分类] 软件
[关键词]  [时效性] 
   浏览次数:3      统一登录查看全文      激活码登录查看全文