Chapel at the Petascale and on the Desktop: Challenges and Potential

Brad Chamberlain (CRAY)

Chapel is a new programming language being developed by Cray Inc. with the goal of significantly improving the productivity of high-end parallel computer users. Though primarily designed with the largest-scale systems in mind, Chapel has also ended up being very useful for programming desktop multicore systems and smaller commodity clusters. In this talk I will provide an overview of some of Chapel's key features for describing parallelism and locality without unduly compromising portability. I will then mention some of the challenges we are facing within our team and community as multicore becomes manycore and specialized accelerators become increasingly commonplace. I'll wrap-up by describing some of our plans for addressing those challenges using Chapel's user-defined domain map framework.