Back

ⓘ Chapel (programming language)




Chapel (programming language)
                                     

ⓘ Chapel (programming language)

Chapel, the Cascade High Productivity Language, is a parallel programming language developed by Cray. It is being developed as part of the Cray Cascade project, a participant in DARPAs High Productivity Computing Systems program, which had the goal of increasing supercomputer productivity by the year 2010. It is being developed as an open source project, under version 2 of the Apache license.

                                     

1. Goals

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.

The language designers aspire for Chapel to bridge the gap between current HPC programming practitioners, who they describe as Fortran, C or C++ users writing procedural code using technologies like OpenMP and MPI on one side, and newly graduating computer programmers who tend to prefer Java, Python or Matlab with only some of them having experience with C++ or C. Chapel should offer the productivity advances offered by the latter suite of languages while not alienating the users of the first.

                                     

2. Features

Chapel 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. For instance, Chapel allows for the declaration of locales.

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 MTAs extensions to Fortran and C.

                                     
  • national, union Chapel Records, former name of Chapel Music, an American record label specializing in religious music Chapel programming language a parallel
  • notable programming languages grouped by type. There is no overarching classification scheme for programming languages Thus, in many cases, a language is
  • ZPL short for Z - level Programming Language is an array programming language designed to replace C and C programming languages in engineering and scientific
  • written with the number sign is a general - purpose, multi - paradigm programming language encompassing strong typing, lexically scoped, imperative, declarative
  • engineering settings. Modern programming languages that support array programming also known as vector or multidimensional languages have been engineered specifically
  • Fortress is a discontinued experimental programming language for high - performance computing, created by Sun Microsystems with funding from DARPA s High
  • Java is a general - purpose programming language that is class - based, object - oriented, and designed to have as few implementation dependencies as possible
  • Go, also known as Golang, is a statically typed, compiled programming language designed at Google by Robert Griesemer, Rob Pike, and Ken Thompson. Go is
  • The aim of this list of programming languages is to include all notable programming languages in existence, both those in current use and historical ones
  • object - oriented high - level computer programming language extended from Pascal and other languages It has built - in language support for design - by - contract