English

PCOT: Cache Oblivious Tiling of Polyhedral Programs

Programming Languages 2018-02-02 v1

Abstract

This paper studies two variants of tiling: iteration space tiling (or loop blocking) and cache-oblivious methods that recursively split the iteration space with divide-and-conquer. The key question to answer is when we should be using one over the other. The answer to this question is complicated for modern architecture due to a number of reasons. In this paper, we present a detailed empirical study to answer this question for a range of kernels that fit the polyhedral model. Our study is based on a generalized cache oblivious code generator that support this class, which is a superset of those supported by existing tools. The conclusion is that cache oblivious code is most useful when the aim is to have reduced off-chip memory accesses, e.g., lower energy, albeit certain situations that diminish its effectiveness exist.

Keywords

Cite

@article{arxiv.1802.00166,
  title  = {PCOT: Cache Oblivious Tiling of Polyhedral Programs},
  author = {Waruna Ranasinghe and Nirmal Prajapati and Tomofumi Yuki and Sanjay Rajopadhye},
  journal= {arXiv preprint arXiv:1802.00166},
  year   = {2018}
}
R2 v1 2026-06-23T00:07:08.947Z