| C.B. Jay. Costing parallel programs as a function of shapes. invited submission to Science of Computer Programming, September 1998. |
....implementation using the explicit parallelism of lower level primitives provided by the target system. Since a parallel program is constructed from predefined skeletons, the cost of the program can also be expressed in terms of its parallel control structure. The shapely programming methodology [52, 53, 54] proposes that through careful language design the shape (loosely speaking, the size and structure) of data at any point during execution can be determined statically and automatically, even for programs in which shape is varied dynamically. This is fundamental for static cost analysis because it ....
....Thesis The main contributions of this thesis can be summarised as follows. We demonstrate the first completely automated, communication sensitive shapebase cost analysis system for an implicitly parallel skeletal programming language of nested arrays. This builds on earlier work by Jay et al. [54] in the area by quantifying communication as well as computation costs, with the former being derived by changing target implementation model from PRAM to BSP; We add several built in second order functions, each of which has a parallel implementation template and predefined application cost ....
[Article contains additional citation context not shown here]
C. B. Jay. Costing Parallel Programs as a Function of Shapes. Science of Computer Programming, 37:207--224, 2000.
....by Jay et al. 11] They, however, do not consider the properties of attening. 2 Purely Functional Array Programming The functional programming paradigm is attractive for coding array programs as demonstrated by the constant interest in functional languages with strong array support [2,3,5,17,12,1,7]. In particular, the resulting programs are on a fairly high level and close to the mathematical foundations on which many of the algorithms rest. Moreover, the absence of side e ects as well as the collective operations used in some approaches promise a smooth route to parallel implementations. ....
C. B. Jay. Costing parallel programs as a function of shapes. Science of Computer Programming, 37:207-224, 2000.
....realized by composition of the basic operations. Typically, the basic operations include elementwise arithmetic and logic operations, reductions, prescans, re ordering operations, and so forth. We find collectionoriented operations in languages, such as, Fortran 90 95 [18] Nesl [1] and GoldFISh [15] as well as parallel languages based on the Bird Meertens Formalism (BMF) and the principle of algorithmic skeletons [9, 6] Usually, higher order operations on the aggregate structure are provided, e.g. apply to each in Nesl; FORALL in Fortran 90 95 1 ; and map, filter, and so on in BMF. ....
C. Barry Jay. Costing parallel programs as a function of shapes. Invited submission to Science of Computer Programming, September 1998.
....in its current form is geared towards handling irregular parallelism, at the expense of not optimising regular parallelism. It would be preferable to recognise regular structures and treat them specially. Particularly interesting seem shape based approaches, e.g. those of SAC [25] and GoldFISh [14], as attening already distinguishes between shape and data. 3. A LAMBDA CALCULUS WITH PARALLEL ARRAYS We formalise our extended attening transformation based on a simply typed lambda calculus supporting parallel arrays; we call the calculus PA . We exclude parametrised types and mutual type ....
....eciently, such arrays are the preferred data structure in Fortran programs for exactly this reason. Hence, parallel processing encourages the decomposition of complex data structures such that the structure information is separated from the primitive data values that are stored in the structure [5, 23, 14]. We call this a attened data structure representation. In previous work [16] we demonstrated that the program transformation that replaces the source level representation by the attened representation is best understood as a specialisation procedure of the primitive functions operating on ....
C. B. Jay. Costing parallel programs as a function of shapes. Science of Computer Programming, 2000. Forthcoming.
....the correct step work complexity. However, these results are based on simulation techniques rather than explicit source to target translations. Skillicorn and Cai [31] presented a cost calculus for parallel programs using the Bird Meertens formalism. This approach has been developed further by Jay [16,15], using shape analysis. Another promising direction is that of Keller, who develops transformations that take distribution into account [17] In this setting, flattening can profitably be combined with deforestation and related techniques [35,18,11] Flattening is an Improvement 15 Nested ....
C. Jay. Costing parallel programs as a function of shapes. Science of Computer Programming, 1999.
....the correct step work complexity. However, these results are based on simulation techniques rather than explicit source to target translations. Skillicorn and Cai [31] presented a cost calculus for parallel programs using the Bird Meertens formalism. This approach has been developed further by Jay [16,15], using shape analysis. Another promising direction is that of Keller, who develops transformations that take distribution into account [17] In this setting, flattening can profitably be combined with deforestation and related techniques [35,18,11] Flattening is an Improvement 15 Nested ....
C. Jay. Costing parallel programs as a function of shapes. Science of Computer Programming, 1999.
....topology. Such embeddings may be possible for a wide variety of actual topologies. However, all of these techniques require fairly strong assumptions. There s a growing trend towards using the BSP abstract machine as a target for many different programming models (for example, P3L and GoldFish [13, 14]) Recall that a BSP abstract machine consists of a set of processors, each with its own local memory, a communication infrastructure, and a mechanism for barrier synchronisation. This abstract machine is easy to implement on any MIMD architecture. Moreover, experience so far has been that the ....
C.B. Jay. Costing parallel programs as function of shapes. In this volume, 1998.
No context found.
C.B. Jay. Costing parallel programs as a function of shapes. invited submission to Science of Computer Programming, September 1998.
No context found.
C.B. Jay. Costing parallel programs as a function of shapes. Science of Computer Programming, 1999. in press.
No context found.
C.B. Jay. Costing parallel programs as a function of shapes. invited submission to Science of Computer Programming, September 1998.
No context found.
C.B. Jay. Costing parallel programs as a function of shapes. invited submission to Science of Computer Programming, September 1998.
....but a more complicated semantics. If successful, this program may also reduce the distance between FISh and other, better known, programming languages, so that shape ideas could be incorporated within them. The other development is that of a portable parallel version of FISh called Goldfish[JCSS97, Jay98a]. It will use shape analysis to guide data distribution and support a static cost model. There are also many opportunities for further partial evaluation and optimisation based on shape information, e.g. the further elimination of dynamic array bound checks. Overall, the FISh language ....
C.B. Jay. Costing parallel programs as a function of shapes. invited submission to Science of Computer Programming, September 1998.
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