Cache oblivious matrix multiplication using an element ordering based on a Peano curve

被引:24
作者
Bader, Michael [1 ]
Zenger, Christoph [1 ]
机构
[1] Tech Univ Munich, Inst Informat, D-85748 Garching, Germany
关键词
cache oblivious algorithms; matrix multiplication; space filling curves;
D O I
10.1016/j.laa.2006.03.018
中图分类号
O29 [应用数学];
学科分类号
070104 ;
摘要
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. (c) 2006 Elsevier Inc. All rights reserved.
引用
收藏
页码:301 / 313
页数:13
相关论文
共 12 条
[1]  
[Anonymous], P 40 ANN S FDN COMP
[2]  
BADER M, IN PRESS P 6 INT C P
[3]  
CHATTERJEE S, 1999, NONLINEAR ARRAY LAYO
[4]  
DEMAINE ED, 2002, IN PRESS LECT NOTES
[5]  
FRENS JD, 1997, P 6 ACM SIGPLAN S PR
[6]  
GOTO K, REDUCING TLB MISSES
[7]  
GUNTHER F, UNPUB SIAM J SCI COM
[8]  
GUSTAVSON FG, 1999, IBM J RES DEV, V41
[9]  
Lawson C. L., 1979, ACM Transactions on Mathematical Software, V5, P324, DOI [10.1145/355841.355847, 10.1145/355841.355848]
[10]  
SAMELSON K, 1959, SEQUENTIELLE FORMELU, V1