CHAPEL(ID:8171/)

Cray/JPL high productivity HPC language 


Cray labs language for HPC, drawing on HPF, ZPL and their version of C++

One of the DARPA hpcs languages


References:
  • Callahan, David; Bradford L. Chamberlain, Hans P. Zima. "The Cascade High Productivity Language" view details
          in 9th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS 2004). IEEE Computer Society, April 2004 view details
  • Chamberlain, Bradford "Chapel: The Cascade High Productivity Language" talk at LaR 2004 view details Abstract: As part of Cray's effort in the DARPA HPCS program, we are developing a new parallel language called Chapel -- the Cascade High Productivity Language. Chapel is being designed both to simplify the task of prototyping new codes on parallel machines and to support the ability to tune these codes to production-level quality without abandoning the language or the initial code. In this talk, I will present our motivation for working on Chapel, an overview of its features, and a few motivating examples.
    External link: Online copy
          in LaR 2004 Language Runtimes '04 "Impact of Next Generation Processor Architectures On Virtual Machines" (part of OOPSLA 2004) view details
    Resources
    • Chapel hmoe page at Washington
      Chapel is a new parallel programming language being developed by Cray Inc. in conjunction with Caltech/JPL. Chapel is being developed as part of the Cray Cascade project, a participant in DARPA's 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 parallel languages do and by improving the separation between algorithmic expression and data structure implementation details.

      Chapel supports a multithreaded parallel programming model at a high level by supporting abstractions for data parallelism, task parallelism, and nested parallelism. It supports optimization for the locality of data and computation in the program via abstractions for data distribution and data-driven placement of subcomputations. It supports code reuse and generality via 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/C.

      external link