• DocumentCode
    1647560
  • Title

    Cache-efficient matrix transposition

  • Author

    Chatterjee, Siddhartha ; Sen, Sandeep

  • Author_Institution
    Dept. of Comput. Sci., North Carolina Univ., Chapel Hill, NC, USA
  • fYear
    2000
  • fDate
    6/22/1905 12:00:00 AM
  • Firstpage
    195
  • Lastpage
    205
  • Abstract
    We investigate the memory system performance of several algorithms for transposing an N×N matrix in-place, where N is large. Specifically, we investigate the relative contributions of the data cache, the translation lookaside buffer, register tiling, and the array layout function to the overall running time of the algorithms. We use various memory models to capture and analyze the effect of various facets of cache memory architecture that guide the choice of a particular algorithm, and attempt to experimentally validate the predictions of the model. Our major conclusions are as follows: limited associativity in the mapping from main memory addresses to cache sets can significantly degrade running time; the limited number of TLB entries can easily lead to thrashing; the fanciest optimal algorithms are not competitive on real machines even at fairly large problem sizes unless cache miss penalties are quite high: low-level performance tuning “hacks”, such as register tiling and array alignment, can significantly distort the effects of improved algorithms; and hierarchical non-linear layouts are inherently superior to the standard canonical layouts (such as row- or column-major) for this problem
  • Keywords
    matrix algebra; memory architecture; array alignment; array layout function; data cache; limited associativity; matrix transposition; memory system performance; optimal algorithms; register tiling; translation lookaside buffer; Computer science; Degradation; Educational programs; Educational technology; Electrical capacitance tomography; Electronic switching systems; Fast Fourier transforms; Multidimensional systems; Read only memory; Registers;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    High-Performance Computer Architecture, 2000. HPCA-6. Proceedings. Sixth International Symposium on
  • Conference_Location
    Touluse
  • Print_ISBN
    0-7695-0550-3
  • Type

    conf

  • DOI
    10.1109/HPCA.2000.824350
  • Filename
    824350