SC22 Proceedings

The International Conference for High Performance Computing, Networking, Storage, and Analysis

Birds of a Feather Archive

Using Chapel to Develop Practical, Scalable Applications

Authors: Josh Milthorpe (Oak Ridge National Laboratory (ORNL), Australian National University), Michelle Strout (Hewlett Packard Enterprise (HPE), University of Arizona), Bradford Chamberlain (Hewlett Packard Enterprise (HPE), University of Washington)

Abstract: Chapel is a parallel programming language designed to simplify the programmability, portability, and scalability of HPC applications relative to conventional approaches. This BoF focuses on building on the community of users developing real-world applications written in Chapel and to discuss the benefits of using Chapel in terms of scalability, performance, and time-to-science. Some key Chapel concepts will be briefly summarized and then users will present highlights from data science applications, Aeronautics, Geoscience applications, and Astronomy. The last portion of the BoF will be spent having an open discussion of Chapel usage and collecting feedback on the Chapel roadmap.

Long Description: The main goal of this BOF is community building amongst HPC application developers interested in hearing about how the Chapel programming language enables the relatively simple specification of a wide variety of parallelism patterns. A secondary goal is to illustrate to other HPC scientific computing groups significant applications written in Chapel and discuss the programmability and performance of such applications. Another goal is for programmers in a wide variety of application domains involving simulation and/or data science to learn about examples from their domains, or domains with similar computational patterns, that are successfully leveraging Chapel. BOF attendees will also be able to share feedback on the Chapel roadmap.

A variety of applications have taken advantage of Chapel's ease of programming and high performance. In this BOF, there will be a brief overview of some key concepts in Chapel that users have reported finding attractive such as its global view of computation and constructs that enable the specification of distributed- and shared-memory parallelism. These concepts will be illustrated with some example programs running on laptops to supercomputers, including: (1) ChplUltra for simulating ultralight dark matter; (2) Arkouda for performing NumPY-like operations on supercomputers; and (3) CHAMPS for computational fluid dynamics simulations.

This BOF is relevant to HPC programmers and application principal investigators (PIs). The application areas and lifetimes of HPC applications are broad, but all have to navigate the ever-evolving computer architecture landscape. Conventional programming systems have developed libraries and domain-specific languages to help manage the extreme heterogeneity of parallelism and data systems, but solutions often have to make a tradeoff between programming simplicity and performance. Many HPC programmers and application PIs will be interested in hearing examples where a single programming language has enabled the coherent management of such complexity.

One expected outcome is an open discussion about the advantages and disadvantages of using Chapel to solve programmability and performance issues in the face of extreme parallel heterogeneity. The core Chapel team will have strong representation at the BOF and will be open to hearing feedback from the HPC application community. Another expected outcome is to grow the Chapel user community and thus the number of positive and productive interactions between application developers using Chapel. An artifact of the BOF will be feedback and questions collected from BOF attendees on an online whiteboard.


Back to Birds of a Feather Archive Listing