Locality transformations for nested recursive iteration spaces

3Citations
Citations of this article
32Readers
Mendeley users who have this article in their library.
Get full text

Abstract

There has been a significant amount of effort invested in designing scheduling transformations such as loop tiling and loop fusion that rearrange the execution of dynamic instances of loop nests to place operations that access the same data close together temporally. In recent years, there has been interest in designing similar transformations that operate on recursive programs, but until now these transformations have only considered simple scenarios: multiple recursions to be fused, or a recursion nested inside a simple loop. This paper develops the first set of scheduling transformations for nested recursions: recursive methods that call other recursive methods. These are the recursive analog to nested loops. We present a transformation called recursion twisting that automatically improves locality at all levels of the memory hierarchy, and show that this transformation can yield substantial performance improvements across several benchmarks that exhibit nested recursion.

Cite

CITATION STYLE

APA

Sundararajah, K., Sakka, L., & Kulkarni, M. (2017). Locality transformations for nested recursive iteration spaces. ACM SIGPLAN Notices, 52(4), 281–295. https://doi.org/10.1145/3037697.3037720

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free