| Z. Hu, M. Takeichi, and H. Iwasaki, "Diffusion: Calculating efficient parallel programs", In Proceedings of the 1999. |
....= inorder(lt,n) t2,s2) inorder(rt,1 n s1) in (Node(n s1,t1,t2) s1 s2 1) end In this paper, we propose a method to extract data parallelism from recursive functions. Our research has the following aspects. We employ polytypic parallel skeletons as our parallel model for object programs [14]. Our parallel skeletons are polytypic in that they can be generically defined for general algebraic data types such as trees and lists. Therefore, we can extract data parallelism for the irregular data structures. We define a classification of subexpressions in a recursive function based on ....
....Skeletons We use polytypic parallel skeletons as our parallel model. It provides us a set of parallel structures to capture data parallelism of sequential programs. Our model is composed of map, reduce, upward accumulation, downward accumulation and zip skeletons. The skeletons are polytypic[14] in that they are generically defined for general algebraic data types. Our model does not force that argument functions for reduce and accumulation to be associative as in [14] With this freedom, we can fully extract 5 data parallelism from the divide and conquer nature of computations on ....
[Article contains additional citation context not shown here]
Zhenjiang Hu, Masato Takechi, and Hideya Iwasaki. Diffusion: Calculating efficient parallel programs. In
.... lemma[5] Because this lemma can only be applied to very restricted forms of functions, many researchers tried to extend the scope of the lemma to more general forms such as almost homomorphisms [6,7] functions on sequential lists[8,9,6,10] and functions on general recursive data structures[11]. However, the calculational methods have some restrictions. To apply the lemma, the parallelizing translator must find appropriate associative operators, which is a difficult and sometimes impossible task. Also, in these methods, input programs must be expressed in pre defined forms so that ....
....(Node(x,lt,rt) n) let (t1 5 ,s1 6 ) inorder (lt 7 ,n 8 ) 9 ) 10 ; t2 11 ,s2 12 ) inorder (rt 13 , 1 14 n 15 ) 16 s1 17 ) 18 ) 19 ) 20 in ( Node ( n 21 s1 22 ) 23 ,t1 24 ,t2 25 ) 26 ) 27 , s1 28 s2 29 ) 30 131 ) 32 ) 33 end 34 Fig. 1. inorder : an in order numbering function[11]. Fig. 1 shows a function which numbers every node of a tree in in order starting from a given number[11] The subscripts are labels of subexpressions and pattern variables in the function bodies. a Because the size of the left subtree is required to number the right subtree in in order, ....
[Article contains additional citation context not shown here]
Zhenjiang Hu, Masato Takechi and Hideya Iwasaki, Diffusion: Calculating efficient parallel programs, in
No context found.
Z. Hu, M. Takeichi, and H. Iwasaki, "Diffusion: Calculating efficient parallel programs", In Proceedings of the 1999.
No context found.
Z. Hu, M. Takeichi, and H. Iwasaki. Diffusion: Calculating Efficient Parallel Programs. In ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation (PEPM'99), pages 85--94. ACM Press, January 22-23 1999.
.... (f x; g x) g (a : x) in let a fi (x; y) a 8 (x; in foldr (fi) e 1 ;e 2 ) Following this way, it should not be difficult to code other interesting calculation laws such as the parallelizing theorem [HTC98] the accumulation calculation theorem [HIT99] and the diffusion calculation law [HTI99]. 4.2 Coding Calculation Strategies Valid transformations on program can be described by a set of calculation rules; while calculation strategies are applied to obtain the desired optimization effects [VBT98] In this section, wewould like to demonstrate that those important strategies in ....
....of program calculation technique to derivation of efficient programs and to construction of optimizing passes in compilers. Wehave developed manycheap but powerful calculational rules suchasfusion [HIT96, OHIT97] tupling [HITT97] accumulation [HIT99] parallelization [HTC98] and diffusion [HTI99]. Although all these can be implemented in an automatic wayintheory, it is quite time consuming to implement them in practice; implementation of the HYLO fusion calculator [OHIT97] in the Glasgow Haskell Compiler has actually taken us about two years. We believe that we are nowinthe position to ....
Z. Hu, M. Takeichi, and H. Iwasaki. Diffusion: Calculating efficient parallel programs. In 1999 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, pages 85--94, San Antonio, Texas, January 1999. BRICS Notes Series NS-99-1.
....e 1 else e 2 = e 2 which performs static evaluation of if expression. Following this way, it should not be difficult to code other interesting calculation laws such as the tupling law [18] parallelizing theorem [20] the accumulation calculation theorem [17] and the diffusion calculation law [21]. 4.2 Coding Calculation Strategies Valid transformations on program can be described by a set of calculation rules; while calculation strategies are applied to obtain the desired optimization effects [33] In this section, we would like to demonstrate that those important strategies in [33] can ....
Z. Hu, M. Takeichi, and H. Iwasaki. Diffusion: Calculating efficient parallel programs. In 1999 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, pages 85--94, San Antonio, Texas, Jan. 1999. BRICS Notes Series NS-99-1.
.... in let a fi (x; y) a 8 (x; y) a Omega (x; y) in foldr (fi) e 1 ; e 2 ) Following this way, it should not be difficult to code other interesting calculation laws such as the parallelizing theorem [HTC98] the accumulation calculation theorem [HIT99] and the diffusion calculation law [HTI99]. 4.2 Coding Calculation Strategies Valid transformations on program can be described by a set of calculation rules; while calculation strategies are applied to obtain the desired optimization effects [VBT98] In this section, we would like to demonstrate that those important strategies in ....
....of program calculation technique to derivation of efficient programs and to construction of optimizing passes in compilers. We have developed many cheap but powerful calculational rules such as fusion [HIT96, OHIT97] tupling [HITT97] accumulation [HIT99] parallelization [HTC98] and diffusion [HTI99]. Although all these can be implemented in an automatic way in theory, it is quite time consuming to implement them in practice; implementation of the HYLO fusion calculator [OHIT97] in the Glasgow Haskell Compiler has actually taken us about two years. We believe that we are now in the position ....
Z. Hu, M. Takeichi, and H. Iwasaki. Diffusion: Calculating efficient parallel programs. In 1999 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, pages 85--94, San Antonio, Texas, January 1999. BRICS Notes Series NS-99-1.
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