Because of the increasing gap between the speeds of processors and main memories, compilers must enhance the locality of applications to achieve high performance. Loop fusion enhances locality by fusing loops that access similar sets of data. Typically, it is applied to loops at the same level after loop interchange, which first attains the best nesting order for each local loop nest. However, since loop interchange cannot foresee the overall optimization effect, it often selects the wrong loops to be placed outermost for fusion, achieving suboptimal performance globally. Building on traditional unimodular transformations on perfectly nested loops, we present a novel transformation, dependence hoisting, that effectively combines interchange...
In the past decade, processor speed has become signicantly faster than memory speed. Small, fast cac...
Fusion is one of the most important code transformations as it has the potential to substantially op...
Affine loop transformations have often been used for program optimization. Usually their focus lies ...
Over the past 20 years, increases in processor speed have dramatically outstripped performance incre...
Loop fusion improves data locality and reduces synchronization in data-parallel applications. Howeve...
Modern processors use memory hierarchy of several levels. Achieving high performance mandates the ef...
Abstract. Loop fusion is a program transformation that merges multi-ple loops into one. It is eectiv...
This work was also published as a Rice University thesis/dissertation: http://hdl.handle.net/1911/18...
Abstract: Loop fusion is recognized as an effective transformation for improving memory hierarchy pe...
A#ne loop transformations have often been used for program optimization. Usually their focus lies on...
Loop fusion is a reordering transformation that merges multiple loops into a single loop. It can inc...
The memory bandwidth largely determines the performance of embedded systems. However, very often com...
This thesis investigates compiler algorithms to transform program and data to utilize efficiently th...
In the past decade, processor speed has become significantly faster than memory speed. Small, fast c...
In this tutorial, we address the problem of restructuring a (possibly sequential) program to improve...
In the past decade, processor speed has become signicantly faster than memory speed. Small, fast cac...
Fusion is one of the most important code transformations as it has the potential to substantially op...
Affine loop transformations have often been used for program optimization. Usually their focus lies ...
Over the past 20 years, increases in processor speed have dramatically outstripped performance incre...
Loop fusion improves data locality and reduces synchronization in data-parallel applications. Howeve...
Modern processors use memory hierarchy of several levels. Achieving high performance mandates the ef...
Abstract. Loop fusion is a program transformation that merges multi-ple loops into one. It is eectiv...
This work was also published as a Rice University thesis/dissertation: http://hdl.handle.net/1911/18...
Abstract: Loop fusion is recognized as an effective transformation for improving memory hierarchy pe...
A#ne loop transformations have often been used for program optimization. Usually their focus lies on...
Loop fusion is a reordering transformation that merges multiple loops into a single loop. It can inc...
The memory bandwidth largely determines the performance of embedded systems. However, very often com...
This thesis investigates compiler algorithms to transform program and data to utilize efficiently th...
In the past decade, processor speed has become significantly faster than memory speed. Small, fast c...
In this tutorial, we address the problem of restructuring a (possibly sequential) program to improve...
In the past decade, processor speed has become signicantly faster than memory speed. Small, fast cac...
Fusion is one of the most important code transformations as it has the potential to substantially op...
Affine loop transformations have often been used for program optimization. Usually their focus lies ...