I. Introduction
Sparse matrices and computations on sparse matrices arise in many areas of science and engineering such as computational fluid dynamics, computational neuroscience and molecular dynamics [1]. Prominent among the computations on sparse matrices include matrix vector multiplication, matrix matrix multiplication, and solving a system of linear equations where the underlying matrix of coefficients is sparse. The importance of these computations can be gauged by the fact that these computations are included as dwarfs in the Berkeley report [2]. It is therefore not surprising that most modern libraries in the parallel setting include optimized routines for the above computations on sparse matrices [3], [4].