Results 1 - 10
of
5,823
The Impact of Loop Unrolling on Controller Delay in High Level Synthesis
"... Loop unrolling is a well-known compiler optimization that can lead to significant performance improvements. When used in High Level Synthesis (HLS) unrolling can affect the controller complexity and delay. We study the effect of the loop unrolling factor on the delay of controllers generated during ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Loop unrolling is a well-known compiler optimization that can lead to significant performance improvements. When used in High Level Synthesis (HLS) unrolling can affect the controller complexity and delay. We study the effect of the loop unrolling factor on the delay of controllers generated during
The program dependence graph and its use in optimization
- ACM Transactions on Programming Languages and Systems
, 1987
"... In this paper we present an intermediate program representation, called the program dependence graph (PDG), that makes explicit both the data and control dependence5 for each operation in a program. Data dependences have been used to represent only the relevant data flow relationships of a program. ..."
Abstract
-
Cited by 996 (3 self)
- Add to MetaCart
and data dependences. Program transformations that require interaction of the two dependence types can also be easily handled with our representation. As an example, an incremental approach to modifying data dependences resulting from branch deletion or loop unrolling is intro-duced. The PDG supports
A Data Locality Optimizing Algorithm
, 1991
"... This paper proposes an algorithm that improves the locality of a loop nest by transforming the code via interchange, reversal, skewing and tiling. The loop transformation algorithm is based on two concepts: a mathematical formulation of reuse and locality, and a loop transformation theory that unifi ..."
Abstract
-
Cited by 804 (16 self)
- Add to MetaCart
This paper proposes an algorithm that improves the locality of a loop nest by transforming the code via interchange, reversal, skewing and tiling. The loop transformation algorithm is based on two concepts: a mathematical formulation of reuse and locality, and a loop transformation theory
T Learning to Unroll Loops Optimally
"... Every few months new types of hardware are released. Compiler writers face the challenging task of keeping the compiler optimizations up-to-date with the latest in hardware technology. In this paper we apply machine learning techniques to predict the best unroll factors for loops, using GCC and the ..."
Abstract
- Add to MetaCart
Every few months new types of hardware are released. Compiler writers face the challenging task of keeping the compiler optimizations up-to-date with the latest in hardware technology. In this paper we apply machine learning techniques to predict the best unroll factors for loops, using GCC
Predicting unroll factors using supervised classification
- In Proceedings of International Symposium on Code Generation and Optimization (CGO
, 2005
"... Compilers base many critical decisions on abstracted architectural models. While recent research has shown that modeling is effective for some compiler problems, building accurate models requires a great deal of human time and effort. This paper describes how machine learning techniques can be lever ..."
Abstract
-
Cited by 70 (2 self)
- Add to MetaCart
factors (i.e., the amount by which to unroll a loop) for any novel loop. The technique correctly predicts the unroll factor for 65 % of the loops in our dataset, which leads to a 5% overall improvement for the SPEC 2000 benchmark suite (9 % for the SPEC 2000 floating point benchmarks). 1.
Optimal Unroll Factor for Reconfigurable Architectures
"... Abstract. Loops are an important source of optimization. In this paper, we address such optimizations for those cases when loops contain kernels mapped on reconfigurable fabric. We assume the Molen machine organization and Molen programming paradigm as our framework. The proposed algorithm computes ..."
Abstract
-
Cited by 7 (6 self)
- Add to MetaCart
the optimal unroll factor u for a loop that contains a hardware kernel K such that u instances of K run in parallel on the reconfigurable hardware, and the targeted balance between performance and resource usage is achieved. The parameters of the algorithm consist of profiling information about the execution
Combined Selection of Tile Sizes and Unroll Factors Using Iterative Compilation
, 2000
"... Loop tiling and unrolling are two important program transformations to exploit locality and expose instruction level parallelism, respectively. However, these transformations are not independent and each can adversely affect the goal of the other. Furthermore, the best combination will vary drama ..."
Abstract
-
Cited by 108 (9 self)
- Add to MetaCart
Loop tiling and unrolling are two important program transformations to exploit locality and expose instruction level parallelism, respectively. However, these transformations are not independent and each can adversely affect the goal of the other. Furthermore, the best combination will vary
Optimal Loop Unrolling and Shifting for Reconfigurable Architectures
, 2009
"... In this paper, 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 ..."
Abstract
-
Cited by 3 (3 self)
- Add to MetaCart
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 unroll factor and determines the most appropriate transformation (which can
Exact Memory Size Estimation for Array Computations without Loop Unrolling
- In Proceedings of the 36th Annual ACM/IEEE Design Automation Conference, DAC ’99
, 1999
"... This paper presents a new algorithm for exact estimation of the minimum memory size required by programs dealing with array computations. Memory size is an important factor a ecting area and power cost of memory units. For programs dealing mostly with array computations, memory cost is a dominant fa ..."
Abstract
-
Cited by 56 (0 self)
- Add to MetaCart
into an equivalent problem: integer point counting for intersection/union of mappings of parameterized polytopes. Then, a heuristics was proposed to solve the counting problem. Experimental results show that the algorithm achieves the exactness traditionally associated with totally-unrolling loops while exploiting
On-demand Multipath Distance Vector Routing in Ad Hoc Networks
- in Proceedings of IEEE International Conference on Network Protocols (ICNP
, 2001
"... We develop an on-demand, multipath distance vector protocol for mobile ad hoc networks. Specifically, we propose multipath extensions to a well-studied single path routing protocol known as Ad hoc On-demand Distance Vector (AODV). The resulting protocol is referred to as Ad hoc Ondemand Multipath Di ..."
Abstract
-
Cited by 360 (3 self)
- Add to MetaCart
Distance Vector (AOMDV). The protocol computes multiple loop-free and link-disjoint paths. Loopfreedom is guaranteed by using a notion of "advertised hopcount." Link-disjointness of multiple paths is achieved by using a particular property of flooding. Performance comparison of AOMDV with AODV
Results 1 - 10
of
5,823