The cascade high productivity language
Authors:
- H.P. ZimaHZH.P. Zima
- 10 June 2004
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 52-60
Abstract
The strong focus of recent high end computing efforts on performance has resulted in a low-level parallel programming paradigm characterized by explicit control over message-passing in the framework of a fragmented programming model. In such a model, object code performance is achieved at the expense of productivity, conciseness, and clarity. This paper describes the design of Chapel, the cascade high productivity language, which is being developed in the DARPA-funded HPCS project Cascade led by Cray Inc. Chapel pushes the state-of-the-art in languages for HEC system programming by focusing on productivity, in particular by combining the goal of highest possible object code performance with that of programmability offered by a high-level user interface. The design of Chapel is guided by four key areas of language technology: multithreading, locality-awareness, object-orientation, and generic programming. The Cascade architecture, which is being developed in parallel with the language, provides key architectural support for its efficient implementation.Keywords
This publication has 15 references indexed in Scilit:
- Active Messages: A Mechanism for Integrated Communication and Computation2005
- Array language support for parallel sparse computation2001
- ARMCI: A portable remote memory copy library for distributed array libraries and compiler run-time systems1999
- Titanium: a high-performance Java dialectConcurrency: Practice and Experience, 1998
- High Performance Fortran: History, status and futureParallel Computing, 1998
- Precise concrete type inference for object-oriented languages1994
- Chare Kernel—a runtime support system for parallel computationsJournal of Parallel and Distributed Computing, 1991
- SUPERB: A tool for semi-automatic MIMD/SIMD parallelizationParallel Computing, 1988
- Abstraction mechanisms in CLUCommunications of the ACM, 1977
- Automatic data structure choice in a language of very high levelCommunications of the ACM, 1975