Abstract
Algorithms are presented for extracting synchronization-free parallelism available in arbitrarily nested parameterized loops. The parallelism is represented with synchronization-free trees of dependent operations. Sets representing trees can be described with non-linear expressions. The main idea is to firstly extract sources of synchronization-free trees and next to generate parallel code based on a while loop. Experimental results are presented exposing speed-up and efficiency of parallel programs written in the OpenMP standard on the basis of code generated by the algorithms proposed.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Allen, R., Kennedy, K.: Optimizing Compilers for Modern Architectures, p. 790. Morgan Kaufmann, San Francisco (2001)
Banerjee, U.: Unimodular transformations of double loops. In: Proceedings of the Third Workshop on Languages and Compilers for Parallel Computing, pp. 192–219 (1990)
Feautrier, P.: Toward automatic distribution. Journal of Parallel Processing Letters 4, 233–244 (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)
Darte, A., Robert, Y., Vivien, F.: Scheduling and Automatic Parallelization, Birkhäuser Boston (2000)
Pugh, W., Wonnacott, D.: Constraint-based array dependence analysis. ACM Trans. on Programming Languages and Systems (1998)
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)
Pugh, W., Rosser, E.: Iteration Space Slicing and Its Application to Communication Optimization. In: Proceedings of the International Conference on Supercomputing, pp. 221–228 (1997)
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., Maslov, V., Pugh, W., Rosser, E., Shpeisman, T., Wonnacott, D.: The omega library interface guide, Technical Report CS-TR-3445, University of Maryland (1995)
Ancourt, C., Irigoin, F.: Scanning polyhedra with do loops. In: Proceedings of the Third ACM/SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 39–50. ACM Press, New York (1991)
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)
Boulet, P., Darte, A., Silber, G.A., Vivien, F.: Loop parallelization algorithms: from parallelism extraction to code generation. Parallel Computing 24, 421–444 (1998)
Quillere, F., Rajopadhye, S., Wilde, D.: Generation of efficient nested loops from polyhedra. International Journal of Parallel Programming 28 (2000)
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, Austria (2006)
Gupta, G., DaeGon, Kim, Sanjay, Rajopadhye, V.: Scheduling in the Z-Polyhedral Model. In: Proceedings of IPDPS 2007 (2007)
Lim, W., Lam, M.S.: Communication-free parallelization via affine transformations. In: Proceedings of the Seventh workshop on languages and compilers for parallel computing, pp. 92–106 (1994)
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)
Beletskyy, V., Siedlecki, K.: Finding Free Schedules for Non-uniform Loops. In: Kosch, H., Böszörményi, L., Hellwagner, H. (eds.) Euro-Par 2003. LNCS, vol. 2790, pp. 297–302. Springer, Heidelberg (2003)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bielecki, W., Beletska, A., Palkowski, M., San Pietro, P. (2008). Finding Synchronization-Free Parallelism Represented with Trees of Dependent Operations. In: Bourgeois, A.G., Zheng, S.Q. (eds) Algorithms and Architectures for Parallel Processing. ICA3PP 2008. Lecture Notes in Computer Science, vol 5022. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69501-1_20
Download citation
DOI: https://doi.org/10.1007/978-3-540-69501-1_20
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-69500-4
Online ISBN: 978-3-540-69501-1
eBook Packages: Computer ScienceComputer Science (R0)