• DocumentCode
    2214616
  • Title

    Code tiling for improving the cache performance of PDE solvers

  • Author

    Huang, Qingguang ; Xue, Jingling ; Vera, Xavier

  • Author_Institution
    Sch. of Comput. Sci. & Eng., New South Wales Univ., Sydney, NSW
  • fYear
    2003
  • fDate
    9-9 Oct. 2003
  • Firstpage
    615
  • Lastpage
    624
  • Abstract
    For SOR-like PDE solvers, loop tiling either helps little in improving data locality or hurts their performance. We present a novel compiler technique called code tiling for generating fast tiled codes for these solvers on uniprocessors with a memory hierarchy. Code tiling combines loop tiling with a new array layout transformation called data tiling in such a way that a significant amount of cache misses that would otherwise be present in tiled codes are eliminated. Compared to nine existing loop tiling algorithms, our technique delivers impressive performance speedups (faster by factors of 1.55-2.62) and smooth performance curves across a range of problem sizes on representative machine architectures. The synergy of loop tiling and data tiling allows us to find a problem-size-independent tile size that minimises a cache miss objective function independently of the problem size parameters. This "one-size-fits-all" scheme makes our approach attractive for designing fast SOR solvers without having to generate a multitude of versions specialised for different problem sizes
  • Keywords
    cache storage; partial differential equations; program compilers; program control structures; SOR-like PDE solvers; array layout transformation; cache miss objective function; cache performance; code tiling; compiler technique; data locality; data tiling; loop tiling algorithms; memory hierarchy; one-size-fits-all scheme; problem-size-independent tile size; representative machine architectures; uniprocessors; Australia; Computer science; Data engineering; Jacobian matrices; Multidimensional systems; Partial differential equations; Processor scheduling; Tiles;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel Processing, 2003. Proceedings. 2003 International Conference on
  • Conference_Location
    Kaohsiung
  • ISSN
    0190-3918
  • Print_ISBN
    0-7695-2017-0
  • Type

    conf

  • DOI
    10.1109/ICPP.2003.1240630
  • Filename
    1240630