The Chapel Parallel Programming Language


Featured Presentations

Featured Presentations

Chapel: Programmability, Parallelism, and Performance, Brad Chamberlain, PuPPy (Puget Sound Programming Python) Scientific Computing SIG, Seattle WA, July 19, 2018.
This talk provides an overview of Chapel for programmers currently doing Scientific Computing in Python.
Cosmological Particle Mesh Simulations in Chapel [poster], Nikhil Padmanabhan, PAW 2017 workshop at SC17, Denver Colorado, November 13, 2017.
This talk characterized Nikhil's recent uses of Chapel in his astrophysics research.
Chapel’s Home in the New Landscape of Scientific Frameworks (and what it can learn from the neighbours) [video | PDF slides], Jonathan Dursi, CHIUW 2017 keynote, Orlando FL, June 2, 2017.
This keynote by Jonathan Dursi presents a survey of modern parallel computing frameworks as seen through the filter of the speaker's applications background, and describes Chapel's unique position within that landscape.

Recent Presentations

Chapel Comes of Age: Productive Parallelism at Scale [paper], Brad Chamberlain, CUG 2018, Stockholm Sweden, May 22, 2018.
This talk summarizes the progress that has been made with Chapel over the past five years since the HPCS program wrapped up.
Chapel: Task-Based Communication in a Productive Language, Elliot Ronaghan, SIAM PP18, March 8, 2018.
This talk gives a brief introduction to Chapel's runtime support for tasking and communication using the HPCC RA benchmark as a running example.
Chapel’s Multiresolution Programming Model: Mixing High-level Parallel Abstractions with Lower-level Control [video], Brad Chamberlain, Northwest C++ Users Group, February 22, 2018.
This Chapel talk is augmented with: (1) more content about base language features for this C++ audience and (2) an introduction to multiresolution features that permit users to write high-level parallel abstractions such as parallel iterators and distributed array implementations.
Chapel: Overview and Features for Heterogeneity, Brad Chamberlain, Heterogeneous C++ Working Group, February 5, 2018.
This is an introduction to Chapel and its multiresolution features designed to show how its support for hierarchical locale models can enable programming for heterogeneous systems.

Chapel Overviews

Chapel: A Parallel Language for Productive Scalable Computing, Brad Chamberlain, SeaLang Meetup, Bellevue WA, December 6, 2017.
This is a Chapel overview talk aimed at programming language enthusiasts.
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.

Chapel: Parallel Programming Made Productive, Brad Chamberlain, Seattle University Seminar, May 2, 2012
This is an overview of Chapel aimed at undergraduates; as such, it starts with motivation for parallel programming and some basic terminology before going through Chapel's motivating themes and major concepts.

Chapel Project Updates

Chapel Update (SC17), Chapel Team, SC17, Denver CO, November 2017.
These slides give a short, general update on Chapel, prepared for briefings at SC17.
CHIUW 2017: Welcome and State of the Project, Brad Chamberlain, CHIUW 2017, Orlando FL, June 2, 2017.
This talk gives a brief overview of the CHIUW 2017 program and then a more detailed overview of some of Chapel's most notable progress since CHIUW 2016.

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.

Computations in Chapel

Orthogonal Scheduling of Stencil Computations with Chapel Iterators [poster] Ian Bertolacci (Colorado State University), SC14 ACM SRC Posters, November 18-19, 2014.
This poster and talk describe work being done by Ian Bertolacci to express complex tiling patterns productively and efficiently using Chapel iterators. It was awarded 3rd place in the ACM Student Research Competition Award for undergraduates.
Seismic Wave Propagation on Heterogeneous Systems with Chapel, Alexey Gokhberg and Andreas Fichtner, European Geosciences Union General Assembly 2014, Vienna Austria, May 1st, 2014.
This is a short talk by our colleagues at ETH who are studying the expression of Seismic Wave Propagation computations in Chapel.
Co-Design Via Proxy Applications: MiniMD in Chapel, Brad Chamberlain and Ben Harshbarger, SIAM PP14, MS78, Portland OR, February 21st, 2014.
This talk provides an overview of recent work porting the MiniMD proxy application to Chapel, as well as some background material in the context of LULESH.
Exploring Co-Design in Chapel Using LULESH, Greg Titus, SIAM CSE13, MS79: Using Application Proxies to Explore Co-Design Issues, February 26, 2013
This presentation gives an overview of our work to date studying the LULESH proxy application in Chapel.
Chapel Meets Serious Applications: Evaluating a High Productivity Language, Jonathan Claridge (UW), Jonathan Turner (CU Boulder), John Lewis (Cray Inc.), SIAM CSE 2011 MiniSymposium MS65, March 2, 2011.
This was a series of talks providing an introduction to Chapel, much of it from the point of view of applied mathematicians in the context of some motivating computations.

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.

Chapel's Implementation

Enabling Parallel Computing in Chapel with Clang and LLVM, Michael Ferguson, 2017 US LLVM Developers' Meeting, San Jose CA, October 19, 2017.
This talk provides an introduction to the use of LLVM and Clang in the Chapel compiler architecture to support interoperability and optimizations.
Chapel's New Adventures in Data Locality, Brad Chamberlain, PADAL 2017, Chicago IL, August 2–4, 2017.
This short talk reviews key Chapel features for controlling locality and summarizes three recent locality-related efforts in Chapel for NUMA nodes and Intel Xeon Phi ("KNL").
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.
The Chapel Runtime, Greg Titus, Charm++ Workshop 2013, April 15, 2013
This presentation provides an introduction to the Chapel runtime architecture and capabilities

Archived Presentations