In my application, I use mkl_dcsrmv(). I encounter matrices with empty rows. At most, one eighth of the rows are empty. Is there any solution to skip empty rows in CSR-based sparse matrix-vector multiplication?
One solution is to remove empty rows before mkl_dcsrmv() and scatter/gather the vectors. But this does not seem feasible and it may not be efficient.
A solution, which is adopted in OSKI, is adding a list that contains non-empty rows and iterating over this list during the sparse matrix-vector multiplication.