The Community for Technology Leaders
Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO) (2003)
San Francisco, California
Mar. 23, 2003 to Mar. 26, 2003
ISBN: 0-7695-1913-X
pp: 169
Scott A. Mahlke , University of Michigan
Edward S. Davidson , University of Michigan
Hsien-Hsin S. Lee , Georgia Institute of Technology
Mikhail Smelyanskiy , University of Michigan
Predicated execution enables the removal of branches wherein segments of branching code are converted into straight-line segments of conditional operations. An important, but generally ignored side effect of this transformation is that the compiler must assign distinct resources to all the predicated operations at a given time to ensure that those resources are available at run-time. However, a resource is only put to productive use when the predicates associated with its operations evaluate to True. We propose predicate-aware scheduling to reduce the superfluous commitment of resources to operations whose predicates evaluate to False at run-time. The central idea is to assign multiple operations to the same resource at the same time, thereby oversubscribing its use. This assignment is intelligently performed to ensure that no two operations simultaneously assigned to the same resource will have both of their predicates evaluate to True. Thus, no resource is dynamically oversubscribed. The overall effect of predicate aware scheduling is to use resources more efficiently, thereby increasing performance when resource constraints are a bottleneck.
instruction scheduling, predicate analysis, predicated execution, resource utilization, software pipelining, VLIW processor
Scott A. Mahlke, Edward S. Davidson, Hsien-Hsin S. Lee, Mikhail Smelyanskiy, "Predicate-Aware Scheduling: A Technique for Reducing Resource Constraints", Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), vol. 00, no. , pp. 169, 2003, doi:10.1109/CGO.2003.1191543
117 ms
(Ver 3.3 (11022016))