## 5 Results and Analysis
### SpMV Performance
#### 5.3.2 Average Throughput Performance  
We observe in Figure 7 that, overall, our proposed technique performs better than all the compared schemes, CSR, HYB, BSR, CSR5, SELL-P, WPK1, and WPK-2 (the SURAA throughput is represented by dark blue color bar and it is higher than the other bars in the figure). SURAA provides higher throughput than any other technique for 20 out of 26 matrices (we will come back to the remaining six matrices in a moment). On average, SURAA outperform all seven other SpMV computation methods by achieving an average speedup of 40\(\times\) against SELL-P, 29.89\(\times\) against WPK1, 12.98\(\times\) for CSR, 11.33\(\times\) for BSR, 1.50\(\times\) for HYB, 1.15\(\times\) for WPK2, and 1.1\(\times\) for CSR5.  
BCSR/BSR  
SURAA outperforms the BSR scheme, overall, by moderate margins (average speedup: 11.33\(\times\), max: 26.70\(\times\)). Figure 7 depicts that BSR delivers poor performance compared to most schemes including SURAA.  
HYB  
SURAA outperforms the HYB scheme, overall, although by relatively smaller margins (average speedup: 1.50\(\times\), max: 3.06\(\times\)). The highest speedup achieved by SURAA against HYB for a single matrix from the 26 matrices is 3.06\(\times\) for the matrix _torso1_; see Figure 7. The HYB scheme outperforms the SURAA method for two matrices, _thermal2_ and _amazon0312_. We noted that this is also the case for a few other schemes, and we will discuss them in respective paragraphs. Further investigation reveals that SURAA does not utilize the dynamic parallelism for these two matrices because the largest rows for these matrices have only 11 and 10 non-zeros, respectively, and the average number of non-zeros is 7 and 8, respectively. Hence, SURAA uses the scalar CSR kernel for these two matrices (_thermal2_ and _amazon0312_). We also observe (see Table 3 and Figure 6) that both of these matrices have low _npr_ variance and standard deviation, and therefore do not benefit from the adaptive kernels in SURAA. We will see in Section 5.4 that SURAA provides higher differential performance for matrices with higher _npr_ variance (a behavior which is highly desirable). The performance aspects of SURAA for low _npr_ matrices will be investigated in the future to enable SURAA gain higher performance, also, for low _npr_ variance matrices.  
Figure 7: SURAA: throughput comparison with the state of the art commercial (cuSPARSE) and open source (CUSP, MAGMA) tools: CSR, HYB, BCSR, CSR-5, SELL-P, WPK1, and WPK2 for (**a**) the 13 matrices from the benchmark set that provided lowest throughput and (**b**) the 13 matrices that provided the highest throughput for SURAA.  
SURAA outperforms the CSR scheme, overall, by moderate margins (average speedup: 12.98\(\times\), max: 147\(\times\)). Note in Figure 7 that CSR delivers moderate performance compared to SURAA and other schemes. However, its overall performance degradation (12.98\(\times\)) comes from its poor performance for two matrices, _ASIC_680k_ and _FullChip_. SURAA achieves a higher throughput against CSR for all the 26 matrices except one matrix, _amazon0312_ (0.91\(\times\)). The reasons for this low performance of SURAA for this particular matrix have been already discussed alongside the HYB scheme.