Petri Net versus Modulo Scheduling for Software Pipelining
V.H. Allan, U.R. Shah, K.M. Reddy
Abstract
Software pipelining is a technique that reforms the loop to improve
execution time. Iterations are executed in overlapped fashion to
increase parallelism.
Software pipelining is performed by two different methods. Modulo
scheduling places each operation so that the schedule is legal when
replicated and offset by a target initiation interval. This process is
repeated with larger initiation intervals until success is achieved.
Kernel recognition methods schedule operations as rapidly as possible
until a pattern is recognized. These two distinctly different methods
have various strengths and weaknesses. This paper explores the benefits
and drawbacks of each.
Keywords
software pipelining, modulo scheduling, petri net scheduling
Talk
Overheads (173168 bytes)