1996
DOI: 10.1145/233561.233564
|View full text |Cite
|
Sign up to set email alerts
|

Improving data locality with loop transformations

Abstract: In the past decade, processor speed has become significantly faster than memory speed. Small, fast cache memories are designed to overcome this discrepancy, but they are only effective when programs exhibit data locality. In this article, we present compiler optimizations to improve data locality based on a simple yet accurate cost model. The model computes both temporal and spatial reuse of cache lines to find desirable loop organizations. The cost model drives the application of compound transformations cons… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
302
0
2

Year Published

1999
1999
2018
2018

Publication Types

Select...
6
1

Relationship

0
7

Authors

Journals

citations
Cited by 412 publications
(304 citation statements)
references
References 23 publications
0
302
0
2
Order By: Relevance
“…In a real-time embedded system development, a key part in determining system performance is related to memory access latency [6] [7]. In design step, this problem can be changed by hardware, but it is not easy to improve the memory system performance at the time when the hardware part development is completed.…”
Section: Resultsmentioning
confidence: 99%
“…In a real-time embedded system development, a key part in determining system performance is related to memory access latency [6] [7]. In design step, this problem can be changed by hardware, but it is not easy to improve the memory system performance at the time when the hardware part development is completed.…”
Section: Resultsmentioning
confidence: 99%
“…Since loops are prevalent in multimedia processing, digital signal processing, etc., loop transformations such as loop fusion, loop distribution are needed to optimize the execution of the loops in embedded DSP applications [8,[1][2][3]5].…”
Section: Introductionmentioning
confidence: 99%
“…Loop distribution separates independent statements inside a single loop (or loop nest) into multiple loops (or loop nests) [8,1,3,2,5]. Loop distribution can be used to break up a large loop that doesn't fit into the cache [2,3,8,1].…”
Section: Introductionmentioning
confidence: 99%
See 2 more Smart Citations