Chapel (programming language)
From Wikipedia, the free encyclopedia
Chapel is a new parallel programming language being developed by Cray Inc. Chapel is being developed as part of the Cray Cascade project, a participant in DARPA's High Productivity Computer Systems (HPCS) program, which has the goal of increasing supercomputer productivity by the year 2010. Chapel strives 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.
Chapel, the Cascade High Productivity Language, supports a multithreaded parallel programming model at a high level by supporting abstractions for data parallelism, task parallelism, and nested parallelism. It enables optimizations for the locality of data and computation in the program via abstractions for data distribution and data-driven placement of subcomputations. It allows for code reuse and generality through object-oriented concepts and generic programming features. While Chapel borrows concepts from many preceding languages, its parallel concepts are most closely based on ideas from High-Performance Fortran (HPF), ZPL, and the Cray MTA's extensions to Fortran and C.