The list scheduling algorithm is a popular scheduling engine used in most, if not all, industrial instruction schedulers. However this technique has several drawbacks, especially in the context of modulo scheduling. One such problem is the need to restart scheduling from scratch whenever scheduling fails at the current value of the initiation interval. Another problem of list scheduling is that the order in which the instructions are selected for scheduling is constrained to be a topological sort of the scheduling graph, minus the loop-carried dependencies. We present a new instruction scheduling technique, suitable for block scheduling and modulo scheduling, which addresses these restrictions, while allowing efficient implementations. The technique is fully implemented, as part of a software pipeliner we developed for an experimental version of the Cray T3D TM cft77 Fortran compiler.
CITATION STYLE
De Dinechin, B. D. (1996). Insertion scheduling: An alternative to list scheduling for modulo schedulers. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 1033, pp. 31–45). Springer Verlag. https://doi.org/10.1007/bfb0014190
Mendeley helps you to discover research relevant for your work.