The Chapel Parallel Programming Language


Featured Presentations

Featured Presentations

The Audacity of Chapel: Scalable Parallel Programming Done Right [director's cut slides | playlist], 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.
The Chapel Language: Background and Status, SC16 Customer Briefing, November 14-17, 2016.
This is a high-level overview and status report on Chapel developed for use in customer briefings at SC16.
Chapel: Productive, Multiresolution Parallel Programming [video], Brad Chamberlain, ATPESC 2016, August 3, 2016.
This is an hour-long Chapel overview talk.
HPC Programmers Deserve Nice Things Too, Brad Chamberlain, ISC 2016 Panel: Parallel Programming, June 21, 2016.
This position statement argues for technical and social changes that would be useful for the adoption of language-based approaches to scalable parallel programming like Chapel.
Chapel in the (Cosmological) Wild [video], Nikhil Padmanabhan (Yale University), CHIUW 2016, May 27, 2016.
This was the keynote talk at CHIUW 2016, reporting on the personal experiences of an Astrophysics Professor who's been looking at using Chapel in his research.
Chapel: Making HPC Accessible, Michael Ferguson, Asymmetrik, November 10, 2015.
This talk describes recent work looking into the potential for using Chapel in service-oriented and data analytics settings along with a bit of Chapel introduction and overview.
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.

Recent Presentations

Chapel: Productive Parallel Programming at Scale, Michael Ferguson, James Madison University (JMU), March 15, 2017.
This introductory Chapel talk was presented in a pair of class lectures.
Report on CHIUW / Recent Chapel Highlights, Brad Chamberlain, SC16 PGAS BoF, November 16, 2016.
This was a pair of lightning updates on the annual CHIUW workshop and on Chapel specifically.
Chapel: Productive Parallel Programming at Scale [video], Brad Chamberlain, Northwest C++ Users Group, October 19, 2016.
This is a general Chapel overview presentation, geared for a non-High Performance Computing audience.
One Parallel Language to Rule them All? Chapel for HPC, Data Analytics, Machine Learning, ..., Brad Chamberlain, UW PLSE Retreat, September 12, 2016.
This is a short talk calling for input on killer apps or features for evaluating Chapel's utility as a language for data analytics or deep learning.
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.

Chapel Overviews

Chapel: A Domain-Specific Language for Productive Parallel Programming at Scale, Brad Chamberlain, University of Washington CSEP 590c, May 9, 2016.
This is an ~hour-long Chapel overview talk aimed at students without a lot of HPC programming experience.
Chapel: A Productive Parallel Programming Language, Lydia Duncan, Women Techmakers Community Talks, January 19, 2016.
This is a short talk designed to provide a short introduction to Chapel in a community setting.
Chapel: Parallel Programming Made Productive, Brad Chamberlain, Seattle University Seminar, May 2, 2012
This talk provides an overview of Chapel for more of an undergraduate audience: it starts with motivation for parallel programming, some basic terminology, then goes through Chapel's motivating themes and major concepts.

Exascale Programming and Chapel

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.
Three Language Concepts for Taming Data Locality (a.k.a., "Language Constructs for Data Locality: Moving Policy Decisions from Language Definition to User Space"), Brad Chamberlain, PADAL Workshop 2014, Lugano, Switzerland, April 28th, 2014.
This brief talk proposes that for increasingly locality-aware architectures, Chapel's domain maps, leader-follower iterators, and hierarchical locales are key concepts in that they provide end-user control while exposing the policies through high-level abstractions.
Chapel Language Features for Hierarchical Tiling and Exascale Architectures [audio+slides], Brad Chamberlain, SIAM PP14, MS10, Portland OR, February 19th, 2014.
This talk argues that user-specifiable Chapel features like iterators, domain maps, and hierarchical locale models support hierarchical tiling and code portability to exascale architectures better than conventional models.
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 Community Presentations

CHIUW 2016 Presentations, CHIUW 2016, May 27, 2016.
CHIUW 2016—the third annual Chapel Implementers and Users Workshop—was held as part of IEEE IPDPS 2016. CHIUW presentations are available on its program page
Toward a Data-Centric Profiler for PGAS Applications [poster], Hui Zhang (University of Maryland), PGAS 2015, Washington DC, September 17, 2015.
This talk and poster describe work being undertaken by Hui Zhang and Jeff Hollingsworth at the University of Maryland to create a data-centric profiler for PGAS languages like Chapel in which hotspots are reported in terms of your program's data structures rather than simply its control flow.
Scripting Language Performance Through Interoperability, Simon Lund (University of Copenhagen), First Workshop on the High Performance Scripting Languages (HPSL), San Francisco CA, February 7, 2015.
This talk gives an overview of recent work to interoperate between Python and Chapel in order to take advantage of its performance advantages.

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 Philosophies

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.
Chapel, Life, the Universe [white paper], Brad Chamberlain, (SICM)**2 Parallel Computing Workshop, Manhattan NY, March 29th, 2014.
This talk and whitepaper were presented to the Computational Chemistry community in response to some questions about Exascale challenges that lie ahead and Chapel's position in that world.
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

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