mxm_demo
Prob = 
  struct with fields:

         A: [9000x9000 double]
      name: 'ND/nd3k'
     title: 'ND problem set, matrix nd3k'
        id: 936
      date: '2003'
    author: 'author unknown'
        ed: 'T. Davis'
      kind: '2D/3D problem'
Prob2 = 
  struct with fields:

      name: 'Freescale/Freescale2'
     title: 'circuit simulation matrix from Freescale'
         A: [2999349x2999349 double]
     Zeros: [2999349x2999349 double]
        id: 2662
      date: '2015'
    author: 'K. Gullapalli'
        ed: 'T. Davis'
      kind: 'circuit simulation matrix'
     notes: [4x59 char]
slash
MATLAB version: 9.8 release: (R2020a)
GraphBLAS version: 4.0.1 (Jan 4, 2021)

-------------------------------------------------
Testing single-threaded performance of C=A*B:
-------------------------------------------------

=== MATLAB: double (real) vs GraphBLAS: single
C=A*B: sparse matrix times sparse matrix:
trial 1: MATLAB:     2.8151 GrB:     2.5738 speedup:       1.09 err: 1.63154e-07
trial 2: MATLAB:     2.9101 GrB:     2.6455 speedup:       1.10 err: 1.63154e-07
trial 3: MATLAB:     2.9749 GrB:     2.7096 speedup:       1.10 err: 1.63154e-07
trial 4: MATLAB:     3.0297 GrB:     2.7680 speedup:       1.09 err: 1.63154e-07
average: MATLAB:     2.9324 GrB:     2.6742 speedup:       1.10
C=A*x: sparse matrix times sparse vector:
trial 1: MATLAB:     0.1934 GrB:     0.0582 speedup:       3.32 err: 3.60006e-08
trial 2: MATLAB:     0.1896 GrB:     0.0452 speedup:       4.19 err: 3.60006e-08
trial 3: MATLAB:     0.1789 GrB:     0.0463 speedup:       3.86 err: 3.60006e-08
trial 4: MATLAB:     0.1852 GrB:     0.0465 speedup:       3.99 err: 3.60006e-08
average: MATLAB:     0.1868 GrB:     0.0491 speedup:       3.81
C=A*x: sparse matrix times dense vector:
trial 1: MATLAB:     0.0367 GrB:     0.0430 speedup:       0.85 err: 4.86966e-08
trial 2: MATLAB:     0.0369 GrB:     0.0440 speedup:       0.84 err: 4.86966e-08
trial 3: MATLAB:     0.0369 GrB:     0.0418 speedup:       0.88 err: 4.86966e-08
trial 4: MATLAB:     0.0367 GrB:     0.0433 speedup:       0.85 err: 4.86966e-08
average: MATLAB:     0.0368 GrB:     0.0430 speedup:       0.86

=== MATLAB: double (real) vs GraphBLAS: double
C=A*B: sparse matrix times sparse matrix:
trial 1: MATLAB:     3.1134 GrB:     3.1008 speedup:       1.00 err: 0
trial 2: MATLAB:     3.1892 GrB:     3.1229 speedup:       1.02 err: 0
trial 3: MATLAB:     3.1533 GrB:     3.0565 speedup:       1.03 err: 0
trial 4: MATLAB:     3.1657 GrB:     3.0411 speedup:       1.04 err: 0
average: MATLAB:     3.1554 GrB:     3.0803 speedup:       1.02
C=A*x: sparse matrix times sparse vector:
trial 1: MATLAB:     0.1966 GrB:     0.0662 speedup:       2.97 err: 0
trial 2: MATLAB:     0.1805 GrB:     0.0474 speedup:       3.81 err: 0
trial 3: MATLAB:     0.1781 GrB:     0.0486 speedup:       3.66 err: 0
trial 4: MATLAB:     0.1764 GrB:     0.0479 speedup:       3.68 err: 0
average: MATLAB:     0.1829 GrB:     0.0525 speedup:       3.48
C=A*x: sparse matrix times dense vector:
trial 1: MATLAB:     0.0352 GrB:     0.0473 speedup:       0.74 err: 0
trial 2: MATLAB:     0.0383 GrB:     0.0478 speedup:       0.80 err: 0
trial 3: MATLAB:     0.0374 GrB:     0.0477 speedup:       0.78 err: 0
trial 4: MATLAB:     0.0372 GrB:     0.0479 speedup:       0.78 err: 0
average: MATLAB:     0.0370 GrB:     0.0477 speedup:       0.78

=== MATLAB: double complex vs GraphBLAS: single complex
C=A*B: sparse matrix times sparse matrix:
trial 1: MATLAB:     5.9933 GrB:     4.0888 speedup:       1.47 err: 1.70413e-07
trial 2: MATLAB:     6.0862 GrB:     4.1487 speedup:       1.47 err: 1.70413e-07
trial 3: MATLAB:     6.1503 GrB:     4.5718 speedup:       1.35 err: 1.70413e-07
trial 4: MATLAB:     6.4036 GrB:     4.1321 speedup:       1.55 err: 1.70413e-07
average: MATLAB:     6.1584 GrB:     4.2353 speedup:       1.45
C=A*x: sparse matrix times sparse vector:
trial 1: MATLAB:     0.2461 GrB:     0.0709 speedup:       3.47 err: 4.56897e-08
trial 2: MATLAB:     0.2389 GrB:     0.0496 speedup:       4.82 err: 4.56897e-08
trial 3: MATLAB:     0.2281 GrB:     0.0588 speedup:       3.88 err: 4.56897e-08
trial 4: MATLAB:     0.2343 GrB:     0.0505 speedup:       4.64 err: 4.56897e-08
average: MATLAB:     0.2368 GrB:     0.0574 speedup:       4.12
C=A*x: sparse matrix times dense vector:
trial 1: MATLAB:     0.0932 GrB:     0.0573 speedup:       1.63 err: 5.75158e-08
trial 2: MATLAB:     0.0906 GrB:     0.0578 speedup:       1.57 err: 5.75158e-08
trial 3: MATLAB:     0.0896 GrB:     0.0570 speedup:       1.57 err: 5.75158e-08
trial 4: MATLAB:     0.0921 GrB:     0.0571 speedup:       1.61 err: 5.75158e-08
average: MATLAB:     0.0914 GrB:     0.0573 speedup:       1.59

=== MATLAB: double complex vs GraphBLAS: double complex
C=A*B: sparse matrix times sparse matrix:
trial 1: MATLAB:     6.0286 GrB:     3.9882 speedup:       1.51 err: 0
trial 2: MATLAB:     6.1365 GrB:     3.9255 speedup:       1.56 err: 0
trial 3: MATLAB:     6.0697 GrB:     3.9323 speedup:       1.54 err: 0
trial 4: MATLAB:     6.0473 GrB:     3.9100 speedup:       1.55 err: 0
average: MATLAB:     6.0705 GrB:     3.9390 speedup:       1.54
C=A*x: sparse matrix times sparse vector:
trial 1: MATLAB:     0.2305 GrB:     0.1006 speedup:       2.29 err: 0
trial 2: MATLAB:     0.2283 GrB:     0.0865 speedup:       2.64 err: 0
trial 3: MATLAB:     0.2120 GrB:     0.0801 speedup:       2.65 err: 0
trial 4: MATLAB:     0.2297 GrB:     0.0870 speedup:       2.64 err: 0
average: MATLAB:     0.2251 GrB:     0.0885 speedup:       2.54
C=A*x: sparse matrix times dense vector:
trial 1: MATLAB:     0.0993 GrB:     0.0900 speedup:       1.10 err: 0
trial 2: MATLAB:     0.0980 GrB:     0.0973 speedup:       1.01 err: 0
trial 3: MATLAB:     0.0964 GrB:     0.1000 speedup:       0.96 err: 0
trial 4: MATLAB:     0.0970 GrB:     0.0905 speedup:       1.07 err: 0
average: MATLAB:     0.0977 GrB:     0.0944 speedup:       1.03

-------------------------------------------------
Testing performance of C=A*B using 4 threads:
-------------------------------------------------

=== MATLAB: double (real) vs GraphBLAS: single
C=A*B: sparse matrix times sparse matrix:
trial 1: MATLAB:     3.0710 GrB:     1.1738 speedup:       2.62 err: 1.66754e-07
trial 2: MATLAB:     3.2605 GrB:     1.1203 speedup:       2.91 err: 1.66754e-07
trial 3: MATLAB:     3.2421 GrB:     1.1311 speedup:       2.87 err: 1.66754e-07
trial 4: MATLAB:     3.2263 GrB:     1.1259 speedup:       2.87 err: 1.66754e-07
average: MATLAB:     3.2000 GrB:     1.1378 speedup:       2.81
C=A*x: sparse matrix times sparse vector:
trial 1: MATLAB:     0.2265 GrB:     0.0290 speedup:       7.82 err: 3.59729e-08
trial 2: MATLAB:     0.2077 GrB:     0.0168 speedup:      12.36 err: 3.59399e-08
trial 3: MATLAB:     0.1993 GrB:     0.0172 speedup:      11.59 err: 3.59533e-08
trial 4: MATLAB:     0.2031 GrB:     0.0180 speedup:      11.25 err: 3.59502e-08
average: MATLAB:     0.2091 GrB:     0.0202 speedup:      10.33
C=A*x: sparse matrix times dense vector:
trial 1: MATLAB:     0.0366 GrB:     0.0302 speedup:       1.21 err: 4.8658e-08
trial 2: MATLAB:     0.0401 GrB:     0.0315 speedup:       1.27 err: 4.86415e-08
trial 3: MATLAB:     0.0401 GrB:     0.0318 speedup:       1.26 err: 4.86721e-08
trial 4: MATLAB:     0.0401 GrB:     0.0319 speedup:       1.26 err: 4.86539e-08
average: MATLAB:     0.0392 GrB:     0.0314 speedup:       1.25

=== MATLAB: double (real) vs GraphBLAS: double
C=A*B: sparse matrix times sparse matrix:
trial 1: MATLAB:     3.1586 GrB:     1.2946 speedup:       2.44 err: 0
trial 2: MATLAB:     3.2542 GrB:     1.2840 speedup:       2.53 err: 0
trial 3: MATLAB:     3.2285 GrB:     1.3714 speedup:       2.35 err: 0
trial 4: MATLAB:     3.2369 GrB:     1.2709 speedup:       2.55 err: 0
average: MATLAB:     3.2196 GrB:     1.3052 speedup:       2.47
C=A*x: sparse matrix times sparse vector:
trial 1: MATLAB:     0.2305 GrB:     0.0337 speedup:       6.84 err: 1.06104e-18
trial 2: MATLAB:     0.2069 GrB:     0.0199 speedup:      10.42 err: 1.11635e-18
trial 3: MATLAB:     0.1969 GrB:     0.0266 speedup:       7.39 err: 5.18379e-19
trial 4: MATLAB:     0.1958 GrB:     0.0246 speedup:       7.95 err: 4.79398e-19
average: MATLAB:     0.2075 GrB:     0.0262 speedup:       7.92
C=A*x: sparse matrix times dense vector:
trial 1: MATLAB:     0.0381 GrB:     0.0311 speedup:       1.22 err: 2.40621e-18
trial 2: MATLAB:     0.0412 GrB:     0.0316 speedup:       1.30 err: 2.32578e-18
trial 3: MATLAB:     0.0420 GrB:     0.0319 speedup:       1.32 err: 2.38401e-18
trial 4: MATLAB:     0.0400 GrB:     0.0325 speedup:       1.23 err: 2.43923e-18
average: MATLAB:     0.0403 GrB:     0.0318 speedup:       1.27

=== MATLAB: double complex vs GraphBLAS: single complex
C=A*B: sparse matrix times sparse matrix:
trial 1: MATLAB:     6.1511 GrB:     1.6564 speedup:       3.71 err: 1.67076e-07
trial 2: MATLAB:     6.1331 GrB:     1.6563 speedup:       3.70 err: 1.67076e-07
trial 3: MATLAB:     6.1641 GrB:     1.6603 speedup:       3.71 err: 1.67076e-07
trial 4: MATLAB:     6.1658 GrB:     1.6696 speedup:       3.69 err: 1.67076e-07
average: MATLAB:     6.1535 GrB:     1.6606 speedup:       3.71
C=A*x: sparse matrix times sparse vector:
trial 1: MATLAB:     0.2841 GrB:     0.0373 speedup:       7.61 err: 4.57626e-08
trial 2: MATLAB:     0.2577 GrB:     0.0236 speedup:      10.92 err: 4.57741e-08
trial 3: MATLAB:     0.2532 GrB:     0.0235 speedup:      10.77 err: 4.5745e-08
trial 4: MATLAB:     0.2539 GrB:     0.0231 speedup:      10.97 err: 4.57588e-08
average: MATLAB:     0.2622 GrB:     0.0269 speedup:       9.75
C=A*x: sparse matrix times dense vector:
trial 1: MATLAB:     0.1010 GrB:     0.0563 speedup:       1.79 err: 5.73907e-08
trial 2: MATLAB:     0.1041 GrB:     0.0576 speedup:       1.81 err: 5.73975e-08
trial 3: MATLAB:     0.1057 GrB:     0.0582 speedup:       1.82 err: 5.73847e-08
trial 4: MATLAB:     0.1040 GrB:     0.0585 speedup:       1.78 err: 5.73969e-08
average: MATLAB:     0.1037 GrB:     0.0577 speedup:       1.80

=== MATLAB: double complex vs GraphBLAS: double complex
C=A*B: sparse matrix times sparse matrix:
trial 1: MATLAB:     6.1252 GrB:     1.6972 speedup:       3.61 err: 0
trial 2: MATLAB:     6.1505 GrB:     1.7211 speedup:       3.57 err: 0
trial 3: MATLAB:     6.1563 GrB:     1.8016 speedup:       3.42 err: 0
trial 4: MATLAB:     6.0962 GrB:     1.7277 speedup:       3.53 err: 0
average: MATLAB:     6.1320 GrB:     1.7369 speedup:       3.53
C=A*x: sparse matrix times sparse vector:
trial 1: MATLAB:     0.2831 GrB:     0.0518 speedup:       5.47 err: 9.70922e-19
trial 2: MATLAB:     0.2546 GrB:     0.0323 speedup:       7.89 err: 9.77494e-19
trial 3: MATLAB:     0.2458 GrB:     0.0321 speedup:       7.66 err: 9.85446e-19
trial 4: MATLAB:     0.2464 GrB:     0.0319 speedup:       7.72 err: 9.65811e-19
average: MATLAB:     0.2575 GrB:     0.0370 speedup:       6.96
C=A*x: sparse matrix times dense vector:
trial 1: MATLAB:     0.1036 GrB:     0.0618 speedup:       1.68 err: 1.95098e-18
trial 2: MATLAB:     0.1152 GrB:     0.0670 speedup:       1.72 err: 1.9996e-18
trial 3: MATLAB:     0.1152 GrB:     0.0681 speedup:       1.69 err: 1.9647e-18
trial 4: MATLAB:     0.1157 GrB:     0.0686 speedup:       1.69 err: 2.0081e-18
average: MATLAB:     0.1124 GrB:     0.0664 speedup:       1.69

-------------------------------------------------
Testing performance of C=A*B using 8 threads:
-------------------------------------------------

=== MATLAB: double (real) vs GraphBLAS: single
C=A*B: sparse matrix times sparse matrix:
trial 1: MATLAB:     3.1757 GrB:     1.1523 speedup:       2.76 err: 1.66299e-07
trial 2: MATLAB:     3.2655 GrB:     1.1644 speedup:       2.80 err: 1.66299e-07
trial 3: MATLAB:     3.2497 GrB:     1.1830 speedup:       2.75 err: 1.66299e-07
trial 4: MATLAB:     3.2368 GrB:     1.1804 speedup:       2.74 err: 1.66299e-07
average: MATLAB:     3.2319 GrB:     1.1700 speedup:       2.76
C=A*x: sparse matrix times sparse vector:
trial 1: MATLAB:     0.2487 GrB:     0.0258 speedup:       9.66 err: 3.59098e-08
trial 2: MATLAB:     0.2187 GrB:     0.0140 speedup:      15.58 err: 3.58929e-08
trial 3: MATLAB:     0.2044 GrB:     0.0138 speedup:      14.77 err: 3.58856e-08
trial 4: MATLAB:     0.2067 GrB:     0.0136 speedup:      15.16 err: 3.59008e-08
average: MATLAB:     0.2196 GrB:     0.0168 speedup:      13.06
C=A*x: sparse matrix times dense vector:
trial 1: MATLAB:     0.0432 GrB:     0.0288 speedup:       1.50 err: 4.84787e-08
trial 2: MATLAB:     0.0381 GrB:     0.0278 speedup:       1.37 err: 4.84694e-08
trial 3: MATLAB:     0.0401 GrB:     0.0294 speedup:       1.36 err: 4.84549e-08
trial 4: MATLAB:     0.0414 GrB:     0.0291 speedup:       1.42 err: 4.84613e-08
average: MATLAB:     0.0407 GrB:     0.0288 speedup:       1.41

=== MATLAB: double (real) vs GraphBLAS: double
C=A*B: sparse matrix times sparse matrix:
trial 1: MATLAB:     3.1909 GrB:     1.3223 speedup:       2.41 err: 0
trial 2: MATLAB:     3.2724 GrB:     1.3732 speedup:       2.38 err: 0
trial 3: MATLAB:     3.2548 GrB:     1.3553 speedup:       2.40 err: 0
trial 4: MATLAB:     3.2509 GrB:     1.3373 speedup:       2.43 err: 0
average: MATLAB:     3.2423 GrB:     1.3470 speedup:       2.41
C=A*x: sparse matrix times sparse vector:
trial 1: MATLAB:     0.2316 GrB:     0.0335 speedup:       6.91 err: 2.28145e-18
trial 2: MATLAB:     0.2024 GrB:     0.0182 speedup:      11.15 err: 2.223e-18
trial 3: MATLAB:     0.1958 GrB:     0.0192 speedup:      10.22 err: 1.84492e-18
trial 4: MATLAB:     0.2012 GrB:     0.0183 speedup:      11.01 err: 2.0961e-18
average: MATLAB:     0.2078 GrB:     0.0223 speedup:       9.33
C=A*x: sparse matrix times dense vector:
trial 1: MATLAB:     0.0408 GrB:     0.0285 speedup:       1.43 err: 4.84536e-18
trial 2: MATLAB:     0.0413 GrB:     0.0278 speedup:       1.49 err: 4.42375e-18
trial 3: MATLAB:     0.0416 GrB:     0.0275 speedup:       1.51 err: 4.95095e-18
trial 4: MATLAB:     0.0402 GrB:     0.0314 speedup:       1.28 err: 3.95661e-18
average: MATLAB:     0.0410 GrB:     0.0288 speedup:       1.42

=== MATLAB: double complex vs GraphBLAS: single complex
C=A*B: sparse matrix times sparse matrix:
trial 1: MATLAB:     6.0668 GrB:     1.6896 speedup:       3.59 err: 1.71854e-07
trial 2: MATLAB:     6.0933 GrB:     1.7084 speedup:       3.57 err: 1.71854e-07
trial 3: MATLAB:     6.1232 GrB:     1.6972 speedup:       3.61 err: 1.71854e-07
trial 4: MATLAB:     6.1122 GrB:     1.7244 speedup:       3.54 err: 1.71854e-07
average: MATLAB:     6.0989 GrB:     1.7049 speedup:       3.58
C=A*x: sparse matrix times sparse vector:
trial 1: MATLAB:     0.2756 GrB:     0.0355 speedup:       7.76 err: 4.58439e-08
trial 2: MATLAB:     0.2701 GrB:     0.0209 speedup:      12.95 err: 4.58386e-08
trial 3: MATLAB:     0.2532 GrB:     0.0200 speedup:      12.68 err: 4.58447e-08
trial 4: MATLAB:     0.2559 GrB:     0.0216 speedup:      11.87 err: 4.58186e-08
average: MATLAB:     0.2637 GrB:     0.0245 speedup:      10.77
C=A*x: sparse matrix times dense vector:
trial 1: MATLAB:     0.1061 GrB:     0.0476 speedup:       2.23 err: 5.73407e-08
trial 2: MATLAB:     0.1106 GrB:     0.0495 speedup:       2.23 err: 5.73505e-08
trial 3: MATLAB:     0.1134 GrB:     0.0500 speedup:       2.27 err: 5.73444e-08
trial 4: MATLAB:     0.1150 GrB:     0.0522 speedup:       2.20 err: 5.7358e-08
average: MATLAB:     0.1113 GrB:     0.0498 speedup:       2.23

=== MATLAB: double complex vs GraphBLAS: double complex
C=A*B: sparse matrix times sparse matrix:
trial 1: MATLAB:     6.0969 GrB:     1.7930 speedup:       3.40 err: 0
trial 2: MATLAB:     6.1184 GrB:     1.8122 speedup:       3.38 err: 0
trial 3: MATLAB:     6.1158 GrB:     1.8328 speedup:       3.34 err: 0
trial 4: MATLAB:     6.1138 GrB:     1.8012 speedup:       3.39 err: 0
average: MATLAB:     6.1112 GrB:     1.8098 speedup:       3.38
C=A*x: sparse matrix times sparse vector:
trial 1: MATLAB:     0.2670 GrB:     0.0503 speedup:       5.31 err: 1.88567e-18
trial 2: MATLAB:     0.2464 GrB:     0.0310 speedup:       7.94 err: 2.2629e-18
trial 3: MATLAB:     0.2467 GrB:     0.0282 speedup:       8.75 err: 2.01905e-18
trial 4: MATLAB:     0.2347 GrB:     0.0308 speedup:       7.63 err: 1.99707e-18
average: MATLAB:     0.2487 GrB:     0.0351 speedup:       7.09
C=A*x: sparse matrix times dense vector:
trial 1: MATLAB:     0.1116 GrB:     0.0456 speedup:       2.45 err: 5.15931e-18
trial 2: MATLAB:     0.1054 GrB:     0.0501 speedup:       2.10 err: 4.00492e-18
trial 3: MATLAB:     0.1028 GrB:     0.0608 speedup:       1.69 err: 2.70972e-18
trial 4: MATLAB:     0.1141 GrB:     0.0589 speedup:       1.94 err: 3.73043e-18
average: MATLAB:     0.1085 GrB:     0.0538 speedup:       2.01


feature ('numcores')
MATLAB detected: 4 physical cores.
MATLAB detected: 8 logical cores.
MATLAB was assigned: 8 logical cores by the OS.
MATLAB is using: 4 logical cores.
MATLAB is not using all logical cores because hyper-threading is enabled.
ans =
     4
diary off
