Results April 21, 2006

Sparse Matrix Multiplication Using OpenMP

The code used in this test solves the system A*x = b when most of the values of matrix A are zeros. The parallel standard used was OpenMP. The code used was the Kokkos package from Sandia National Laboratories. The obtained results are shown in Table 5. The most interesting numbers are shown in red color. You can find the analysis on the bottom of this page.

 

MIOPS Number of Threads      
NEQ 1 2 4 8 16 32 64 128 256  
10 12.2759 2.87888 1.25217 0.807843 0.678224 0.676353 0.65579 0.670712    
100 34.5764 21.9636 12.2364 8.43693 4.40347 0.692703 0.679457 0.689552    
1000 31.7988 52.3452 64.5734 64.0759 40.437 6.54725 6.56716 6.47286    
10000 32.5153 63.4183 115.383 190.596 232.118 61.1837 53.9871 58.8614 45.8649  
100000 26.7231 52.1323 103.648 190.688 318.53 265.92 233.242 381.116 266.632  
1000000 25.1969 48.4601 92.9429 167.749 281.639 396.542 397.032 370.097 370.402  
                     
                     
Speedup Number of Threads      
NEQ   2 4 8 16 32 64 128 256  
10   0.23 0.10 0.07 0.06 0.06 0.05 0.05    
100   0.64 0.35 0.24 0.13 0.02 0.02 0.02    
1000   1.65 2.03 2.02 1.27 0.21 0.21 0.20    
10000   1.95 3.55 5.86 7.14 1.88 1.66 1.81 1.41  
100000   1.95 3.88 7.14 11.92 9.95 8.73 14.26 9.98  
1000000   1.92 3.69 6.66 11.18 15.74 15.76 14.69 14.70  
                     
                     
Efficiency Number of Threads      
NEQ   2 4 8 16 32 64 128 256  
10   0.12 0.03 0.01 0.00 0.00 0.00 0.00    
100   0.32 0.09 0.03