• DocumentCode
    505979
  • Title

    Multi-level tiling: M for the price of one

  • Author

    Kim, DaeGon ; Renganarayanan, Lakshminarayanan ; Rostron, Dave ; Rajopadhye, Sanjay ; Strout, Michelle Mills

  • Author_Institution
    Colorado State University, Fort Collins, Colorado
  • fYear
    2007
  • fDate
    10-16 Nov. 2007
  • Firstpage
    1
  • Lastpage
    12
  • Abstract
    Tiling is a widely used loop transformation for exposing/exploiting parallelism and data locality. High-performance implementations use multiple levels of tiling to exploit the hierarchy of parallelism and cache/register locality. Efficient generation of multi-level tiled code is essential for effective use of multi-level tiling. Parameterized tiled code, where tile sizes are not fixed but left as symbolic parameters can enable several dynamic and run-time optimizations. Previous solutions to multi-level tiled loop generation are limited to the case where tile sizes are fixed at compile time. We present an algorithm that can generate multi-level parameterized tiled loops at the same cost as generating single-level tiled loops. The efficiency of our method is demonstrated on several benchmarks. We also present a method-useful in register tiling-for separating partial and full tiles at any arbitrary level of tiling. The code generator we have implemented is available as an open source tool.
  • Keywords
    Computer languages; Computer science; Costs; Milling machines; Parallel processing; Permission; Program processors; Registers; Runtime; Tiles; data locality; multi-level tiling; parallelism; parameterized code generation;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Supercomputing, 2007. SC '07. Proceedings of the 2007 ACM/IEEE Conference on
  • Conference_Location
    Reno, NV, USA
  • Print_ISBN
    978-1-59593-764-3
  • Electronic_ISBN
    978-1-59593-764-3
  • Type

    conf

  • DOI
    10.1145/1362622.1362691
  • Filename
    5348810