2009
DOI: 10.1145/1575779.1575785
|View full text |Cite
|
Sign up to set email alerts
|

Optimal Loop Unrolling and Shifting for Reconfigurable Architectures

Abstract: In this article, we present a new technique for optimizing loops that contain kernels mapped on a reconfigurable fabric. We assume the Molen machine organization as our framework. We propose combining loop unrolling with loop shifting, which is used to relocate the function calls contained in the loop body such that in every iteration of the transformed loop, software functions (running on GPP) execute in parallel with multiple instances of the kernel (running on FPGA). The algorithm computes the optimal unrol… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
5
0

Year Published

2009
2009
2024
2024

Publication Types

Select...
4
2
1

Relationship

0
7

Authors

Journals

citations
Cited by 9 publications
(7 citation statements)
references
References 13 publications
0
5
0
Order By: Relevance
“…Loop unrolling, also known as loop unwinding, is a well-known compiler optimization that can lead to signi cant performance improvements [23] . The effects of loop unrolling on CPU programs have been understood and described extensively in past work [24,25,26] . A typical 1X1 Loop unrolling and 2X1 Loop unrolling instruction execution sequence is illustrated in Fig.…”
Section: Loop Unrolling Mechanismmentioning
confidence: 99%
“…Loop unrolling, also known as loop unwinding, is a well-known compiler optimization that can lead to signi cant performance improvements [23] . The effects of loop unrolling on CPU programs have been understood and described extensively in past work [24,25,26] . A typical 1X1 Loop unrolling and 2X1 Loop unrolling instruction execution sequence is illustrated in Fig.…”
Section: Loop Unrolling Mechanismmentioning
confidence: 99%
“…Loop division on multiple smaller loops is proved to be appropriate when using performance aware devices such as FPGAs [27]. Since the loop unrolling method is not the only one, Dragomir et al [28] propose a combined technique (loop unrolling and loop shifting) in order to relocate the function calls for kernel based reconfigurable FPGAs.…”
Section: Loop Unrolling In Hardware Solutionsmentioning
confidence: 99%
“…The work in [9] focuses on simple kernel loops containing only one hardware kernel that would be accelerated on the FPGA and some software code that will always execute on the GPP. For this kind of loops, the authors proposed algorithms based on loop unrolling and loop shifting with the purpose of maximizing parallelization and performance.…”
Section: Motivationmentioning
confidence: 99%
“…In the case of loop shifting, only the first and the last kernels in the K-loop will execute concurrently with their pre-or post-software functions. It is proven in [9] that it is always beneficial to apply loop shifting wherever the data constraints allow it. This means that performance can be further improved if loop shifting is applied on smaller K-loops.…”
Section: Motivationmentioning
confidence: 99%
See 1 more Smart Citation