| |
Abstract:
The execution order of a block of computer instructions can
make a difference in its running time by a factor of two or more.
In order to achieve the best possible speed, compilers use
heuristic schedulers appropriate to each specific architecture
implementation. However, these heuristic schedulers are
time-consuming and expensive to build. In this paper, we present
results using both rollouts and reinforcement learning to construct
heuristics for scheduling basic blocks. The rollout scheduler
outperformed a commercial scheduler, and the reinforcement learning
scheduler performed almost as well as the commercial
scheduler.
|