Fast sparse matrix-vector multiplication by partitioning and reordering door