| D. Wilde and S. Rajopadhye. Memory reuse analysis in the polyhedral model. Parallel Processing Letters, 7(2):203--215, June 1997. 11 |
....which imposes similar assumptions on the input code (except that they also handle parametrized code) First, as many dimensions as possible are projected out, after which a windowing technique is applied on the resulting array. However, they use a di#erent optimization criterion. Other works[19, 12] take a broader view. They develop transformations that change the control flow so that the amount of live memory cells is reduced. Acknowledgements We are indebted to Saumya Debray for providing us with an initial parser that could turn the benchmarks into logic programs readable by SICStus ....
D. Wilde and S. Rajopadhye. Memory reuse analysis in the polyhedral model. In Proc. EuroPar Conference, Lyon, France, volume 1123 of LNCS, pages 389--397. Springer Verlag, 1996.
....total anticipated broadcast total true broadcast 0 1 2 3 0 1 2 3 Fig. 1. Communications implementation: dimension of anticipated broadcast. location for a data after its last use. This memory location should be freed and allocated to another data used by the processor at that time step [20]. For a problem with several dependences, there is an important degree of freedom in the choices of space time transformations and communication schemes. In order to determine a large spectrum of ecient solutions one should apply a heuristic that proposes various space time transformations and ....
....The amount of memory we compute for a given processor is optimal: it corresponds to the minimum number of memory locations required and therefore relies on memory reuse. Hence, as soon as a data is no longer used by a processor, its memory location is released and allocated to another data. In [20] Wilde and Rajopadhye also deal with memory reuse based on lifetime information, but do not take advantage of the usage information (called usage table in their paper) to integrate broadcast communications. They de ne a memory allocation function which optimizes memory reuse, but do not give any ....
D. Wilde and S. Rajopadhye. Memory reuse analysis in the polyhedral model. Parallel Processing Letter, 7(2):203-215, 1997.
....vectors we can only reduce the dimensionalityofanarray by one, whereas the other mapping can introduce constant bounds in several dimensions. We hope to extend the occupancy vector method in this capacity in the future. Memory reuse in the context of the polyhedral model is also considered in [19]. This approachusesyet another storage mapping, which utilizes array transformations on the data space to achieve the e ect of multiple occupancy vectors applied at once. However, the mapping does not haveany modulation, so it could not duplicate the e ect of the (2; 0) occupancy vector we found ....
....of the (2; 0) occupancy vector we found (for a given schedule) in 2 4 6 8 10 12 14 16 18 20 0 2 4 6 8 10 12 14 16 Processors Example 3 Speedup Transformed Original Figure 16: ####### ### ###### ## ########## ### ####### ## Example 1. Unifying our framework with the data mapping of [19] could be a fruitful direction for future research. 8 Conclusion Wehave presented a mathematical framework that uni es the techniques of ane scheduling and occupancy vector analysis. Within this framework, weshowed howtodetermine the best storage mapping for a given schedule, the best schedule ....
[Article contains additional citation context not shown here]
D. Wilde and S. Rajopadhye. Memory reuse analysis in the polyhedral model. Parallel Processing Letters, 7(2):203-215, June 1997.
....framework goes beyond AOV s to unify the notion of occupancy vectors with known ane scheduling techniques. The leading method for schedule speci c storage optimization in the context of the polyhedral model is that of Quiller e and Rajopadhye [21] which builds on that of Wilde and Rajopadhye [25]. Like our technique, their analysis targets static control ow programs in a single assignment form. However, they also support multidimensional ane schedules, as well as multiple dimensions of storage reuse. The technique utilizes projective memory allocations that achieve the e ect of several ....
D. Wilde and S. Rajopadhye. Memory reuse analysis in the polyhedral model. Parallel Processing Letters, 7(2):203-215, June 1997. 67
....make use of the structure of the cost function to direct the search. 4 Solution for Replication Replication is a difficult problem in terms of data placement optimisation because the natural representation for replication is not even a function: one location is mapped onto many. Several authors [8, 9, 29] have therefore proposed representing the inverse of copying, i.e. a function which maps multiple locations onto one. Notice that this representation is now not invertible: such a function is not injective and hence cannot be inverted. This means that according to this representation, the only ....
D. Wilde and S. Rajopadhye. Memory reuse analysis in the polyhedral model. Parallel Processing Letters, 7(2):203-215, June 1997.
....Work Many papers are devoted to the problem of eliminating false dependences. Some of them try to eliminate these dependences with a reduced memory cost. One can find many techniques 6 which come from the automatic parallelization community ( 1] 2] 9] 12] or the systolic community ([13], 3] It is interesting to notice that these techniques are close to datalocalization methods ( 4] 14] Most papers from the automatic parallelization community deal with array privatization. Privatization is a technique that allows each thread to allocate a variable in its private storage. ....
....[12] Lam [1] Padua and Tu [12] propose to optimize array privatization with the help of the DFG. If one adapts their method to partial expansion, it consists in maintaining output dependences which duplicate flow dependences. Another solution has been proposed by the systolic community ( 3] [13]) Programs that are taken into account are given in single assignment form. They try to create output dependences which don t invalidate the data flow by estimating the lifetime of each variable. Darte and al. 2] build upon results of Padua who introduced two graph transformations to eliminate ....
[Article contains additional citation context not shown here]
S. Rajopadhye and D. Wilde. Memory Reuse Analysis in the Polyhedral Model. In Boug'e, Fraignaud, Mignotte and Robert, editors, Euro-Par'96 Parallel Processing, Vol I, pages 389-397. Springer-Verlag, LNCS 1123, August 1996.
....vectors we can only reduce the dimensionality of an array by one, whereas the other mapping can introduce constant bounds in several dimensions. We hope to extend the occupancy vector method in this capacity in the future. Memory reuse in the context of the polyhedral model is also considered in [19]. This approach uses yet another storage mapping, which utilizes array transformations on the data space to achieve the e ect of multiple occupancy vectors applied at once. However, the mapping does not have any modulation, so it could not duplicate the e ect of the (2; 0) occupancy vector we ....
....the (2; 0) occupancy vector we found (for a given schedule) in 0 2 4 6 8 10 12 14 16 18 20 0 2 4 6 8 10 12 14 16 Processors Example 3 Speedup Transformed Original Figure 16: Speedup vs. number of processors for Example 3. Example 1. Unifying our framework with the data mapping of [19] could be a fruitful direction for future research. 8 Conclusion We have presented a mathematical framework that uni es the techniques of ane scheduling and occupancy vector analysis. Within this framework, we showed how to determine the best storage mapping for a given schedule, the best ....
[Article contains additional citation context not shown here]
D. Wilde and S. Rajopadhye. Memory reuse analysis in the polyhedral model. Parallel Processing Letters, 7(2):203-215, June 1997.
....whereas the other mapping can introduce constant bounds in several dimensions. In the future, we hope to extend our method to nd multiple occupancy vectors, thereby enabling storage reuse along multiple array dimensions. Memory reuse in the context of the polyhedral model is also considered in [18]. This approach uses yet another storage mapping, which utilizes array transformations on the data space to achieve the e ect of multiple occupancy vectors applied at once. However, the mapping does not have any modulation, so it could not duplicate the e ect of an occupancy vector that intersects ....
....consider more general storage mappings. The occupancy vector method as it stands now can only decrease the dimensionality of an array by one, and the irregular shape of the resulting data space could be hard to embed in a rectilinear array in a storage ecient way. However, other storage mappings [11, 18] we discussed also have their limitations. The perfect storage mapping would allow variations in the number of array dimensions, while still capturing the directional and modular reuse of the occupancy vector and having an ecient implementation; it should also lend itself to ecient storage reuse ....
D. Wilde and S. Rajopadhye. Memory reuse analysis in the polyhedral model. Parallel Processing Letters, 7(2):203-215, June 1997.
....be used later. It therefore needs memory locations for all of these data. Of course, in order to optimize memory usage, one must not retain a memory location for a data after its last use. This memory location should be freed and allocated to another data used by the processor at that time step [WR97] For a problem with several dependences, there is an important degree of freedom in the choices of space time transformations and communication schemes. In order to determine a large spectrum of efficient solutions one should apply a heuristic that proposes various space time transformations ....
....The amount of memory we compute for a given processor is optimal: it corresponds to the minimum number of memory locations required and therefore relies on memory reuse. Hence, as soon as a data is no longer used by a processor, its memory location is released and allocated to another data. In [WR97] Wilde and Rajopadhye also deal with memory reuse based on lifetime information, but do not take advantage of the usage information (called usage table in their paper) to integrate broadcast communications. They define a memory allocation function which optimizes memory reuse, but do not give any ....
D. Wilde and S. Rajopadhye. Memory reuse analysis in the polyhedral model. Parallel Processing Letter, 7(2):203--215, 1997. 21
....per processor and the number of processors cooperating in the execution of the parallel loop is less than the number of iterations ( 9] 7] Lam [1] proposes to optimize array privatization with the help of the Data Flow Graph. Another solution has been proposed by the systolic community ( 3] [10]) Programs in this case are directly given in single assignment form. They try to create output dependences which don t invalidate the data flow by estimating the lifetime of each variable. It is interesting to notice that these techniques are similar to data localization methods ( 4] 11] ....
S. Rajopadhye and D. Wilde. Memory Reuse Analysis in the Polyhedral Model. In Boug'e, Fraignaud, Mignotte and Robert, editors, Euro-Par'96 Parallel Processing, Vol I, pages 389-397. Springer-Verlag, LNCS 1123, Aug 1996.
....the complete program. Recently, the requirement imposed by certain parallelizing compilers and regular array synthesis systems to write programs in single assignment form, which can lead to (heavily) increased storage requirements, has also attracted the attention of other researchers. In [15] and [16], the principle of memory reuse through projection of multi dimensional arrays is described. However, only a memory reuse analysis model is provided, together with a set of constraints that have to be satisfied, but no strategy for obtaining a good projection is presented. Moreover, memory reuse ....
....example, namely the 2D wavelet, we could not remove the overhead. Detailed inspection of the example revealed that for two arrays one of the dimensions could not be collapsed by our techniques due to a special access pattern. By extending our techniques with a projection approach as described in [16, 15], or by applying a loop transformation in advance, this overhead can be removed 7 As stated before, this is out of the question for realistic examples, as the control and address generation overhead would be too large. Even symbolic simulation as such is infeasible for larger applications, such ....
[Article contains additional citation context not shown here]
D. Wilde and S. Rajopadhye. Memory reuse analysis in the polyhedral model. In Proc. Euro-Par'96, Lyon, France, Aug. 1996.
....the complete program. Recently, the requirement imposed by certain parallelizing compilers and regular array synthesis systems to write programs in single assignment form, which can lead to (heavily) increased storage requirements, has also attracted the attention of other researchers. In [15] and [16] the principle of memory reuse through projection of multi dimensional arrays is described. However, only a memory reuse analysis model is provided, together with a set of constraints that have to be satisfied, but no strategy for obtaining a good projection is presented. Moreover, ....
....example, namely the 2D wavelet, we could not remove the overhead. Detailed inspection of the example revealed that for two arrays one of the dimensions could not be collapsed by our techniques due to a special access pattern. By extending our techniques with a projection approach as described in [16, 15], or by applying a loop transformation in advance, this overhead can be removed 7 As stated before, this is out of the question for realistic examples, as the control and address generation overhead would be too large. Even symbolic simulation as such is infeasible for larger applications, such ....
[Article contains additional citation context not shown here]
S. Rajopadhye and D. Wilde. Memory reuse analysis in the polyhedral model. In Dagstuhl Seminar on Loop Parallelization, Dagstuhl, Germany, Apr. 1996.
....nests. The problem of memory size minimization cannot be tackled by looking at individual loop nest though, and requires a strategy that takes a global view. The problem of large storage requirements for single assignment programs has also attracted the attention of other researchers. In [14] and [15], the principle of memory reuse through projection of multi dimensional arrays is described. However, only a memory reuse analysis model is provided, together with a set of necessary and sufficient constraints that have to be satisfied, but no strategy for obtaining a good projection is presented. ....
D. Wilde and S. Rajopadhye. Memory reuse analysis in the polyhedral model. In Proc. Euro-Par'96, Lyon, France, Aug. 1996.
....loop nests. The problem of memory size minimization cannot be tackled by looking at individual loop nest though, and requires a strategy that takes a global view. The problem of large storage requirements for single assignment programs has also attracted the attention of other researchers. In [14] and [15] the principle of memory reuse through projection of multi dimensional arrays is described. However, only a memory reuse analysis model is provided, together with a set of necessary and sufficient constraints that have to be satisfied, but no strategy for obtaining a good projection is ....
....the 2D wavelet al..gorithm, we could not remove the overhead. Detailed inspection of the example revealed that for two arrays one of the dimensions could not be collapsed with our techniques due to a special access pattern. By extending our techniques with a projection approach as described in [14], or by applying a loop transformation in advance, this overhead can be removed too, and this would result in a memory size of 1024 words for the best static approaches and 832 words for the dynamic approach (indicated between brackets) Apart from the single assignment overhead removal, the ....
[Article contains additional citation context not shown here]
S. Rajopadhye and D. Wilde. Memory reuse analysis in the polyhedral model. In Dagstuhl Seminar on Loop Parallelization, Dagstuhl, Germany, Apr. 1996.
....than general array expansion techniques in terms of parallelism extraction. De Greef and Catthoor have addressed the memory reuse problem for affine loop nests. They stop at the formulation of the constraints to be satisfied [22] Another solution has been proposed by the systolic community [56]. Programs in this case are directly given in single assignment form. They try to create output dependences which do not invalidate the data flow by estimating the lifetime of each variable. 6.4 Perspectives We have presented in this section two techniques for array expansion, addressing two ....
D. Wilde and S. Rajopadhye. Memory reuse analysis in the polyhedral model. In Mignotte Boug'e, Fraignaud and Robert, editors, Europar'96 Parallel Processing, pages 389--397. Springer Verlag, LNCS 1123, 1996.
....Related Work Many papers are devoted to the problem of eliminating false dependences. Some of them try to eliminate these dependences with a reduced memory cost. One can find many techniques which come from the automatic parallelization community ( 1] 2] 9] 12] or the systolic community ([13], 3] It is interesting to notice that these techniques are close to data localization methods ( 4] 14] Darte and al. 2] build upon results of Padua who introduced two graph transformations to eliminate false dependences [11] They give an unified framework for such transformation and prove ....
....iterations [12] Lam [1] Padua and Tu [12] propose to optimize array privatization with the help of the DFG. If one adapts their method to partial expansion, it consists in maintaining output dependences which duplicate flow dependences. The systolic community face to a dual problem to ours ( 3] [13]) Programs that are taken into account are given in single assignment form. They try to create output dependences which don t invalidate the data flow by estimating the lifetime of each variable. This work is the closest to our effort, it also uses the polytope model. 5 Conclusion We adressed ....
S. Rajopadhye and D. Wilde. Memory Reuse Analysis in the Polyhedral Model. In Boug'e, Fraignaud, Mignotte and Robert, editors, Euro-Par'96 Parallel Processing, Vol I, pages 389-397. Springer-Verlag, LNCS 1123, August 1996.
....Related Work Many papers are devoted to the problem of eliminating false dependences. Some of them try to eliminate these dependences with a reduced memory cost. One can find many techniques which come from the automatic parallelization community ( 1] 2] 9] 12] or the systolic community ([13], 3] It is interesting to notice that these techniques are close to datalocalization methods ( 4] 14] Most papers from the automatic parallelization community deal with array privatization. Privatization is a technique that allows each thread to allocate a variable in its private storage. ....
....[12] Lam [1] Padua and Tu [12] propose to optimize array privatization with the help of the DFG. If one adapts their method to partial expansion, it consists in maintaining output dependences which duplicate flow dependences. Another solution has been proposed by the systolic community ( 3] [13]) Programs that are taken into account are given in single assignment form. They try to create output dependences which don t invalidate the data flow by estimating the lifetime of each variable. Darte and al. 2] build upon results of Padua who introduced two graph transformations to eliminate ....
[Article contains additional citation context not shown here]
S. Rajopadhye and D. Wilde. Memory Reuse Analysis in the Polyhedral Model. In Boug'e, Fraignaud, Mignotte and Robert, editors, Euro-Par'96 Parallel Processing, Vol I, pages 389-397. Springer-Verlag, LNCS 1123, August 1996.
....that the problem of determining a minimal process of renaming is NP complete. Values Lifetime Analysis is a technique which comes from the systolic community. It takes into account single assignment form programs and try to generate output and antidependences without changing the dataflow( 2] [10]) 4 Minimal Memory Expansion With Respect to a Schedule Our method tries to maintain as many false dependences as possible from the original program to the parallel one. One takes into account the original data structures, the results given by data dependences and data flow analysis, the ....
S. Rajopadhye and D. Wilde. Memory Reuse Analysis in the Polyhedral Model. In Bouge, Fraignaud, Mignotte and Robert, editors, Euro-Par'96 Parallel Processing, Vol I, pages 389-397. Springer-Verlag, LNCS 1123, August 1996.
....are also possible in Crystal, but they require a special algebraic metalanguage and associated machinery. Alpha thus achieves simplicity and greater degree of automation by sacrificing generality. Wilde s PhD thesis deals with the problem of compiling Alpha to sequential or parallel machines [WR95, QRW95a, QRW95b, Wil95, WR96]. ....
D. Wilde and S. Rajopadhye. Memory reuse analysis in the polyhedral model. In EUROPAR 96: Parallel Processing Conference, pages 389--397, Lyon, France, August 1996. Springer Verlag.
No context found.
D. Wilde and S. Rajopadhye. Memory reuse analysis in the polyhedral model. Parallel Processing Letters, 7(2):203--215, June 1997. 11
No context found.
D.Wilde, S.Rajopadhye, "Memory reuse analysis in the polyhedral model", Proc. EuroPar Conf., Lyon, France, Aug. 1996.
No context found.
D. Wilde and S. Rajopadhye. Memory reuse analysis in the polyhedral model. Parallel Processing Letters, 7(2):203--215, June 1997. 67
No context found.
D. Wilde and S. Rajopadhye. Memory reuse analysis in the polyhedral model. Parallel Processing Letters, 7(2):203--215, June 1997. 11
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