Chapel Parallel Programming Language


2017-05-29 · 1 min read

Chapel is a programming language created at Cray and designed for large-scale computing. Chapel contains first-class concepts for concurrent and parallel computation. It is designed with programmability and performance in mind. It can run on laptops, clusters, the cloud, and HPC systems. It supports locality-oriented features for distributed memory systems. It is an open-source project hosted on GitHub.

Chapel is being developed as part of the Cray Cascade project, a participant in DARPA's High Productivity Computing Systems (HPCS) program. HPCS is a DARPA project for developing a new generation of economically viable high productivity computing systems for national security and industry. The goal is to create a multi petaflop systems.

Chapel aims to improve the programmability of parallel computers in general and the Cascade system in particular, by providing a higher level of expression than current programming languages do and by improving the separation between algorithmic expression and data structure implementation details.

Fortress (http://en.wikipedia.org/wiki/Fortress_(programming_language)) and X10 (http://en.wikipedia.org/wiki/X10_(programming_language)) are two languages that came out of the [HPCS program] (https://en.wikipedia.org/wiki/High_Productivity_Computing_Systems). Other aiming-for-HPC languages include [Coarray Fortran] (http://en.wikipedia.org/wiki/Coarray_Fortran) and [Unified Parallel C] (http://en.wikipedia.org/wiki/Unified_Parallel_C).

Chapel: Tutorials http://faculty.knox.edu/dbunde/teaching/chapel/ https://learnxinyminutes.com/docs/chapel/ https://en.wikipedia.org/wiki/Chapel_(programming_language)