| Lasser, C. The Essential *Lisp Manual. Thinking Machines Corporation, Cambridge, MA, July 1986. |
....by two networks: one connects each processor to four adjacent processors, and the other is a 12 dimensional hypercube, connecting groups of 16 processors. The array is controlled by a host, which is a Symbolics 3640 Lisp machine. CM 1 is programmed in an extension to Common Lisp called Lisp [24], in which references to data objects stored in the CM 1 array and objects on the host can be intermixed. Although our intention is to illustrate architectural decisions made in Warp, not to compare it with the Connection Machine, we should not cite benchmark performance figures on two different ....
Lasser, C. The Complete *Lisp Manual. Thinking Machines Corporation, Cambridge, Massachusetts, 1986.
....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, 1992) Plural EuLisp (Merrall Padget, 1992) DPML (Hains Foisy, 1993) Nesl (Blelloch, 1993) FX (Talpin Jouvelot, 1993) and Caml Flight (Foisy Chailloux, 1995) These languages enable us to exploit data parallelism in functional programming, ....
Lasser, C. 1986 (July). The essential Lisp manual. Thinking Machine Corporation, Cambridge, MA.
....programming languages extended with parallelism constructs. These constructs allow the programmer to specify how selected portions of the program can be executed in parallel, and how data are assigned to physical processors. Examples of such languages are FORTRAN 90 [ANSI90] C [RS87] Lisp [Las86] multiC [Wav92] and many others. The use of such languages is close to an acceptance of Eckert s statement, since the programmer is only trusted with a sequential language. Some compilers are designed with this acceptance in mind. They examine the sequential parts of the program in an attempt ....
Clifford Lasser. The essential *lisp manual. Technical report, Thinking Machines Corporation, Cambridge, MA, July 1986.
....to that for the CM Fortran implementation. The Cray Fortran overhead is insignificant for the data sizes in the graph and is not shown. 6 Comparison to Other Systems Numerous flat data parallel languages have been proposed for portable parallel programming, such as C [49] MPP Pascal [7] Lisp [39], UC [5] and Fortran 90 [2] Section 2 explained some of the expressibility and efficiency limitations imposed by flat languages; these problems are also discussed elsewhere [10, 11, 29, 32, 54] Two existingparallel languages permit the user to describe nested data parallel operations: CM Lisp ....
Clifford Lasser. The Essential *Lisp Manual. Thinking Machines Corporation, Cambridge, MA, July 1986.
....supports nested parallelism. Nested parallelism is the ability to take a parallel function and apply it over multiple instances in parallel for example, having a parallel sorting routine, and then using it to sort several sequences concurrently. The data parallel languages C [38] Lisp [31], and Fortran 90 [1] with array extensions) support no form of nested parallelism. The parallel collections in these languages can only contain scalars or fixed sized records. There is also no means in these languages to apply a user defined function over each element of a collection. This ....
Clifford Lasser. The Essential *Lisp Manual. Thinking Machines Corporation, Cambridge, MA, July 1986.
....implementation requires O(n) work on each step, it is a factor of O(log n) slower for large inputs, as illustrated in Figure 12. 6 Comparison to Other Systems Numerous flat data parallel languages have been proposed for portable parallel programming, such as C [35] MPP Pascal [6] Lisp [29], UC [4] and Fortran 90 [2] Section 2 explained some of the expressibility and efficiency limitations imposed by this type of language. These problems are also discussed elsewhere [7, 21, 39, 22, 8] There are two existing languages that permit the user to describe nested data parallel ....
C. Lasser. The Essential *Lisp Manual. Thinking Machines Corporation, Cambridge, MA, July 1986.
....segdes Figure 2: A partial list of VCODE instructions. All the vector instructions take values off the top of the stack and return their result to the top of the stack. 5 1 3 4 3 9 2 6] 2 5 3 8 1 3 6 2] 7 6 6 12 4 12 8 8] l i f e p o t] 2 1 0 3 2 1 0] 4 3] permute [f i l e t o p] [1 3 5 7 11 13 15] [4 3] scan [0 1 4 9 0 11 24] Figure 3: Some vector instructions. Vectors are shown between square brackets. The instruction takes the top two vectors off the stack, adds them elementwise and returns the result to the top of the stack. The two source vectors must be of the same length. The ....
....Many data parallel languages also include the notion of a processor context. In these languages, each location of a parallel variable has a context flag associated with it, and operations are only performed in locations where the flag is set to true. Examples of such languages are C , Lisp [15] and Fortran 8x (inside a WHERE statement) VCODE does not include the notion of processor context. This is largely because the notion of processor context causes many subtle problems when combined with instructions that rearrange the elements of a parallel variable. In the spirit of keeping ....
Clifford Lasser. The essential *Lisp manual. Technical report, Thinking Machines Corporation, Cambridge, MA, July 1986.
....implementation supports nested parallelism. Nested parallelism is the ability to take a parallel function and then apply it over multiple instances in parallel for example, having a parallel sorting routine, and then using it to sort several sequences concurrently. The languages C [20] Lisp [17], and Fortran 90 [1] the array extensions) support no form of nested parallelism. The parallel collections in these languages can only contain scalars or fixed sized records. There is also no means 1 It should not, however, be confused with Lisp or Scheme. In fact, we are currently working on a ....
....but it was deemed near impossible to extend it to the full language. Existing data parallel languages almost all consist of a set of data parallel constructs added to a serial language (C and C , Pascal and Parallel Pascal, Fortran 90 and its vector extensions, Lisp and the three languages Lisp [17], CM Lisp [24] and Paralation Lisp [21] This approach of adding extensions to an existing language has its clear advantages it allows the creation of a parallel language with only a small effort in language design. The approach, however, can also have some severe disadvantages. In particular ....
Clifford Lasser. The essential *Lisp manual. Technical report, Thinking Machines Corporation, Cambridge, MA, July 1986.
....supports nested parallelism. Nested parallelism is the ability to take a parallel function and apply it over multiple instances in parallel for example, having a parallel sorting routine, and then using it to sort several sequences concurrently. The data parallel languages C [31] Lisp [24], and Fortran 90 [1] with array extensions) support no form of nested parallelism. The parallel collections in these languages can only contain scalars or fixed sized records. There is also no means in these languages to apply a user defined function over each element of a collection. This ....
Clifford Lasser. The Essential *Lisp Manual. Thinking Machines Corporation, Cambridge, MA, July 1986.
No context found.
Lasser, C. The Essential *Lisp Manual. Thinking Machines Corporation, Cambridge, MA, July 1986.
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