This quarter's parallel programming seminar will focus on reviewing Chapel, a new parallel programming language being developed in Seattle by Cray Inc. Cray is undertaking Chapel as part of its entry in the government's High Productivity Computing Systems program (HPCS) which has the goal of raising user productivity on high-end parallel systems by 10x for the year 2010. Chapel aims to support general parallel programming including data parallelism (based on features developed at UW in the ZPL programming langauge), task parallelism, and nested parallelism. Chapel also strives to narrow the gap that currently exists between high-end and mainstream languages by supporting OOP, generics, and type inference. For more information on Chapel, please refer to: http://chapel.cs.washington.edu
The main goals of this seminar are to introduce the UW community to the Chapel language, to solicit feedback on the language from the academic community, and to identify opportunities for future collaboration. The seminar will be led by members of the Chapel team from Cray, and will be loosely structured around a set of language features each week followed by open discussion. The draft Chapel language specification will serve as the basis for readings.
This seminar is targeted toward those whose interests include programming languages, compilers, parallel programming, multicore programming, scientific computation, and tools/programming environments. This seminar has the potential to lead to quals projects for students interested in the topics covered.
For more information, please contact Brad Chamberlain at: bradc@cray.com
The CSE 590o blog is a completely optional way for people to continue in-class discussions on their own time.
Date | Topics | Reading | Sample Codes | Facilitator | Co-facilitator(s) | Presentation Materials |
Sep 26 | Chapel Context Seminar Organization/Goals | -- | Chamberlain | -- | slides | |
Oct 3 | Chapel Motivation Language Overview | IJHPCA article: Parallel Programmability and the Chapel Language | Chamberlain | -- | slides related slides from a recent Google talk |
|
Oct 10 | Chapel Basics: |
Language Spec, Sections 6-13, 17 |
01decls.chpl 02arrOfArr.chpl 03configs.chpl 04literals.chpl 05argQueries.chpl 06printEnums.chpl 07forExprs.chpl 08paramFns.chpl |
Chamberlain | -- | -- |
Oct 17 | Chapel OOP & Generics: |
Language Spec, Sections 14-16, 21 | Deitz | Ylvisaker (generics) | Ben's slides | |
Oct 24 | Chapel Ranges, Domains, Arrays: |
Language Spec, Sections 18-19, 24 | Chamberlain | -- | ||
Oct 31 | Catch up: | -- | Chamberlain | -- | ||
Nov 7 | Iterators and Promotion |
Language Spec, Section 20 | Deitz | -- | ||
Nov 14 | Task Parallelism, Synchronization, Locality |
Language Spec, Section 22 | Deitz | Kimball (synchronization) | ||
Nov 21 | NO MEETING (Thanksgiving week) | -- | -- | -- | -- | -- |
Nov 28 | Locality, Distributions |
Language Spec, Sections 23 | Chamberlain | -- | ||
Dec 5 | Open Issues/Grab-Bag |
TBD, if any | Chamberlain | -- |