The terabytes of information available on the internet creates a severe demand of scalable information retrieval systems. Sparse Matrix Vector Multiplication (SpMV) is a well-known kernel for such computing applications in science and engineering world. This raises need of designing an efficient SpMV. Researchers are putting their continuous effort to optimize SpMV that deal with wide class of sparse matrix patterns using various compressed storage formats, and algorithm for high performance computing devices like multi-core/many-core processor i.e. GPU. But, they have not focus on optimization of input vector, which is highly sparse for various applications. This paper presents a novel approach - Sparse Matrix Sparse Vector Multiplication (SpMSpV) to utilize sparse input vector efficiently. To demonstrate efficiency of the proposed algorithm, it has been applied to keyword based document search, where sparse matrix is used as index structure of text collection and sparse vector for query keywords. The proposed algorithm is also implemented over Graphical Processing Unit (GPU) to explore high parallelism. Implementation results over CPU and GPU both demonstrate that SpMSpV using Compressed Sparse Column (CSC) sparse format is more efficient for information retrieval applications that use highly sparse input vector.
['Monika Shah']
Sparse Matrix Sparse Vector Multiplication - A Novel Approach