67 citations found. Retrieving documents...
Rose, J. R., and Steele Jr, G. L. C*: An extended C language for data parallel programming. In Proceedings Second International Conference on Supercomputing, Vol. 2 (May 1987), pp. 2--16.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

ZPL: An Array Sublanguage - Calvin Lin Lawrence (1994)   (17 citations)  (Correct)

....conditions. We introduce the concepts, constructs and semantics of our new language, and give a simple example that contrasts ZPL with other data parallel languages. 1 Introduction A variety of languages have been proposed that generally provide data parallel or array semantics, including C [15], Fortran 90 [1] NESL [4] and HPF [8] One characteristic of these languages is that data parallelism is the only model provided. This fact introduces a certain pressure to support a wide range of general purpose facilities. Though this has resulted in rich and interesting languages, it has not ....

J.R. Rose and Guy L. Steele Jr. C*: An extended C language for data parallel programming. Technical Report PL 87-5, Thinking Machines Corporation, 1987.


c flCopyright by Manish Gupta, 1992 - Automatic Data Partitioning   (Correct)

....These research efforts include the Fortran D compiler [30, 31] and the Superb compiler [81] both accepting Fortran 77 as the base language. The Crystal compiler [15] and the Id Nouveau compiler [62] are targeted for single assignment languages. Numerous other compilers, Dataparallel C [59] C [63], Kali [43, 44] Dino [64, 65] Al [77] Arf [67] Oxygen [66] Pandore [4] also produce parallel code for multicomputers, but require explicit parallelism in the source program. Some of the commercially available compilers for multicomputers are Mimdizer [69] and Aspar [35] Many researchers ....

J. Rose and G. Steele Jr. An extended C language for data parallel programming. In Proc. Second ACM International Conference on Supercomputing, Santa Clara, CA, May 1987.


Software Geography: Physical and Economic - Aspects Vaughan Pratt   (Correct)

....up, evasive maneuvers will become more necessary. A return to CM 2 scale parallelism and higher is certainly one approach. A major di#culty encountered at Thinking Machines was how to describe the coordinated movement and transformation of data in such highly parallel machines. Rose and Steele [RS87] and Blelloch and Greiner [BG95] came up with some novel programming language approaches to Thinking Machines problem. What struck me about these approaches was how hard it is to separate ourselves from the sequential modes of thought that pervade our perception of the universe. It is as though ....

J. Rose and G. Steele. C*: An extended c language for data parallel programming. In Proceedings Second International Conference on Supercomputing, volume 2, pages 2--16, May 1987.


The Ucsc Kestrel High Performance Simd Processor.. - Mesa-Martinez..   (Correct)

....of the Kestrel processor to applications developed at UCSC, most notably the Smith Waterman search [13] Work on a compiler has started and will make writing Kestre software easier. The compiler will use a language similar to C and it is inspired by previous successful SIMD compilers such as C [12] and MPL [1] 2] Efficient SIMD compilers are an active area of research in our group, we are studying efficient partition and scheduling strategies for systolic arrays [10] 8] Running Code on Kestrel The software developer has two ways of running programs on Kestrel, either directly on the ....

J.R. Rose and Jr G. Steele. C*: An extended c language for data parallel programming. Proceedings of the Second International Conference on Supercomputing, pages 2--17, May 1987.


Software Geography: Physical and Economic Aspects - Pratt   (Correct)

....up, evasive maneuvers will become more necessary. A return to CM 2 scale parallelism and higher is certainly one approach. A major diculty encountered at Thinking Machines was how to describe the coordinated movement and transformation of data in such highly parallel machines. Rose and Steele [RS87] and Blelloch and Greiner [BG95] came up with some novel programming language approaches to Thinking Machines problem. What struck me about these approaches was how hard it is to separate ourselves from the sequential modes of thought that pervade our perception of the universe. It is as though ....

J. Rose and G. Steele. C*: An extended c language for data parallel programming. In Proceedings Second International Conference on Supercomputing, volume 2, pages 2-16, May 1987.


The Design, Implementation, and Evaluation of Jade - Rinard, Lam (1998)   (Correct)

....1) 7.1 Languages for Imperative Programs with Serial Semantics We next focus on the relatively few languages that are designed to help a compiler or runtime system effectively parallelize a serial, imperative program. Data parallel languages such as Fortran 90 [Metcalf and Reid 1990] and C [Rose and Steele 1987] provide a useful paradigm for programs with regular, data parallel forms of concurrency. Programmers using these languages view their program as a sequence of operations on large aggregate data structures such as sets or arrays. The system can execute each aggregate operation in parallel by ....

Rose, J. and Steele, G. 1987. C*: An extended C language for data parallel programming. Tech. Rep. PL 87-5, Thinking Machines Corp., Cambridge, Mass. Apr.


Parallel Functional Programming on Recursively Defined Data.. - Nishimura, Ohori (1993)   (Correct)

....is that the parallelism is restricted to some particular built in data structures such as arrays or sequences. Conventional data parallel languages have been developed from an existing imperative language by embedding a set of parallel evaluation primitives for arrays. Examples include C (Rose Steele Jr. 1987), Dataparallel C (Hatcher Quinn, 1991) and High Performance Fortran (Forum, 1993) There are also a number of proposals for functional data parallel languages such as Connection Machine Lisp (Wholey Steele Jr. 1987) Lisp (Lasser, 1986) Paralation Lisp (Sabot, 1988) TUPLE (Yuasa, ....

Rose, J., & Steele Jr., Guy L. (1987). C  : An extended C language for data parallel programming. Technical Report PL87-5. Thinking Machine Corporation, Cambridge, MA.


Protocol Compilation: High-Performance Communication for Parallel .. - Felten (1993)   (25 citations)  (Correct)

....carefully encapsulated in a few constructs. Again, this eases debugging. The attractiveness of the data parallel model has led to the development of many data parallel languages. Early data parallel languages include Dino [Rosing et al. 90, Rosing 91] Kali [Koelbel et al. 90] and C [Rose Steele 87] The current generation of data parallel languages is more mature, and offers a richer set of directives to control data distribution [TMC 89, TMC 90, Fox et al. 91, Chapman et al. 92] A consortium of researchers and vendors is now developing a standardized language called High Performance ....

....data transport useful. Protocols must be built on top of these data movement systems. 119 8.1.2 Compiling to Message Passing Code Many researchers have studied how to compile languages into message passing code. These languages include Dino [Rosing 91] Dataparallel C [Hatcher Quinn 91] C [Rose Steele 87, TMC 90] CM Fortran [TMC 89] Fortran D [Fox et al. 91, Tseng 93] Vienna Fortran [Chapman et al. 92] NESL [Blelloch et al. 93] and many others. While several such compilers generate efficient message passing code, they all treat send and receive as indivisible primitives. The code generated ....

J. R. Rose and G. L. Steele Jr. C*: An extended C language for data parallel programming. Technical Report PL 87-5, Thinking Machines Corporation, 1987.


Compiler Support for Machine-Independent Parallelization of.. - von Hanxleden (1994)   (7 citations)  (Correct)

....parallelism, high level parallel languages such as Linda [CG89] Strand [FT90, FO90] and Delirium [LS91] have been defined. Several compilation systems for exploiting fine grained parallelism have been and are being built, which include Al [Tse90] Aspar [IFKF90] C Dataparallel C [HQL 91, RS87] Crystal [LC91] Dino [RSW91] Id Nouveau [RP89] Mimdizer [SWW92] Oxygen [RA90] P 3 C [GAY91] Pandore [APT90] Parafrase 2 [GB92] Paragon [CCRS91] Spot [SS90, Soc90] Superb [ZBG88] and Vienna Fortran [BCZ92] While there is still much work to be done in this field in general, there ....

J. Rose and G. Steele, Jr. C : An extended C language for data parallel programming. In L. Kartashev and S. Kartashev, editors, Proceedings of the Second International Conference on Supercomputing, Santa Clara, CA, May 1987.


Parallel Functional Programming by Partitioning - Taylor (1997)   (6 citations)  (Correct)

....these systems are usually efficient because they sit very close to the 1.3. Literature Survey 33 original machine. Data parallel languages Like the message passing libraries, there have been many attempts at extending imperative languages with data parallel capabilities. Examples include C [76], VPP Fortran [34] and High Performance Fortran (HPF) 43] HPF provides several extensions over and above Fortran 90. These include: ffl Data distribution directives ffl Explicit parallel statements The data distribution directives provide hints to the compiler as to where data should be ....

J. R. Rose and G. L. Steele Jr. C*: An extended C language for data parallel programming. Technical Report PL 87-5, Thinking Machine Corporation, 1987.


Architectural Support for Compiler-Generated Data-Parallel Programs - Klaiber (1994)   (1 citation)  (Correct)

.... shelf processors. Unless otherwise stated, we assume in our experiments that the underlying interconnection network is reliable (e.g. it does not lose, duplicate, or corrupt packets without signalling an error) and provides FIFO ordering. Chapter 3 DATA PARALLEL LANGUAGES We have chosen C [Rose Steele Jr. 87, TMC 90] a data parallel language, as the high level parallel language for our experiments. There exists a significant body of work on C as well as other data parallel languages such as Force [Jordan 87] Dino [Rosing et al. 90] Kali [Koelbel Mehrotra 91] Vienna Fortran [Chapman et al. 92] ....

....of what we would expect from other data parallel languages, hence our findings should extend to those languages as well. We particularly highlight the similarity between C and HPF in the next section. Significant work has been done on the compilation of an older version of C (defined in [Rose Steele Jr. 87] for both distributed memory and shared memory multiprocessors; see for example [Hatcher Quinn 91] for a summary. For a detailed description of the current language, the reader is referred to [TMC 91a] we give a brief overview here. C distinguishes between scalar and parallel variables; the ....

J. R. Rose and G. L. Steele Jr. C*: An extended C language for data parallel programming. In Proceedings of the Second International Conference on Supercomputing, volume ii, pages 2--16, 1987.


Towards Polytypic Parallel Programming - Hu, Takeichi, Iwasaki (1998)   (Correct)

....parallel programming suffers from two problems (see Section 3 for the examples) Firstly, the main parallel data structures that most languages support are restricted to simple collection data types like arrays or similar structures. Examples includes imperative data parallel languages like C [RS87] Dataparallel C [HQ91] and High Performance Fortran [For93] and functional data parallel languages like Connection Machine Lisp [WS94] and NESL [Ble92] Therefore, some important parallel algorithms based on other data structures like trees would become rather awkward. For example, trees are ....

J. Rose and Jr. G. L. Steele. C 3 : An extended C language for data parallel programming. Technical report PL87-5, Thinking Machine Corporation, 1987.


An Object-Oriented Approach to Nested Data Parallelism - Sheffler, Chatterjee (1995)   (3 citations)  (Correct)

....meaning of the two apparently different operations implied by the contexts in which operator occurs. 3.2 Plurality In our programming system, all types are plural there is no simple scalar type. The plurality of a variable is an attribute that describes the number of its components. In C [15], for example, there is a differentiation between mono and poly types. Our programming system makes no such distinction. What might be considered a scalar is actually a variable with a plurality attribute of one, but this is only a special case. For this discussion, we will introduce a ....

John R. Rose and Guy L. Steele Jr. C*: An extended C language for data parallel programming. In Proceedings of the Second International Conference on Supercomputing, May 1987.


An Object-Oriented Approach to Nested Data Parallelism - Sheffler, Chatterjee (1995)   (3 citations)  (Correct)

....meaning of the two apparently different operations implied by the contexts in which operator occurs. 3.2 Plurality In our programming system, all types are plural there is no simple scalar type. The plurality of a variable is an attribute that describes the number of its components. In C [13], for example, there is a differentiation between mono and poly types. Our programming system makes no such distinction. What might be considered a scalar is actually a variable with a plurality attribute of one, but this is only a special case. For this discussion, we will introduce a ....

....are successively split at each trip through the loop. While we have identified techniques to handle these two control flow structures, it remains to define a general control flow model that will handle such constructs as goto and switch. The data parallel control flow model of Rose and Steele [13] handled all of these in a unified framework, but differs from our approach. Their model specified that processors become inactive (a remnant of the CM 2 programming model) while we require work efficiency (which causes added communication) 3] We believe that work efficiency is important in ....

J. R. Rose and G. L. S. Jr. C*: An extended C language for data parallel programming. In Proceedings of the Second International Conference on Supercomputing, volume III, pages 2--16, May 1987.


Compiling Nested Data-Parallel Programs for.. - Siddhartha.. (1993)   (3 citations)  (Correct)

....the lock step synchronization while maintaining semantic equivalence. The aggregation of multiple operations also allows traditional code improvement techniques to be applied to the aggregate. Recently, Quinn and Hatcher [53] have demonstrated techniques for compiling the data parallel language C [57] for MIMDmultiprocessors. However, the programs they can handle are limited by the restricted semantics of C . Our work goes beyond this, showing how to handle loops with dependences, such as the scan primitive of APL [39] A complementary issue is that of storage. A nave implementation often ....

....30 # 30 Tab l e 8 : Summary of benchmark performance. The table shows the asymptotic speedup S1 and the problem size n 1=2 where half this speedup is obtained. The numbers are for twelve processors. 7 Related work The work described in this paper is related to research in the compilation of C [57] for MIMDmachines, the compilation of functional and applicative languages such as APL [39] FP [4] and Sisal [31] loop fusion techniques in Fortran compilers, optimization of series expressions, and type checking in polymorphic languages. We now discuss how our work relates to each of these. ....

ROSE,J.R.,AND STEELE JR, G. L. C*: An extended C language for data parallel programming. In Proceedings of the Second International Conference on Supercomputing, Vol. 2 (San Francisco, CA, May 1987), pp. 2--16.


Optimal Evaluation of Array Expressions on Massively.. - Siddhartha.. (1992)   (Correct)

....domains. Such languages as Fortran 90 #American National Standards Institute 1991#, Fortran D #Fox et al. 1990#, Vienna Fortran #Chapman et al. 1992#, and High Performance Fortran #High Performance Fortran Forum 1993# standardize array based data parallel programming. Other languages, like C #Rose and Steele 1987# and Nesl #Blelloch 1992; Blelloch et al. 1994#, extend the data parallel model to nested and irregular collections of data. In implementing a data parallel language on a massively parallel distributedmemory machine, the two major issues are the alignment and layout of data, and the mapping and ....

Rose, J. R. and Steele, G. L., Jr. 1987. C*: An extended C language for data parallel programming. In Proceedings of the 2nd International Conference on Supercomputing.ACM, New York, 2#16.


Evaluating Compiler Optimizations For Fortran D - Hiranandani, Kennedy, Tseng (1994)   (50 citations)  (Correct)

....implicitly perform message vectorization by extracting messages out of user specified parallel regions, usually performing message coalescing and aggregation as well. Compilers that take this approach require the user to specify parallel loops (Al [47] Arf [48] Kali [33] parallel functions (C [43], Dataparallel C [22] Dino [44] parallel code blocks 31 partition data across processors partition computation using owner computes rule detect and parallelize reductions scans compute cross processor loops for each loop nest L do if L is fully parallel (i.e. no cross processor loops) ....

Rose, J., and Steele, Jr., G. C : An extended C language for data parallel programming. In Proceedings of the Second International Conference on Supercomputing (Santa Clara, CA, May 1987), L. Kartashev and S. Kartashev, Eds.


Interprocedural Compilation of Fortran D - Hall, Hiranandani, Kennedy, Tseng (1996)   (3 citations)  (Correct)

....especially interprocedural optimization. The CM Fortran compiler utilizes user defined interface blocks to specify a data partition for each procedure [36] Array parameters are then copied to buffers of the expected form at run time if needed, eliminating the need for interprocedural analysis. C [34] and Dataparallel C [21] specify parallelism through the use of parallel functions. Arguments to procedures in Id Nouveau [33] and Kali [29] are labeled with their expected incoming data partition. The user must ensure that the procedure is called only with the appropriately decomposed arguments. ....

J. Rose and G. Steele, Jr. C : An extended C language for data parallel programming. In L. Kartashev and S. Kartashev, editors, Proceedings of the Second International Conference on Supercomputing, Santa Clara, CA, May 1987.


Achieving Speedups for APL on an SIMD Distributed Memory Machine - Greenlaw, Snyder (1990)   (Correct)

..... 21 1 Introduction In the search for a suitable programming language for parallel machines, the common approaches have either been to develop sophisticated compilers to identify the parallelism in FORTRAN programs [10] 4] or to develop entirely new programming languages [11] 12] [14]. All parallelizing compilers and most new languages require advanced compilation technology which has taken years to develop. Most of these efforts have not yet proved themselves. In the rush to pursue the above approaches, APL [9] has largely been overlooked. This is unfortunate since APL s ....

....language is not parallel. APL has sequential statement execution, but it provides operators that manipulate vectors whose semantics admit parallel execution [7] This is as opposed to other languages such as FORTRAN and C that have been extended to make them more adaptable to parallelism [3] 15] [14]. In fact, many of the proposed extensions to FORTRAN, which make it more adaptable to parallelism, are features that have always existed in APL. The semantics of APL are very compatible with the computing capabilities of SIMD parallel computers, especially those with nonshared memory: The vectors ....

[Article contains additional citation context not shown here]

J. Rose and G. Steele. C*: An extended C language for data parallel programming. Technical Report PL87-5, Thinking Machines, Cambridge, MA, May 1987.


A Geometrical Data-Parallel Language - Dekeyser, Lazure, Marquet (1994)   (Correct)

....the mapping of the abstract machine onto the physical processors. The figure 1 describes the main features of some well known data parallel languages: Fortran extensions Fortran 90 [MR90, ANS91] CM Fortran [Thi90] MP Fortran [Mas91a] Fortran D [FHK 91] HPF [For93] C extensions C [RS87, Fra91] MPL [Mas91b] Hyper C (POMP C) Par92, Hyp93] Others extensions ACTUS [Per79, PCM83] PARALLAXIS [Bra89, BBES91] Lisp [Thi91] Data parallel object keyword Abstract machine Objects virtuality Access to machine Objects dynamicity Heterogeneous alignment Explicit communications ....

John Rose and Guy L. Steele Jr. C*: An extented C language for data parallel programming. Technical Report PL87-5, Thinking Machine Corp., April 1987.


A Survey of Concurrent Object-Oriented Programming Languages - Scaife (1996)   (Correct)

....for transputers [116] presents a translation system from C to transputer code and SINA [115] which supports concurrency within objects. An important class of languages are those designed for data parallel programming. Some of these are object oriented, for instance C [76] a development of C [98], is an object oriented language designed to exploit large grain data parallelism and is based on Chien s concurrent aggregates [35] These languages overlap with MIMD languages, however, Hatcher and Quinn showed that data parallel code could be compiled for both message passing and shared memory ....

J. R. Rose and G. L. Steele. C*: An Extended C Language for Data Parallel Programming. In Proceedings of the Second International Conference on Supercomputing, pages 2--16, Santa Clara, California, May 1987.


Data Parallel Programming: A Survey and a Proposal for a New.. - Hammarlund, Lisper (1993)   (3 citations)  (Correct)

....than a complicated loop statement. Some algorithms are also easy to express in languages like these, e.g. many algorithms in linear algebra. The increase in data size has also inspired this research. This is very minutely captured in an article about the old C language for the Connection Machine [Rose and Steele Jr. 1987]: It is not unusual for an application to involve the handling of 10 9 data values. For such applications there is much more to be gained by exploiting parallelism in the data than parallelism in the code. This survey consists of a literature search and a compilation of references to data ....

....For the CM5 there will also be a real compiler. Lisp was originally directed towards the bit serial architecture of the CM1 CM2 which shows in its very rich type possibilities; one can for instance declare signed integers of any length and specialized floats. 4. 5 Old C The Old C language [Rose and Steele Jr. 1987] was designed to be an extension to C, such that the extensions had the same flavor as C. It was supposed to be an strict superset of C. Communication was to be done through the use of pointers and pointer arithmetics would be meaningful also in a parallel context. Old C took a lot from C , like ....

Rose J. R & Steele Jr. G. L, (1987). C*: An Extended C Language for Data Parallel Programming. In Proceedings of the 1987 Second International Conference on Supercomputing, volume II, pp 2--16. International Supercomputing Institute, 1987.


The Fork95 Parallel Programming Language: Design.. - Keßler, Seidl (1997)   (Correct)

....parallel execution of iterations over large arrays. Data parallel imperative languages have been designed especially to program SIMD (Single Instruction Multiple Data) computers like, e.g. pipelined vector processors or the CM2. Examples of such languages are Modula 2 [6] Vector C [7] and C [8] or its relatives Dataparallel C [9] and DBC [10] However, there is just one global name space supported by these languages. Other parallel computation paradigms like a parallel recursive divide and conquer style as suggested in [11] 12] 13] 14] 15] are not supported. On the other hand, ....

....in Fork95 is as flexible as in C, since all private address subspaces have been embedded into the global shared memory. In particular, one needs not distinguish between pointers to shared and pointers to private objects, in contrast to some other parallel programming languages, for example C [8]. Shared pointer variables may point to private objects and vice versa; the programmer is responsible for such assignments making sense. Thus, sh int sharedpointer; declares a shared pointer which may point either to a private or to a shared location. For instance, the following program fragment ....

J. Rose and G. Steele. C*: an Extended C Language for Data Parallel Programming. Technical Report PL87-5, Thinking Machines Inc., Cambridge, MA, 1987.


Implementation of a Portable Nested Data-Parallel.. - Blelloch, Hardwick.. (1993)   (97 citations)  (Correct)

No context found.

Rose, J. R., and Steele Jr, G. L. C*: An extended C language for data parallel programming. In Proceedings Second International Conference on Supercomputing, Vol. 2 (May 1987), pp. 2--16.


Conclusion - The Task-Parallel   (Correct)

No context found.

Rose, J.R. and Steele Jr., G.L. C: An Extended C Language for Data Parallel Programming. Technical Report PL-87.5, Thinking Machines Corporation, Cambridge, MA, March 1987.

First 50 documents  Next 50

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC