Show simple item record

dc.contributor.authorLarsen, Samuel
dc.contributor.authorWitchel, Emmett
dc.contributor.authorAmarasinghe, Saman P.
dc.date.accessioned2003-11-29T21:06:30Z
dc.date.available2003-11-29T21:06:30Z
dc.date.issued2003-01
dc.identifier.urihttp://hdl.handle.net/1721.1/3760
dc.description.abstractA static memory reference exhibits a unique property when its dynamic memory addresses are congruent with respect to some non-trivial modulus. Extraction of this congruence information at compile-time enables new classes of program optimization. In this paper, we present methods for forcing congruence among the dynamic addresses of a memory reference. We also introduce a compiler algorithm for detecting this property. Our transformations do not require interprocedural analysis and introduce almost no overhead. As a result, they can be incorporated into real compilation systems. On average, our transformations are able to achieve a five-fold increase in the number of congruent memory operations. We are then able to detect 95% of these references. This success is invaluable in providing performance gains in a variety of areas. When congruence information is incorporated into a vectorizing compiler, we can increase the performance of a G4 AltiVec processor up to a factor of two. Using the same methods, we are able to reduce energy consumption in a data cache by as much as 35%.en
dc.description.sponsorshipSingapore-MIT Alliance (SMA)en
dc.format.extent11417 bytes
dc.format.mimetypeapplication/pdf
dc.language.isoen_US
dc.relation.ispartofseriesComputer Science (CS);
dc.subjectmemory address congruenceen
dc.subjectvectorizing compileren
dc.subjectprogram optimizationen
dc.titleIncreasing and Detecting Memory Address Congruenceen
dc.typeArticleen


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record