Sciweavers

CGO
2003
IEEE

Optimizing Memory Accesses For Spatial Computation

13 years 10 months ago
Optimizing Memory Accesses For Spatial Computation
In this paper we present the internal representation and optimizations used by the CASH compiler for improving the memory parallelism of pointer-based programs. CASH uses an SSA-based representation for memory, which compactly summarizes both control-flow- and dependence information. In CASH, memory optimization is a four-step process: (1) first an initial, relatively coarse, representation of memory dependences is built; (2) next, unnecessary memory dependences are removed using dependence tests; (3) third, redundant memory operations are removed (4) finally, parallelism is increased by pipelining memory accesses in loops. While the first three steps above are very general, the loop pipelining transformations are particularly applicable for spatial computation, which is the primary target of CASH. The redundant memory removal optimizations presented are: load/store hoisting (subsuming partial redundancy elimination and common-subexpression elimination), load-after-store removal, ...
Mihai Budiu, Seth Copen Goldstein
Added 04 Jul 2010
Updated 04 Jul 2010
Type Conference
Year 2003
Where CGO
Authors Mihai Budiu, Seth Copen Goldstein
Comments (0)