C*: Difference between revisions
Stuartyeates (talk | contribs) Added {{multiple issues}} with parameters notability, primary sources and self-published tag to article (TW) |
No edit summary |
||
Line 18: | Line 18: | ||
| license = |
| license = |
||
| website = |
| website = |
||
| file_ext = |
| file_ext = .cs |
||
}} |
}} |
||
'''C*''' is an [[object-oriented programming|object-oriented]], data-parallel superset of [[ANSI C]] with synchronous semantics |
'''C*''' is an [[object-oriented programming|object-oriented]], data-parallel superset of [[ANSI C]] with synchronous semantics. |
||
It was developed in 1987 as an alternative language to [[*Lisp]] and CM-Fortran for the [[Connection Machine]] CM-2 and above |
|||
⚫ | |||
C* adds a "domain" data type and a selection statement for parallel execution in domains. |
|||
For the CM-2 models the C* compiler translated the code into serial C, calling PARIS (Parallel Instruction Set) functions, and passed the resulting code to the front end computers native compiler. The resulting executables were executed on the front end computer with PARIS calls being executed on the Connection Machine. |
|||
On the CM-5 and CM-5E parallel C* Code was executed in a SIMD style fashion on processing elements, whereas serial code was executed on the PM (Partition Manager) Node, with the PM acting as a "front end" if directly compared to a CM-2. |
|||
The latest version of C* as of 27 August 1993 is 6.x. |
The latest version of C* as of 27 August 1993 is 6.x. |
||
⚫ | |||
==References== |
==References== |
||
* ''C*: An Extended C Language for Data Parallel Programming'', J. R. Rose et al., in ''Proceedings of the Second International Conference on Supercomputing'', L. P. Kartashev et al. eds, May 1987, pp 2–16. |
* ''C*: An Extended C Language for Data Parallel Programming'', J. R. Rose et al., in ''Proceedings of the Second International Conference on Supercomputing'', L. P. Kartashev et al. eds, May 1987, pp 2–16. |
||
* ''C* |
* ''[http://people.csail.mit.edu/bradley/cm5docs/CM-5CStarUsersGuide.pdf C* User Guide]'', Thinking Machines Corporation, 1991 |
||
* ''[http://people.csail.mit.edu/bradley/cm5docs/CStarProgrammingGuide.pdf C* Programming Manual]'', Thinking Machines Corporation, 1993. |
|||
* ''[http://www.1stworldpublishing.com/books/parallelprogramming.asp The Art of Parallel Programming (2nd Ed.)]'', B. P. Lester, 1st World Publishing, 2006. (A downloadable version of the "C* Compiler and Parallel Computer Simulation System" is available at the publisher's Web site.) |
* ''[http://www.1stworldpublishing.com/books/parallelprogramming.asp The Art of Parallel Programming (2nd Ed.)]'', B. P. Lester, 1st World Publishing, 2006. (A downloadable version of the "C* Compiler and Parallel Computer Simulation System" is available at the publisher's Web site.) |
||
Revision as of 14:46, 22 November 2011
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
No issues specified. Please specify issues, or remove this template. |
Paradigm | multi-paradigm: object-oriented, imperative, parallel |
---|---|
Designed by | Thinking Machines |
Developer | Thinking Machines |
First appeared | 1987 |
Stable release | 6.x (August 27, 1993 )
/ August 27, 1993 |
Typing discipline | static, weak, manifest |
OS | Connection Machine |
Filename extensions | .cs |
Influenced by | |
Parallel C, ANSI C | |
Influenced | |
Dataparallel-C |
C* is an object-oriented, data-parallel superset of ANSI C with synchronous semantics.
It was developed in 1987 as an alternative language to *Lisp and CM-Fortran for the Connection Machine CM-2 and above C* adds a "domain" data type and a selection statement for parallel execution in domains.
For the CM-2 models the C* compiler translated the code into serial C, calling PARIS (Parallel Instruction Set) functions, and passed the resulting code to the front end computers native compiler. The resulting executables were executed on the front end computer with PARIS calls being executed on the Connection Machine.
On the CM-5 and CM-5E parallel C* Code was executed in a SIMD style fashion on processing elements, whereas serial code was executed on the PM (Partition Manager) Node, with the PM acting as a "front end" if directly compared to a CM-2. The latest version of C* as of 27 August 1993 is 6.x. An unimplemented language called "Parallel C" influenced the design of C*. Dataparallel-C was based on C*.
References
- C*: An Extended C Language for Data Parallel Programming, J. R. Rose et al., in Proceedings of the Second International Conference on Supercomputing, L. P. Kartashev et al. eds, May 1987, pp 2–16.
- C* User Guide, Thinking Machines Corporation, 1991
- C* Programming Manual, Thinking Machines Corporation, 1993.
- The Art of Parallel Programming (2nd Ed.), B. P. Lester, 1st World Publishing, 2006. (A downloadable version of the "C* Compiler and Parallel Computer Simulation System" is available at the publisher's Web site.)
This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.