ICC++—a C++ dialect for high performance parallel computing

  • Authors:
  • Andrew A. Chien

  • Affiliations:
  • Department of Computer Science, University of nliuois at Urbana-Champaign, Urbana, Illinois, U.S.A.

  • Venue:
  • ACM SIGAPP Applied Computing Review
  • Year:
  • 1996

Quantified Score

Hi-index 0.01

Visualization

Abstract

ICC++ is a new concurrent C++ dialect which supports a single source code for sequential and parallel program versions, the construction of concurrent data abstractions, convenient expression of irregular and fine-grained concurrency, and high performance implementation. ICC++ programs are annotated with potential concurrency, facilitating both sharing source with sequential programs and automatic grain size tuning for efficient execution. Concurrency control is at the object level; each object ensures the consistency of its own state. This consistency can be extended over larger data abstractions. Finally, ICC++ integrates arrays into the object system and the concurrency model. In short, ICC++ addresses concurrency and its relation to abstractions --- whether they are implemented by single objects, several objects, or object collections. The design of the language, its rationale, and where to find implementations are all described.