Transformando Laços Seqüenciais em Laços Paralelos com Atribuição Única Durante a Execução
Abstract
Inner loops are a major source of parallelism in programs. Parallelism exploitation in such loops requires data dependence analysis for the insertion of proper synchronization to enforce correct execution. Motivated by the difficulty and defficiency of current reestructuring compilers, on the detection and insertion of synchronization primitives, this work proposes a new parallelization and synchronization scheme that eliminate a anti- and ouput-dependences at execution time, resulting in single-assignment loops. The remaining flow-dependences are enforced by a proper synchronization primitive (flowbit), that does not require data dependence and distance computation for correct synchronization of single-assignment programs.
References
Alfred V. Aho, Ravi Sethi e Jeffrey D. Ullmann, Compilers Principles, Techniques and Tools, Addison Wesley, 1986
Eduardo Voigt, Paralelismo e Sincronização em Laços, Dissertação de Mestrado, UNICAMP, 1991
Burton Smith, The Architecture of the HEP, Parallel MIMD Computation: The HEP Supercomputer and its Applications, MIT Press, 1985.
Peiyi Tang, Pen-Chung Yew e Chuan-Qi Zhu, Compilers Techniques for Data Synchronization in Nested Parallel Loops, ACM International Conference on Supercomputing, 1990
V.P Krothapalli e P.Sadayappan, An Approach to Synchronization for Parallel Computing, Proceedings of ACM International Conference on Supercomputing, 1988
Z. Shen, Z. Li e Pen-Chung Yew, An Empirical Study of FORTRAN Programs for Parallelizing Compilers, IEEE Transactions on Parallel and Distributed Computers, 1, 3, 1990
Allan Gottlieb et al., The NYU Ultracomputer, Designing an MIMD Shared Memory Parallel Computer, IEEE Transactions on Computers, C-32, 2, 1983
Eduardo Voigt, CP, Um Simulador de Paralelismo. Manual do Usuário, Documento Interno, Instituto de Estudos Avançados (IEAv), CTA, novembro 1990
