Abstract
This paper presents a new approach for extracting synchronization-free parallelism being represented by dependent statement instances of an arbitrarily nested loop. Presented algorithms can be applied to both uniform and non-uniform loops. The main advantage is that more synchronization-free parallelism may be extracted than that yielded by existing techniques. Our approach, based on operations on relations and sets, requires exact dependence analysis, such as the one by Pugh and Wonnacott, where dependences are found in the form of tuple relations. Results of experiments with the NAS benchmark are presented.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Allen, R., Kennedy, K.: Optimizing Compilers for Modern Architectures, p. 790. Morgan Kaufmann, San Francisco (2001)
Amarasinghe, S.P., Lam, M.S.: Communication optimization and code generation for distributed memory machines. In: Proceedings of the SIGPLAN 1993, pp. 126–138 (1993)
Ancourt, C., Irigoin, F.: Scanning polyhedra with do loops. In: Proc. of the Third ACM/SIGPLAN Symp. on Principles and Practice of Parallel Programming, pp. 39–50. ACM Press, New York (1991)
Banerjee, U.: Unimodular transformations of double loops. In: Proceedings of the Third Workshop on Languages and Compilers for Parallel Computing, pp. 192–219 (1990)
Bastoul, C., Cohen, A., Girbal, S., Sharma, S., Temam, O.: Putting polyhedral loop transformations to work. In: LCPC 16 Intern.l Workshop on Languages and Compilers for Parallel Computing. LNCS, vol. 2958, pp. 209–225. College Station (September 2003)
Bastoul, C.: Code Generation in the Polyhedral Model Is Easier Than You Think. In: Proceedings of the PACT 13 IEEE International Conference on Parallel Architecture and Compilation Techniques, Juan-les-Pins, pp. 7–16 (2004)
Beletska, A., Bielecki, W., San Pietro, P.: Extracting Synchronization-Free Slices of Operations in Perfectly-Nested Loops. In: Proceedings of PDCS 2007 (2007)
Boulet, P., Darte, A., Silber, G.A., Vivien, F.: Loop parallelization algorithms: from parallelism extraction to code generation. Parallel Computing 24, 421–444 (1998)
Cohen, A., Girbal, S., Temam, O.: A polyhedral approach to ease the composition of program transformations. In: Danelutto, M., Vanneschi, M., Laforenza, D. (eds.) Euro-Par 2004. LNCS, vol. 3149, pp. 292–303. Springer, Heidelberg (2004)
Darte, A., Robert, Y., Vivien, F.: Scheduling and Automatic Parallelization. Birkhäuser Boston (2000)
Feautrier, P.: Some efficient solutions to the affine scheduling problem, part i, one dimensional time. International Journal of Parallel Programming 21, 313–348 (1992)
Feautrier, P.: Some efficient solutions to the affine scheduling problem, part ii, multidimensional time. International Journal of Parallel Programming 21, 389–420 (1992)
Feautrier, P.: Toward automatic distribution. Journal of Parallel Processing Letters 4, 233–244 (1994)
Gavaldà, R., Ayguadé, E., Torres, J.: Obtaining Synchronization-Free Code with Maximum Parallelism, Technical Report LSI-96-23-R, Universitat Politècnica de Catalunya (1996)
Griebl, M., Lengauer, C.: Classifying Loops for Space-Time Mapping. In: Proceedings of the Euro-Par. LNCS, pp. 467–474. Springer, Heidelberg (1996)
Huang, C., Sadayappan, P.: Communication-free hyperplane partitioning of nested loops. Journal of Parallel and Distributed Computing 19, 90–102 (1993)
Kelly, W., Pugh, W., Rosser, E., Shpeisman, T.: Transitive Closure of Infinite Graphs and its Applications. International Journal of Parallel Programming 24(6), 579–598 (1996)
Kelly, W., Pugh, W.: Minimizing communication while preserving parallelism. In: Proc. of the 1996 ACM International Conference on Supercomputing, pp. 52–60 (1996)
Kelly, W., Maslov, V., Pugh, W., Rosser, E., Shpeisman, T., Wonnacott, D.: The omega library interface guide, Technical Report CS-TR-3445, University of Maryland (1995)
Lim, W., Lam, M.S.: Communication-free parallelization via affine transformations. In: Proc. of the 7th workshop on languages and compilers for parallel computing, pp. 92–106 (1994)
Lim, W., Cheong, G.I., Lam, M.S.: An affine partitioning algorithm to maximize parallelism and minimize communication. In: Proceedings of the 13th ACM SIGARCH International Conference on Supercomputing (1999)
Lim, W., Liao, S.W., Lam, M.: Blocking and Array Contraction Across Arbitrarily Nested Loops Using Affine Partitioning. In: Proceedings of ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (2001)
Pugh, W., Wonnacott, D.: Constraint-based array dependence analysis. ACM Trans. on Programming Languages and Systems (1998)
Pugh, W., Rosser, E.: Iteration Space Slicing and Its Application to Communication Optimization. In: Proc. of the International Conf. on Supercomputing, pp. 221–228 (1997)
Quillere, F., Rajopadhye, S., Wilde, D.: Generation of efficient nested loops from polyhedra. International Journal of Parallel Programming 28 (2000)
Weiser, M.: Program slices: formal, psychological, and practical investigations of an automatic program abstraction method, PhD thesis, University of Michigan, Ann Arbor, MI (1979)
Weiser, M.: Program Slicing. IEEE Transactions on Software Engineering SE-10(7), 352–357 (1984)
Wolf, M.E.: Improving locality and parallelism in nested loops, Ph.D. Dissertation CSL-TR-92-538, Stanford University, Dept. Computer Science (1992)
Vasilache, N., Bastoul, C., Cohen, A.: Polyhedral code generation in the real world. In: Proceedings of the International Conference on Compiler Construction (ETAPS CC 2006). LNCS, pp. 185–201. Springer, Vienna (2006)
Netlib Repository at UTK and ORNL, http://www.netlib.org/benchmark/livermorec
Author information
Authors and Affiliations
Editor information
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Beletska, A., Bielecki, W., Siedlecki, K., San Pietro, P. (2008). Finding Synchronization-Free Slices of Operations in Arbitrarily Nested Loops. In: Gervasi, O., Murgante, B., Laganà, A., Taniar, D., Mun, Y., Gavrilova, M.L. (eds) Computational Science and Its Applications – ICCSA 2008. ICCSA 2008. Lecture Notes in Computer Science, vol 5073. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69848-7_69
Download citation
DOI: https://doi.org/10.1007/978-3-540-69848-7_69
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-69840-1
Online ISBN: 978-3-540-69848-7
eBook Packages: Computer ScienceComputer Science (R0)