Stride-profile guided prefetching for irregular code
OwnerYoufeng Wu, Mauricio Serranoinventors
Life of this patent
Estimating the term…
Abstract
A compiler technique uses profile feedback to determine stride values for memory references, allowing prefetching of instructions for those loads that can be effectively prefetched. The compiler first identifies a set of loads, and instruments the loads to profile the difference between the successive load addresses in the current iteration and in the previous iteration. The frequency of stride difference is also profiled to allow the compiler to insert prefetching instructions for loads with near-constant strides. The compiler employs code analysis to determine the best prefetching distance, to reduce the profiling cost, and to reduce the prefetching overhead.
Claims21
A method comprising:
- analyzing a stride profile, and
- inserting a prefetch instruction immediately before a load instruction using stride profiling information.
An article comprising a computer-readable medium which stores computer-executable instructions, the instructions causing a computer to:
- analyze a stride profile for code;
- insert a prefetch instruction immediately before a load instruction using stride profiling information.
A system for optimizing software comprising:
- an analyzing module for determining a stride profile;
- and
- an optimizing module for inserting a prefetch instruction immediately before a load instruction using stride profile.
Dependencies are inferred from the claim text.