Related articles |
---|
[8 earlier articles] |
Re: Software Pipelining plfriko@yahoo.de (Tim Frink) (2008-09-16) |
Re: Software Pipelining plfriko@yahoo.de (Tim Frink) (2008-09-16) |
Re: Software Pipelining pertti.kellomaki@tut.fi (Pertti Kellomaki) (2008-09-17) |
Re: Software Pipelining cdg@nullstone.com (Christopher Glaeser) (2008-09-21) |
Re: Software Pipelining armelasselin@hotmail.com (Armel) (2008-09-24) |
Software pipelining napi@rangkom.MY (1991-07-04) |
Re: Software pipelining pardo@gar.cs.washington.edu (1991-07-19) |
Newsgroups: | comp.compilers |
From: | pardo@gar.cs.washington.edu (David Keppel) |
Keywords: | optimize, architecture |
Organization: | Computer Science & Engineering, U. of Washington, Seattle |
References: | 91-07-027 |
Date: | Fri, 19 Jul 91 18:23:52 GMT |
napi@rangkom.MY (Mohd Hanafiah Abdullah) writes:
>[What is "software pipelining"?]
Roughly, it's moving long-latency operations for iteration |i| to a
previous (different) iteration so that the operation has longer to
complete.
loop
t = load variable[i]
++t
store variable[i] <- t
adjust i, check 1..N
end loop
becomes
t = prologue
loop
t' = load variable[i+1]
++t
store variable[i] <- t
adjust i, check 1..N-1
t = t'
end loop
epilogue for N case
Software pipelining is often more profitable when used with e.g.,
unrolling. In the above, unrolling the piplined version by two could
eliminate the assignment |t = t'| by renaming.
;-D on ( Software patent-lining ) Pardo
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.