|Loop jamming!? firstname.lastname@example.org (1997-06-24)|
|Re: Loop jamming!? email@example.com (Steve Simmons) (1997-06-30)|
|Re: Loop jamming!? firstname.lastname@example.org (Joel Williamson) (1997-06-30)|
|Re: Loop jamming!? email@example.com (Sven) (1997-07-13)|
|Re: Loop jamming!? firstname.lastname@example.org (1997-07-16)|
|Re: Loop jamming!? email@example.com (Christopher Glaeser) (1997-07-18)|
|Re: Loop jamming!? firstname.lastname@example.org (Stanley Chow) (1997-07-21)|
|Re: Loop jamming!? email@example.com (Christopher Glaeser) (1997-07-22)|
|[8 later articles]|
|From:||"Steve Simmons" <firstname.lastname@example.org>|
|Date:||30 Jun 1997 22:52:07 -0400|
Loop jamming is very similar to loop unrolling; however, loop
unrolling unrolls the innermost loop in the nest where loop jamming
unrolls an outer loop in the nest and jams the next inner loop
FOR I= 1, 2
FOR J= 1, N
A(I, J) = B(I, J)
This is a perfect candidate for loop jamming because it can
take advantage of cache locality (assuming the elements in
the first dimension are contiguous).
The result of a loop unroll and jam is...
FOR J = 1, N
A(1, J) = B(1, J)
A(2, J) = B(2, J)
Note, this same optimization can be achieved by first
performing a loop interchange, and then a complete unroll.
However, this is one complete optimization.
Return to the
Search the comp.compilers archives again.