Software Data Prefetching for Software Pipelined Loops
✍ Scribed by Jesús Sánchez; Antonio González
- Publisher
- Elsevier Science
- Year
- 1999
- Tongue
- English
- Weight
- 436 KB
- Volume
- 58
- Category
- Article
- ISSN
- 0743-7315
No coin nor oath required. For personal study only.
✦ Synopsis
This paper focuses on the interaction between software prefetching (both binding and nonbinding prefetch) and software pipelining for statically scheduled machines. First, it is shown that evaluating software pipelined schedules without considering memory effects can be rather inaccurate due to stalls caused by dependences with memory instructions (even if a lockup-free cache is considered). It is also shown that the penalty of the stalls is in general higher than the effect of spill code. Second, we show that, in general, binding schemes are more powerful than nonbinding ones for software pipelined schedules. Finally, the main contribution of this paper is an heuristic scheme that schedules some memory operations according to the locality estimated at compile time and other attributes of the dependence graph. The proposed scheme is shown to outperform other heuristic approaches since it achieves a better trade-off between compute and stall time than the others.
📜 SIMILAR VOLUMES
A considerable part of program execution time is consumed by loops, so that loop optimization is highly effective especially for the innermost loops of a program. Software pipelining and loop unrolling are known methods for loop optimization. Software pipelining is advantageous in that the code beco
This paper presents the design and implementation of a data compression scheme that can be used for PC software distribution. The method utilizes a lazy parsing strategy and a large slidingwindow to obtain good compression ratio. A large window is used to read in characters from a file and a suffix
The tools needed for analysis and visualization of three-dimensional human brain functional magnetic resonance image results are outlined, covering the processing categories of data storage, interactive vs batch mode operations, visualization, spatial normalization (Talairach coordinates, etc.), ana