| S. Gorlatch, "Extracting and implementing list homomorphisms in parallel programming development ", Science of Computer Programming, vol. 33, no. 1, pages 1--27, 1999. |
....form. In these approaches, parallelization schemes start from the homomorphism lemma[1] 9] Because the lemma can be applied to restricted recursive programs, there have been many researches to expand the scope of parallelization to almost homomorphisms[16, 12] functions on sequential lists[3, 6, 8, 13], functions with accumulation parameters[13, 14] functions on general recursive structures[14] and so on. However the calculational method for parallelization is still not so strong that they can parallelize recursive functions with complex data flow like the inorder function. We propose an ....
Sergei Gorlatch. Extracting and implementing list homomorphisms in parallel program development. Science of Computer Programming, 33(1):1--27, January 1999.
....available for user programs. In addition, a new list constructor is introduced internally, which permits symbolic pattern matching of a list against its size and its indexing function. We took the idea of such non standard list constructors from cons snoc lists and distributable homomorphisms [13] and powerlists [26] In contrast to them, our approach strictly separates length and content of a list, with the need to add auxiliary functions to the program, mapping list indices to elements. Later in the compilation process, inlining of these functions can improve e ciency. Our approach ....
....expressions may still be expressed recursively. Using knowledge about frequent decomposition patterns, one can provide a heuristic procedure to nd closed forms. Probably the patterns most often used are the decomposition of a list into (1) head and tail and (2) the left part and the right part [13, 26]. We discuss brie y head tail decomposition here. If we are lucky,we obtain a recursive size function and its closed form of the following kind, where # # # and # # # # #: #### # # # # if ### ###### # #### # otherwise # # # # # # ### #### If # is a polynomial or another simple kind of ....
Sergei Gorlatch. Extracting and implementing list homomorphisms in parallel program development. Science of Computer Programming, 33(1):127, 1999.
....pair, the depth of the tree and whether it is balanced, is a fold. Because depth (node (t, u) 1 max (depth t, depth u) bal (node (t, u) bal t # bal u # depth t = depth u trees identified by dbal are closed under node. This is an example of a mutumorphism [7] or almost homomorphism [3,8]; transforming a function into such a form is an important step towards constructing an e#cient data parallel algorithm for computing it. 5 When is a function an unfold Dualising Theorem 4.2 to unfold is straightforward. The appropriate dual to the notion of the kernel of a function is simply ....
S. Gorlatch. Extracting and implementing list homomorphisms in parallel program development. Science of Computer Programming, 33:1--27, 1999.
.... developed to support the formal calculation of programs from specifications, but it can also serve as an abstract model for explicit data parallel programming, with a cost model [60] The systematic transformation in BMF of specifications into parallel algorithms has been studied by Gorlatch [21]. Formal parallelisation in BMF is achieved by transforming functions into list homomorphisms: such functions can be computed in parallel in logarithmic time. A potential weakness of BMF in this context is that lists sometimes do not provide the best collection oriented data type for modelling ....
S. Gorlatch. Extracting and implementing list homomorphisms in parallel program development. Science of Computer Programming, 33(1):1--27, 1999.
....makes it less suitable for specification of sparse or dynamic algorithms. A survey of the research in parallel functional programming is found in [8] High level specification and formal derivation of parallel programs has been considered in the BSP model [21] and in the Bird Meertens Formalism [6]. Data Field Haskell could serve as a flexible format supporting these methods. Transformation of algorithm specifications in ML into programs for SIMD computers was considered in [5] 7 Conclusions and Further Research We have presented the data field model and Data Field Haskell, a Haskell ....
S. Gorlatch. Extracting and implementing list homomorphisms in parallel program development. Science of Computer Programming, 33(1):1--27, 1999.
.... = let (u, ptup(cs,x) in u ptup( c] x) c,x) ptup(cr cs,x) comb2(ptup(cr,x) ptup(cs,x) where comb2( p 1 ,u 1 ) p 2 ,u 2 ) p 1 p 2 u 1 ,u 2 u 1 ) Such mismatch between sequential and parallel programs are already recognized by a number of people, including Cole [11] and Gorlatch [16]. The key to obtaining a better match is the introduction of suitable auxiliary functions (such as prod) that would allow associative combine operators (such as comb2) to be expressed. Past proposals require these auxiliary functions to be given. Cole required auxiliary functions to be provided as ....
....An alternative approach is to have programmers supply both a leftward (cons based) and a rightward (snoc based) versions of the sequential program. This method was systematically formulated by [15] based on an earlier idea from Bird Meertens, and later given a constructive procedure by Gorlatch [16]. As shown here, it is possible to parallelize systematically using only a leftward sequential program. There is also tremendous interests in the parallelization of loops for imperative languages (e.g. Fortran) A work which is similar to our method was independently conceived by Fischer ....
Sergei Gorlatch. Extracting and implementing list homomorphisms in parallel program development. To appear in Science of Computer Programming, 1998.
No context found.
S. Gorlatch, "Extracting and implementing list homomorphisms in parallel programming development ", Science of Computer Programming, vol. 33, no. 1, pages 1--27, 1999.
No context found.
Sergei Gorlatch. Extracting and implementing list homomorphisms in parallel program development. Science of Computer Programming, 33(1):127, 1999.
No context found.
Gorlatch, S.: Extracting and implementing list homomorphisms in parallel program development. Science of Computer Programming 33 (1999) 1--27
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