Return to search

Explicitly Staged Software Pipelining

<p> Software Pipelining is a method of instruction scheduling where loops
are scheduled more efficiently by executing operations from more than one
iteration of the loop in parallel. Finding an optimal software pipelined schedule
is NP-complete, but many heuristic algorithms exist. </p> In iteration i, a software pipelined loop will execute, in parallel, "stage" 1 of iteration i, stage 2 of iteration i- 1 and so on until stage k of iteration i-k+l. </p> <p> We present a new approach to software pipelining based on using a hemistic algorithm to explicitly assign each operation to its stage before the actual scheduling. </p> <p> This explicit assignment allows us to implement control flow mechanisms that are hard to implement with traditional methods of software pipelining, which do not give us direct control over what stages instructions are assigned to. </p> / Thesis / Master of Science (MSc)

Identiferoai:union.ndltd.org:mcmaster.ca/oai:macsphere.mcmaster.ca:11375/20357
Date08 1900
CreatorsThaller, Wolfgang
ContributorsAnand, Christopher, Kahl, Wolfram, Computing and Software
Source SetsMcMaster University
LanguageEnglish
Detected LanguageEnglish

Page generated in 0.0023 seconds