Schedule-driven loop unrolling for parallel processors
Hesham El‐Rewini, Tyree Lewis
Abstract
Hesham El‐Rewini, Tyree Lewis
Abstract
A discussion is given on the problem of scheduling parallel program tasks that are enclosed in a set of nested loops on parallel computers. The authors introduce a representation of the tasks and their relations in a loop. The representation allows them to express loop-carried data dependences among tasks as well as loop information that cannot be represented using ordinary task graphs. They also introduce a new technique for scheduling unrolled loops onto arbitrary target machines. The technique allows several iterations of a set of loops as well as tasks within the same iteration to overlap in execution in a way that minimizes the loop completion time. They use local neighborhood search and simulated annealing optimization methods to find the best way to unroll a set of nested loops. The goal is to find which loops to unroll and for how many times and the schedule of the tasks in the post-unrolling loop on the available processors.>
OpenAlex reports 1 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
A discussion is given on the problem of scheduling parallel program tasks that are enclosed in a set of nested loops on parallel computers. The authors introduce a representation of the tasks and their relations in a loop. The representation allows them to express loop-carried data dependences among tasks as well as loop information that cannot be represented using ordinary task graphs. They also introduce a new technique for scheduling unrolled loops onto arbitrary target machines. The technique allows several iterations of a set of loops as well as tasks within the same iteration to overlap in execution in a way that minimizes the loop completion time. They use local neighborhood search and simulated annealing optimization methods to find the best way to unroll a set of nested loops. The goal is to find which loops to unroll and for how many times and the schedule of the tasks in the post-unrolling loop on the available processors.>
Key concepts: Loop unrolling, Computer science, Nested loop join, Loop fusion, Parallel computing, Loop (graph theory), Scheduling (production processes), Loop fission