Skip to main content

2002 | OriginalPaper | Buchkapitel

Value-Profile Guided Stride Prefetching for Irregular Code

verfasst von : Youfeng Wu, Mauricio Serrano, Rakesh Krishnaiyer, Wei Li, Jesse Fang

Erschienen in: Compiler Construction

Verlag: Springer Berlin Heidelberg

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Memory operations in irregular code are difficult to prefetch, as the future address of a memory location is hard to anticipate by a compiler. However, recent studies as well as our experience indicate that many irregular programs contain loads with near-constant strides. This paper presents a novel compiler technique to profile and prefetch for those loads. The profile captures not only the dominant stride values for each profiled load, but also the differences between the successive strides of the load. The profile information helps the compiler to classify load instructions into strongly or weakly strided and single- strided or phased multi-strided. The prefetching decisions guided by the load classifications are highly selective and beneficial. We obtain significant performance improvement for the CPU2000 integer programs running on ItaniumTM machines. For example, we achieve a 1.55x speedup for ″181.mcf″, 1.15x for ″254.gap″, 1.08x for ″197.parser″ and smaller gains in other benchmarks. We also show that the performance gain is stable across profile data sets and that the profiling overhead is low. These benefits make the new technique suitable for a production compiler.

Metadaten
Titel
Value-Profile Guided Stride Prefetching for Irregular Code
verfasst von
Youfeng Wu
Mauricio Serrano
Rakesh Krishnaiyer
Wei Li
Jesse Fang
Copyright-Jahr
2002
Verlag
Springer Berlin Heidelberg
DOI
https://doi.org/10.1007/3-540-45937-5_22

Premium Partner