The Chapel Parallel Programming Language


Chapel Presentations

Featured Presentations

What's New with Chapel: Applications, Aggregators, and Accelerators [video], Brad Chamberlain, 19th Annual Workshop on Charm++ and its Applications, online, October 18, 2021.
This talk is a quick tour through some recent highlights from the Chapel project, including the Arkouda and CHAMPS applications, high-level support for aggregated communication, and nascent GPU programming capabilities.
HPC Lessons from 30 Years of Practice in CFD Towards Aircraft Design and Analysis, [video], √Čric Laurendeau, CHIUW 2021, online, June 4, 2021.
This CHIUW keynote describes CHAMPS, a ~48k-line framework written in Chapel for 3D unstructured computational fluid dynamics (CFD), while also providing an introduction to the role of HPC in Aerodynamics. The productivity benefits that Chapel brings to the CHAMPS team's work are made clear.
Arkouda: Chapel-Powered, Interactive Supercomputing for Data Science [video|Q&A], William Reus, CHIUW 2020, online, May 22, 2020.
This CHIUW keynote describes Arkouda, a Python package that provides a NumPy-like interface implemented using a Chapel server that scales to dozens of Terabytes of data at interactive rates.
Chapel 101 [video], Brad Chamberlain, CHIUW 2020, online, May 22, 2020.
This is a fairly standard introduction to Chapel that was prepared for our annual Chapel workshop.

Other Recent Presentations

Parallel Programming in Chapel: Overview and Ookami, Brad Chamberlain, Ookami User Community Webinar, online, January 13, 2022.
This talk covers Chapel's motivation and some key benchmarking and application results before doing a deep-dive overview of the language and how it compares to SPMD programming. Initial baseline results of Chapel on Ookami are presented, with possible avenues for improving them given.
Separating Parallel Performance Concerns using Chapel, Michelle Strout, LCPC 2021, online, October 13, 2021.
This invited talk discusses the importance of separating concerns in High-Performance Computing, and the role of Chapel's multiresolution programming model in supporting such separation.
Chapel: An Example of Language-Level PGAS Support, Lydia Duncan, Practical and Efficient Partitioned Global Address Space Support for Data Intensive Applications minisymposium, SIAM AN21, online, July 22, 2021.
This talk describes Chapel's use for data-intensive computing within the context of CHAMPS and Arkouda, highlighting some of the benefits that a language-based approach to PGAS can yield.
CHIUW 2021 talks, June 4, 2021
CHIUW 2021 was the latest instance of our annual Chapel workshop featuring talks on the Chapel language, its implementation, and its use in a variety of applications. See the program page for slides and videos from the talks.

Chapel Overviews

Chapel: Productive, Multiresolution Parallel Programming [video], Brad Chamberlain, ATPESC 2016, August 3, 2016.
This is an overview of Chapel aimed at HPC programmers.
The Audacity of Chapel: Scalable Parallel Programming Done Right [video | director's cut slides | playlist], Brad Chamberlain, ACCU 2017 keynote, Bristol UK, April 28, 2017.

This keynote talk argues that parallel computing, particularly at scale, is deserving of new programming languages such as the one we're building, Chapel. It also notes that even if you are a traditional programmer who doesn't care about scalable computing, the concerns of your world will likely increasingly resemble those of HPC in the coming years. In the end, it's your call which is more audacious: Chapel, or the fact that we don't already have such a language.

For context, the UK ACCU conference at which this keynote was given had a "rock" theme, which led to the idea of using song lyric trivia to introduce each section of the talk. During the talk, the lyrics slides were animated such that the artist and album weren't revealed until guesses had been made. To play along at home, put a sticky note in the lower right corner of your window. The playlist link above leads to a Spotify playlist with the featured songs.

Computations in Chapel

Arkouda: Terascale Data Science at Interactive Rates, [video], Ben Albrecht, SciPy 2020, online, July 7, 2020.
This is an introductory talk describing Arkouda with some recent performance comparisons to NumPy.
Simulating Ultralight Dark Matter with Chapel: An Experience Report [paper], Nikhil Padmanabhan, PAW-ATM 2019, Denver CO, November 17, 2019.
This talk describes a use of Chapel to explore dark matter in cosmological models.
Arkouda: NumPy-like arrays at massive scale backed by Chapel [paper], Mike Merrill, PAW-ATM 2019, Denver CO, November 17, 2019.
This talk describes the role of Chapel in supporting Exploratory Data Analysis (EDA) in Arkouda.

Implementing and Optimizing Chapel

Compiling Chapel: Keys to Making Parallel Programming Productive at Scale [video], Brad Chamberlain, PACT'20, online, October 7, 2020.
This talk gives a peek into what's required to compile some of Chapel's key features, and describes a pair of optimizations that are made possible through its unique features.
Multiresolution Support for Aggregated Communication in Chapel, Brad Chamberlain, OpenSHMEM 2021 keynote, online, September 16, 2021.
This keynote describes various forms of optimized and aggregated communications in Chapel for sparse communication patterns as exhibited by HPCC RA, Bale IndexGather, or Arkouda. Approaches include asynchronous fine-grain communications, manual copies expressed using Chapel's global namespace, and aggregation via user-level abstractions or compiler transformations.
Communication Optimizations for the Chapel Programming Language, Michael Ferguson, University of Maryland, March 24, 2016.
This talk describes the Chapel memory consistency model and how it enables two communication optimizations that have been implemented for Chapel.
Chapel: The Design and Implementation of a Multiresolution Language, Brad Chamberlain, Keynotes on HPC Languages, Lyon, France, June 30, 2013.
This talk is a fairly comprehensive overview of Chapel's themes, features, and status, with a bit more emphasis on the implementation and multiresolution design of the language than a typical talk allows for.

Exascale Programming and Chapel

Five Things You Should Do to Create a Future-Proof Exascale Language, Brad Chamberlain, PGAS 2015, Washington DC, September 17, 2015.
This talk was an editorial to the PGAS language community about things that should be done to create a successful language for exascale (or at all), combined with a summary of how we think Chapel is already achieving them.
Chapel Hierarchical Locales: Adaptable Portability for Exascale Node Architectures [poster], Greg Titus, SC14 Emerging Technologies Presentations, November 18, 2014.
This talk and poster provide an introduction to Chapel's hierarchical locales, a Chapel concept for making the language and user codes future-proof against future changes in node architecture.
Exascale: Your Opportunity to Create a Decent HPC Language, Brad Chamberlain, PPME workshop, Portland OR, August 14th, 2012
This talk was created as a call to arms for the DOE Exascale community, arguing that rather than simply being a time of challenges, Exascale can also be a time to break free of traditional lower-level programming models and create the first truly decent HPC programming language.
Exascale: An Opportunity to Atone for the Parallel Programming Models of the Past?, Brad Chamberlain, Punctuated Equilibrium at Exascale Panel/BoF, November 17th, 2011.
This is a panel talk arguing for programming models that are further abstracted from machine architecture and exascale as being an appropriate time for this change.

Chapel Design and Philosophy

If the HPC Community were to create a truly productive language...[how] would we ever know?, Brad Chamberlain, keynote at Dagstuhl Seminar on Performance Portability in Extreme Scale Computing: Metrics, Challenges, Solutions, Wadern Germany, October 23-27, 2017.
This keynote provided a review of some of the productivity metrics that were pursued under the DARPA HPCS program, but then argued that productivity seems like a very personal/social decision and that it therefore should be studied in forums supporting personal/social decisions. Two specific proposals are made.
A Language Designer's Perspective on Benchmarking Suites and Competitions, Brad Chamberlain, EMBRACE 2017 invited talk, Orlando FL, June 2, 2017
This talk surveys past approaches to benchmarking from a language designer's perspective, rating them along various axes of importance. It wraps up by advocating for an HPC equivalent to the Computer Language Benchmarks game.
Lessons Learned in Array Programming: from ZPL to Chapel, Brad Chamberlain, ARRAY 2016 keynote, June 14, 2016.
This keynote talk reflects on some of the successes of ZPL's support for data-parallel array-based programming, lists reasons that ZPL was ultimately limited, and how we addressed those limitations in Chapel's design.
Reflections on Programming Environments and Productivity (based on experiences with HPCS and Chapel), Brad Chamberlain, ASCR Exascale Computing Systems Productivity Workshop, Gaithersburg MD, June 3rd, 2014.
This talk briefly summarizes productivity-oriented metrics work undertaken by the Cray Cascade project during the HPCS program, along with a few anecdotal instances of Chapel productivity. It also provides some of Brad's personal takeaways from the experience.
Five Things About HPC Programming Models I Can Live Without, Sung-Eun Choi, DOE Workshop on Exascale Programming Challenges, July 27, 2011.
This talk lists some of the things that we think make HPC programming non-productive today and gives examples of how we are trying to address them in Chapel.
Five Key Parallel Design Decisions (for Multicore, Petascale, and Beyond), Brad Chamberlain, Barcelona Multicore Workshop, October 22, 2010.
This talk considers five design decisions that parallel language designers should wrestle with and how Chapel's design deals with them.

Archived Presentations