Skip to main content
  • 196 Accesses

Definition

C* (pronounced “see-star”) refers to two distinct data-parallel dialects of C developed by Thinking Machines Corporation for its Connection Machine supercomputers. The first version (1987) is organized around the declaration of domains, similar to classes in C++, but when code associated with a domain is activated, it is executed in parallel within all instances of the domain, not just a single designated instance. Compound assignment operators such as += are extended in C* to perform parallel reduction operations. An elaborate theory of control flow allows use of C control statements in a MIMD-like, yet predictable, fashion despite the fact that the underlying execution model is SIMD. The revised version (1991) replaces domains with shapes that organize processors into multidimensional arrays and abandons the MIMD-like control-flow theory.

Discussion

Of the four programming languages (*Lisp, C*, CM Fortran, and CM-Lisp) provided by Thinking Machines Corporation for...

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 1,600.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 1,799.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Bibliography

  1. Frankel JL (1991) A reference description of the C* language. Technical Report TR-253, Thinking Machines Corporation, Cambridge, MA

    Google Scholar 

  2. Koelbel CH, Loveman DB, Schreiber RS, Steele GL Jr, Zosel ME (1994) The High Performance Fortran handbook. MIT Press, Cambridge, MA

    Google Scholar 

  3. Numrich RW, Reid J (1998) Co-array Fortran for parallel programming. SIGPLAN Fortran Forum 17(2):1–31

    Article  Google Scholar 

  4. Quinn MJ, Hatcher PJ (1990) Data-parallel programming on multicomputers. IEEE Softw 7(5):69–76

    Article  Google Scholar 

  5. Rose JR, Steele GL Jr (1986) C: An extended C language for data parallel programming. Technical Report PL 87–5, Thinking Machines Corporation, Cambridge, MA

    Google Scholar 

  6. Rose JR, Steele GL Jr (1987) C: An extended C language for data parallel programming. In: Supercomputing ’87: Proceedings of the second international conference on supercomputing, vol II: Industrial supercomputer applications and computations. International Supercomputing Institute, Inc., St. Petersburg, Florida, pp 2–16

    Google Scholar 

  7. Steele GL Jr, Daniel Hillis W (1986) Connection Machine Lisp: fine-grained parallel symbolic processing. In: LFP ’86: Proc. 1986 ACM conference on LISP and functional programming, ACM SIGPLAN/SIGACT/SIGART, ACM, New York, pp 279–297, Aug 1986

    Google Scholar 

  8. Thinking Machines Corporation (1987) Connection Machine model CM-2 technical summary. Technical report HA87-4, Cambridge, MA

    Google Scholar 

  9. Thinking Machines Corporation (1990) C programming guide, version 6.0 Pre-Beta. Cambridge, MA

    Google Scholar 

  10. Thinking Machines Corporation (1990) C user’s guide, version 6.0 Pre-Beta. Cambridge, MA

    Google Scholar 

  11. Thinking Machines Corporation (1993) C programming guide. Cambridge, MA

    Google Scholar 

  12. Thinking Machines Corporation (1993) Connection Machine CM-5 technical summary, 3rd edn. Cambridge, MA

    Google Scholar 

  13. Thinking Machines Corporation (1994) C 7.2 Alpha release notes. Cambridge, MA

    Google Scholar 

  14. Tichy WF, Philippsen M, Hatcher P (1992) A critique of the programming language C. Commun ACM 35(6):21–24

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer Science+Business Media, LLC

About this entry

Cite this entry

Steele, G.L. (2011). C*. In: Padua, D. (eds) Encyclopedia of Parallel Computing. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-09766-4_523

Download citation

Publish with us

Policies and ethics