Abstract
Parallel loops account for the greatest percentage of program parallelism. The degree to which parallelism can be exploited and the amount of overhead involved during parallel execution of a nested loop directly depend on partitioning, i.e., the way the different iterations of a parallel loop are distributed across different processors. Thus, partitioning of parallel loops is of key importance for high performance and efficient use of multiprocessor systems. Although a significant amount of work has been done in partitioning and scheduling of rectangular iteration spaces, the problem of partitioning of non-rectangular iteration spaces – e.g. triangular, trapezoidal iteration spaces – has not been given enough attention so far. In this paper, we present a geometric approach for partitioning N-dimensional non-rectangular iteration spaces for optimizing performance on parallel processor systems. Speedup measurements for kernels (loop nests) of linear algebra packages are presented.
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
Padua, D.A.: Multiprocessors: Discussion of theoritical and practical problems. Technical Report 79-990, Dept. of Computer Science, University of Illinois at Urbana-Champaign (November 1979)
Cytron, R.: Doacross: Beyond vectorization for multiprocessors. In: Proceedings of the 1986 International Conference on Parallel Processing, St. Charles, IL (August 1986)
Davies, J.: Parallel loop constructs for multiprocessors. Technical Report 81-1070, Dept. of Computer Science, University of Illinois at Urbana-Champaign (May 1981)
Polychronopoulos, C., Kuck, D.J., Padua, D.A.: Execution of parallel loops on parallel processor systems. In: Proceedings of the 1986 International Conference on Parallel Processing, August 1986, pp. 519–527 (1986)
D’Hollander, E.H.: Partitioning and labeling of loops by unimodular transformations. IEEE Trans. Parallel Distrib. Syst. 3(4), 465–476 (1992)
Mohammad, R.: Haghighat and Constantine D. Polychronopoulos. Symbolic analysis for parallelizing compilers. ACM Transactions on Programming Languages and Systems 18(4), 477–518 (1996)
Sakellariou, R.: On the Quest for Perfect Load Balance in Loop-Based Parallel Computations. PhD thesis, Department of Computer Science, University of Manchester (October 1996)
Banerjee, U.: Data dependence in ordinary programs. Master’s thesis, Dept. of Computer Science, University of Illinois at Urbana-Champaign (November 1976); Report No. 76-837
Burke, M., Cytron, R.: Interprocedural dependence analysis and parallelization. In: Proceedings of the SIGPLAN 1986 Symposium on Compiler Construction, Palo Alto, CA (June 1986)
Iyengar, M.K., Jain, S.R.K., Jain, R.K.: Numerical Methods for Scientific and Engineering Computation. John Wiley and Sons, Chichester (1985)
O’Boyle, M., Hedayat, G.A.: Load balancing of parallel affine loops by unimodular transformations. Technical Report UMCS-92-1-1, Department of Computer Science, University of Manchester (January 1992)
Banerjee, U.: Loop Transformation for Restructuring Compilers. Kluwer Academic Publishers, Boston (1993)
Pugh, W.: The Omega test: A fast and practical integer programming algorithm for dependence analysis. In: Proceedings of Supercomputing 1991, Albuquerque, NM (November 1991)
Clauss, P., Loechner, V.: Parametric analysis of polyhedral iteration spaces. In: IEEE (ed.) Int. Conf. on Application Specific Array Processors, Chicago, Illinois (August 1996)
Polychronopoulos, C.: Loop coalescing: A compiler transformation for parallel machines. In: Sahni, S. (ed.) Proceedings of the 1987 International Conference on Parallel Processing, August 1987. Pennsylvania State University Press (1987)
Carr, S.: Memory-Hierarchy Management. PhD thesis, Dept. of Computer Science, Rice University (September 1992)
Banerjee, U.: Loop Parallelization. Kluwer Academic Publishers, Boston (1994)
Lundstrom, S., Barnes, G.: A controllable MIMD architectures. In: Proceedings of the 1980 International Conference on Parallel Processing, St. Charles, IL (August 1980)
Kuck, D., et al.: The effects of program restructuring, algorithm change and architecture choice on program performance. In: Proceedings of the 1984 International Conference on Parallel Processing (August 1984)
Wolfe, M.J.: Optimizing Supercompilers for Supercomputers. The MIT Press, Cambridge (1989)
Anik, S., Hwu, W.W.: Executing nested parallel loops on shared-memory multiprocessors. In: Proceedings of the 1992 International Conference on Parallel Processing, Boca Raton, Florida, August 1992, ppIII. 241–244 (1992)
Wolfe, M.J.: High Performance Compilers for Parallel Computing. Addison-Wesley, Redwood City (1996)
Padua, D.A., Wolfe, M.J.: Advanced compiler optimizations for supercomputers. Communications of the ACM 29(12), 1184–1201 (1986)
Irigoin, F., Triolet, R.: Supernode partitioning. In: Proceedings of the Fifteenth Annual ACM Symposium on the Principles of Programming Languages, San Diego, CA (January 1988)
Kruskal, C.P., Weiss, A.: Allocating independent subtasks on parallel processors. IEEE Transactions on Software Engineering 11(10), 1001–1016 (1985)
Haghighat, M., Polychronopoulos, C.: Symbolic program analysis and optimization for parallelizing compilers. In: Proceedings of the Fifth Workshop on Languages and Compilers for Parallel Computing, New Haven, CT (August 1992)
Koziris, N., Papakonstantinou, G., Tsanakas, P.: Mapping nested loops onto distributed memory multiprocessors. In: International Conference on Parallel and Distributed Systems, December 1997, pp. 35–43 (1997)
Dion, M., Robert, Y.: Mapping affine loop nests: new results. In: HPCN Europe 1995, pp. 184–189 (1995)
Dion, M., Robert, Y.: Mapping affine loop nests. Parallel Computing 22(10), 1373–1397 (1996)
Matlab, http://www.mathworks.com
Weisstein, E.W.: Abel’s Impossibility Theorem. From MathWorld–A Wolfram Web Resource, http://mathworld.wolfram.com/AbelsImpossibilityTheorem.html
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kejariwal, A., D’Alberto, P., Nicolau, A., Polychronopoulos, C.D. (2005). A Geometric Approach for Partitioning N-Dimensional Non-rectangular Iteration Spaces. In: Eigenmann, R., Li, Z., Midkiff, S.P. (eds) Languages and Compilers for High Performance Computing. LCPC 2004. Lecture Notes in Computer Science, vol 3602. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11532378_9
Download citation
DOI: https://doi.org/10.1007/11532378_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-28009-5
Online ISBN: 978-3-540-31813-2
eBook Packages: Computer ScienceComputer Science (R0)