Our system is currently under heavy load due to increased usage. We're actively working on upgrades to improve performance. Thank you for your patience.
2002
DOI: 10.1145/567097.567101
|View full text |Cite
|
Sign up to set email alerts
|

Register tiling in nonrectangular iteration spaces

Abstract: Loop tiling is a well-known loop transformation generally used to expose coarse-grain parallelism and to exploit data reuse at the cache level. Tiling can also be used to exploit data reuse at the register level and to improve a program's ILP. However, previous proposals in the literature (as well as commercial compilers) are only able to perform multidimensional tiling for the register level when the iteration space is rectangular. In this article we present a new general algorithm to perform multidimensional… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
20
0

Year Published

2003
2003
2016
2016

Publication Types

Select...
5
3
1

Relationship

0
9

Authors

Journals

citations
Cited by 30 publications
(20 citation statements)
references
References 36 publications
(79 reference statements)
0
20
0
Order By: Relevance
“…We perform only additions; signed digits will implicitly distinguish between addition and subtraction. The technique we use is an instance of register tilinga computation method that groups the operands, loads them into machine registers, and operates on the operands without referencing the memory [2,14]. We call our method tile method.…”
Section: The Tile Methodsmentioning
confidence: 99%
See 1 more Smart Citation
“…We perform only additions; signed digits will implicitly distinguish between addition and subtraction. The technique we use is an instance of register tilinga computation method that groups the operands, loads them into machine registers, and operates on the operands without referencing the memory [2,14]. We call our method tile method.…”
Section: The Tile Methodsmentioning
confidence: 99%
“…The introduction of signed digits, suspended normalization, radix reduction, and delayed carry propagation enables our algorithm to take advantage of the technique of register tiling which is commonly used by optimizing compilers [2,14]. While our algorithm is written in a high-level language, it depends on several parameters that can be tuned to the underlying architecture.…”
Section: Indeed If B(x) = A(ax) and C(x) = B(x + 1) And D(x) = C(x/amentioning
confidence: 99%
“…The proposed method can process imperfect loops and even use the feedback information at run time to tune related parameters. Fine grained tiling can obtain more parallelism, such as Jimenez et al [32] proposed a multidimensional tiling approach, which includes four phases: 1) iteration space tiling, 2) index set splitting, 3) unrolling phase, 4) scalar replacement. Among them, scalar replacement is to remove unnecessary load and store operations, which realizes the optimization of registers.…”
Section: Code Generationmentioning
confidence: 99%
“…In our previous work [2,3], we have presented a method of array reallocation by buffers which reduces significantly the number of cache misses. In this paper, we combine this method with register allocation [15,16]. To achieve this goal, we initially compute for each array the memory volume of live data and then replace that array by one or several buffers.…”
Section: Introductionmentioning
confidence: 99%