Implementing stencil problems in Chapel: an experience report

Authors
Publication date 2019
Host editors
  • B. Robbins
  • B. Chamberlain
Book title CHIUW '19
Book subtitle proceedings of the ACM SIGPLAN 6th Chapel Implementers and Users Workshop : June 22, 2019, Phoenix, AZ, USA
ISBN (electronic)
  • 9781450368001
Event ACM SIGPLAN 6th Chapel Implementers and Users Workshop
Pages (from-to) 16-25
Publisher New York, NY: The Association for Computing Machinery
Organisations
  • Faculty of Science (FNWI) - Informatics Institute (IVI)
Abstract
Stencil operations represent a fundamental class of algorithms in high-performance computing. We are interested in what level of performance can be expected from a high-productivity language such as Chapel. To this effect we discuss four different implementations of a generic stencil operation with a convergence check after each iteration. We start with a sequential implementation followed by a global-view implementation that we experiment with both on a 16-core multi-core system as well as on a cluster with up to 16 such nodes using domain maps. We finish with a local-view implementation that explicitly encodes all design decisions with respect to parallel execution. This paper is set up as a two stage experience report: We mainly report our findings from the users' perspective without any feedback from the Chapel implementers. We then report additional analysis performed under guidance of the Chapel team.
Our experimental findings show that Chapel performs as expected on a single node. However, it does not achieve the expected levels of performance on our multi-node system, neither with the data-parallel global-view approach, nor with the task-parallel local-view code. We discuss the root causes of our reduced performance in detail and report possible solutions.
Document type Conference contribution
Language English
Published at https://doi.org/10.1145/3329722.3330146
Permalink to this page
Back