DocumentCode :
3138337
Title :
Efficient Zero/One Matrix-Vector Multiplication Based on Cache
Author :
Li, Yu ; Xiang, Li Yuan ; Xiong, Naixue ; Yang, Laurence T.
Author_Institution :
Sch. of Comput., Wuhan Univ., Wuhan
fYear :
2008
fDate :
13-15 Oct. 2008
Firstpage :
78
Lastpage :
83
Abstract :
This article describes a new method which we have used for computing matrix-vector products. Matrix-vector multiplication is the core of black-box algorithm, which is effective when we analyze the properties of sparse or structured matrix. Hence it is very useful to optimize the calculation. Here we design an algorithm for large-sized sparse zero-one matrix-vector products based on the theory of cache, whose advantage is that it can reduce cache misses to the minimum. We divide the matrix M into several vertical strips and vector x is stripped by system in the corresponding way. Then we calculate the products of all stripped matrix and the vector, and add all the results together to obtain the Zo matrix-vector product. We use C++ language to implement the algorithm in Windows XP and have experiments to compare the time costs between the Zo and stripped matrix-vector products of various blocking schemes. After many experiments, we find the most appropriate blocking scheme to suit the cache size.
Keywords :
C++ language; cache storage; matrix algebra; C++ language; Windows XP; black-box algorithm; sparse matrix; structured matrix; zero/one matrix-vector multiplication; Algorithm design and analysis; Application software; Computational efficiency; Computer science; Costs; Linear algebra; Packaging; Product design; Sparse matrices; Strips; algorithm; cache; matrix-vector product; optimization;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Computer Science and its Applications, 2008. CSA '08. International Symposium on
Conference_Location :
Hobart, ACT
Print_ISBN :
978-0-7695-3428-2
Type :
conf
DOI :
10.1109/CSA.2008.22
Filename :
4654065
Link To Document :
بازگشت