Skip to Main Content
A modular strategy for scheduling iterative computations is proposed. An iterative computation is represented using a cyclic task-graph. The cyclic task-graph is transformed into an acyclic task-graph. This acyclic task-graph is subsequently scheduled using one of the many well-known and high-quality static scheduling strategies from the literature. Graph unfolding is not employed and the generated schedules therefore require less memory than schedules generated through graph unfolding. Further, the number of iterations does not need to be known at compile-time. The effectiveness of the approach is compared to other methods including a graph unfolding strategy. We experimentally quantify how the task transformation affects the make-span of the schedules.