Synonyms
Definition
Parallel code generation is the action of building a parallel code from an input sequential code according to some scheduling and placement information. Scheduling specifies the desired order of the statement instances with respect to each other in the target code. Placement specifies the desired target processor for each statement instance.
Discussion
Introduction
Exhibiting parallelism in a sequential code may require complex sequences of transformations. When they come from an expert in program optimization, they are usually expressed by way of directives like tile or fuse or skew. When they come from a compiler, they are typically formulated as functions that map every execution of every statement of the program in “time” (scheduling), to order them in a convenient way, and in “space” (placement), to distribute them among various processors.
Parallel code generation is the step in any program restructuring tool or parallelizing compiler that...
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsBibliography
Ancourt C, Irigoin F (1991) Scanning polyhedra with DO loops. In: 3rd ACM SIGPLAN symposium on principles and practice of parallel programming, Cologne, Germany, pp 39–50
Bastoul C (2004) Code generation in the polyhedral model is easier than you think. In: IEEE international conference on parallel architectures and compilation techniques (PACT’04), Juan-les-Pins, pp 7–16
Boulet P, Feautrier P (1998) Scanning polyhedra without do-loops. In: IEEE international conference on parallel architectures and compilation techniques (PACT’98), Paris, France, pp 4–11
Feautrier P (1992) Some efficient solutions to the affine scheduling problem, part II: multidimensional time. Int J Parallel Program 21(6):389–420
Griebl M, Lengauer C, Wetzel S (1998) Code generation in the polytope model. In: Proceedings of the international conference on parallel architectures and compilation techniques (PACT’98), pp 106–111
Größlinger A (2009) The challenges of non-linear parameters and variables in automatic loop parallelisation. Doctoral thesis, Fakultät für Informatik und Mathematik, Universität Passau
Kelly W, Maslov V, Pugh W, Rosser E, Shpeisman T, Wonnacott D (1996) The Omega library. Technical report, University of Maryland
Kelly W, Pugh W (1993) A framework for unifying reordering transformations. Technical Report UMIACS-TR-92-126.1, University of Maryland Institute for Advanced Computer Studies
Kelly W, Pugh W, Rosser E (1995) Code generation for multiple mappings. In: Frontiers’95 Symposium on the frontiers of massively parallel computation, McLean, VA
Le Fur M (1996) Scanning parameterized polyhedron using Fourier-Motzkin elimination. Concurrency – Pract Exp 8(6):445–460
Le Verge H (1995) Recurrences on lattice polyhedra and their applications, April 1995. Unpublished work based on a manuscript written by H. Le Verge just before his untimely death in 1994
Le Verge H, Van Dongen V, Wilde D (1994) Loop nest synthesis using the polyhedral library. Technical Report 830, IRISA
Li W, Pingali K (1994) A singular loop transformation framework based on non-singular matrices. Int J Parallel Program 22(2):183–205
Quilleré F, Rajopadhye S, Wilde D (2000) Generation of efficient nested loops from polyhedra. Int J Parallel Program 28(5): 469–498
Schrijver A (1986) Theory of linear and integer programming. Wiley, New York
Vasilache N, Bastoul C, Cohen A (2006) Polyhedral code generation in the real world. In: Proceedings of the international conference on compiler construction (ETAPS CC’06), LNCS 3923, Vienna, Austria, pp 185–201
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer Science+Business Media, LLC
About this entry
Cite this entry
Bastoul, C. (2011). Code Generation. In: Padua, D. (eds) Encyclopedia of Parallel Computing. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-09766-4_67
Download citation
DOI: https://doi.org/10.1007/978-0-387-09766-4_67
Publisher Name: Springer, Boston, MA
Print ISBN: 978-0-387-09765-7
Online ISBN: 978-0-387-09766-4
eBook Packages: Computer ScienceReference Module Computer Science and Engineering