Implementing sparse matrix-vector multiplication on throughput-oriented processors | Synapse