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