C*: Difference between revisions
Countries other than Turkey also use C*. |
Undid revision 1250611025 by 46.147.126.208 (talk) |
||
(36 intermediate revisions by 22 users not shown) | |||
Line 1: | Line 1: | ||
{{Short description|Object-oriented programming language}} |
|||
{{about|the programming language|algebra|C*-algebra|the symbols used on flags and emblems|Star and crescent|the rocket propulsion term|Characteristic velocity}} |
{{about|the programming language|the DBMS|Apache Cassandra|algebra|C*-algebra|the symbols used on flags and emblems|Star and crescent|the rocket propulsion term|Characteristic velocity|astronomical object type|star cluster|the goth festival|Convergence (goth festival)}} |
||
{{notability|date=October 2011}} |
|||
{{no footnotes|date=December 2017}} |
|||
{{Infobox programming language |
{{Infobox programming language |
||
| name = C* |
| name = C* |
||
| logo = |
| logo = |
||
| paradigm = [[Multi-paradigm programming language|multi-paradigm]]: |
| paradigm = [[Multi-paradigm programming language|multi-paradigm]]: [[Imperative programming|imperative]], [[parallel programming|parallel]] |
||
| year =1987 |
| year =1987 |
||
| designer =[[Thinking Machines Corporation|Thinking Machines]] |
| designer =[[Thinking Machines Corporation|Thinking Machines]] |
||
Line 13: | Line 15: | ||
| implementations = |
| implementations = |
||
| dialects = |
| dialects = |
||
| influenced_by =[[ |
| influenced_by =[[ANSI C]], [[*Lisp]] |
||
| influenced =[[Dataparallel-C]] |
| influenced =[[Dataparallel-C]] |
||
| operating_system = [[Connection Machine]] |
| operating_system = [[Connection Machine]] |
||
Line 20: | Line 22: | ||
| file_ext = .cs |
| file_ext = .cs |
||
}} |
}} |
||
'''C*''' |
'''C*''' (or C-star) is a data-parallel superset of [[ANSI C]] with synchronous semantics. |
||
==History== |
|||
It was developed in 1987 as an alternative language to [[*Lisp]] and CM-Fortran for the [[Connection Machine]] CM-2 and above. The language C* adds to C a "domain" data type and a selection statement for parallel execution in domains. |
It was developed in 1987 as an alternative language to [[*Lisp]] and CM-Fortran for the [[Connection Machine]] CM-2 and above. The language C* adds to C a "domain" data type and a selection statement for parallel execution in domains. |
||
Line 28: | Line 31: | ||
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. |
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. |
||
An unimplemented [[Programming language|language]] |
An unimplemented [[Programming language|language]] dubbed "Parallel C" (not to be confused with [[Unified Parallel C]]) influenced the design of C*. [[Dataparallel-C]] was based on C*. |
||
==References== |
==References== |
||
{{Reflist}} |
|||
===General=== |
|||
* ''C*: An Extended C Language for Data Parallel Programming'', John R. Rose and [[Guy L. Steele, Jr.]], in ''Proceedings of the Second International Conference on Supercomputing, vol. II'', L. P. Kartashev et al. eds, May 1987, pp 2–16. |
* ''C*: An Extended C Language for Data Parallel Programming'', John R. Rose and [[Guy L. Steele, Jr.]], in ''Proceedings of the Second International Conference on Supercomputing, vol. II'', L. P. Kartashev et al. eds, May 1987, pp 2–16. |
||
* ''[http://people.csail.mit.edu/bradley/cm5docs/CM-5CStarUsersGuide.pdf C* User Guide]'', Thinking Machines Corporation, 1991 |
* ''[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://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.) |
* ''[https://web.archive.org/web/20070927013603/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.) |
||
* ''C*'', Guy L. Steele, Jr., in ''[ |
* ''C*'', Guy L. Steele, Jr., in ''[https://link.springer.com/referencework/10.1007/978-0-387-09766-4 Encyclopedia of Parallel Computing]'', D. Padua, ed., Springer, 2011, pp 207–212. |
||
{{C programming language |state=collapsed}} |
|||
{{FOLDOC}} |
|||
[[Category:Concurrent programming languages]] |
[[Category:Concurrent programming languages]] |
||
{{compu-lang-stub}} |
Latest revision as of 22:53, 17 October 2024
This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. (December 2017) |
Paradigm | multi-paradigm: 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 | |
ANSI C, *Lisp | |
Influenced | |
Dataparallel-C |
C* (or C-star) is a data-parallel superset of ANSI C with synchronous semantics.
History
[edit]It was developed in 1987 as an alternative language to *Lisp and CM-Fortran for the Connection Machine CM-2 and above. The language C* adds to C 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 computer's 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 dubbed "Parallel C" (not to be confused with Unified Parallel C) influenced the design of C*. Dataparallel-C was based on C*.
References
[edit]General
[edit]- C*: An Extended C Language for Data Parallel Programming, John R. Rose and Guy L. Steele, Jr., in Proceedings of the Second International Conference on Supercomputing, vol. II, 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.)
- C*, Guy L. Steele, Jr., in Encyclopedia of Parallel Computing, D. Padua, ed., Springer, 2011, pp 207–212.