TY - JOUR
T1 - Cache oblivious matrix multiplication using an element ordering based on a Peano curve
AU - Bader, Michael
AU - Zenger, Christoph
PY - 2006/9/1
Y1 - 2006/9/1
N2 - One of the keys to tap the full performance potential of current hardware is the optimal utilization of cache memory. Cache oblivious algorithms are designed to inherently benefit from any underlying hierarchy of caches, but do not need to know about the exact structure of the cache. In this paper, we present a cache oblivious algorithm for matrix multiplication. The algorithm uses a block recursive structure and an element ordering that is based on Peano curves. In the resulting code, index jumps can be totally avoided, which leads to an asymptotically optimal spatial and temporal locality of the data access.
AB - One of the keys to tap the full performance potential of current hardware is the optimal utilization of cache memory. Cache oblivious algorithms are designed to inherently benefit from any underlying hierarchy of caches, but do not need to know about the exact structure of the cache. In this paper, we present a cache oblivious algorithm for matrix multiplication. The algorithm uses a block recursive structure and an element ordering that is based on Peano curves. In the resulting code, index jumps can be totally avoided, which leads to an asymptotically optimal spatial and temporal locality of the data access.
KW - Cache oblivious algorithms
KW - Matrix multiplication
KW - Space filling curves
UR - http://www.scopus.com/inward/record.url?scp=33746256776&partnerID=8YFLogxK
U2 - 10.1016/j.laa.2006.03.018
DO - 10.1016/j.laa.2006.03.018
M3 - Article
AN - SCOPUS:33746256776
SN - 0024-3795
VL - 417
SP - 301
EP - 313
JO - Linear Algebra and Its Applications
JF - Linear Algebra and Its Applications
IS - 2-3
ER -