2002 · 37 citations · 25 references
ComputingComputer EngineeringComputer ScienceAlgorithmsCompilersComputer ArchitectureAlgorithm AnalysisData-flow AnalysisInstruction SchedulingInstruction Set ArchitecturePerformance OptimizationCompiler DesignCompiler SupportEmpirical EvaluationHardware ResourcesModulo SchedulingPipeliningScheduling AlgorithmsSoftware Pipelining
An empirical study of the importance of an architectural support, referred to as predicted execution, for the effectiveness of software pipelining is presented. In particular, the analysis is designed to help future microprocessor designers to determine whether predicated execution support is worthwhile given their own estimation of the increased hardware cost. To perform an in-depth analysis, the authors focus on Rau's modulo scheduling algorithm for software pipelining. Three versions of the modulo scheduling algorithm, one with and two without predicated execution support, were implemented in a prototype compiler. Experiments based on important loops from numeric applications showed that predicated execution support substantially improved the effectiveness of the modulo scheduling algorithm.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">></ETX>
25
Monica S. Lam · ACM SIGPLAN Notices · 2004 · 890 citations
Conversion of control dependence to data dependence
John R. Allen, Ken Kennedy, Carrie Porterfield et al. · 1983 · 605 citations
B. Ramakrishna Rau, C. D. Glaeser · ACM SIGMICRO newsletter/SIGMICRO newsletter/SIGMICRO, TCMICRO newsletter · 1981 · 455 citations · Full text
The Cydra 5 departmental supercomputer: design philosophies, decisions, and trade-offs
B. Ramakrishna Rau, David W. L. Yen, Wei Yen et al. · Computer · 1989 · 355 citations