1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282
|
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:
-------------------------------------------------
=== builtin: double (real) vs GraphBLAS: single
C=A*B: sparse matrix times sparse matrix:
trial 1: builtin: 2.8151 GrB: 2.5738 speedup: 1.09 err: 1.63154e-07
trial 2: builtin: 2.9101 GrB: 2.6455 speedup: 1.10 err: 1.63154e-07
trial 3: builtin: 2.9749 GrB: 2.7096 speedup: 1.10 err: 1.63154e-07
trial 4: builtin: 3.0297 GrB: 2.7680 speedup: 1.09 err: 1.63154e-07
average: builtin: 2.9324 GrB: 2.6742 speedup: 1.10
C=A*x: sparse matrix times sparse vector:
trial 1: builtin: 0.1934 GrB: 0.0582 speedup: 3.32 err: 3.60006e-08
trial 2: builtin: 0.1896 GrB: 0.0452 speedup: 4.19 err: 3.60006e-08
trial 3: builtin: 0.1789 GrB: 0.0463 speedup: 3.86 err: 3.60006e-08
trial 4: builtin: 0.1852 GrB: 0.0465 speedup: 3.99 err: 3.60006e-08
average: builtin: 0.1868 GrB: 0.0491 speedup: 3.81
C=A*x: sparse matrix times dense vector:
trial 1: builtin: 0.0367 GrB: 0.0430 speedup: 0.85 err: 4.86966e-08
trial 2: builtin: 0.0369 GrB: 0.0440 speedup: 0.84 err: 4.86966e-08
trial 3: builtin: 0.0369 GrB: 0.0418 speedup: 0.88 err: 4.86966e-08
trial 4: builtin: 0.0367 GrB: 0.0433 speedup: 0.85 err: 4.86966e-08
average: builtin: 0.0368 GrB: 0.0430 speedup: 0.86
=== builtin: double (real) vs GraphBLAS: double
C=A*B: sparse matrix times sparse matrix:
trial 1: builtin: 3.1134 GrB: 3.1008 speedup: 1.00 err: 0
trial 2: builtin: 3.1892 GrB: 3.1229 speedup: 1.02 err: 0
trial 3: builtin: 3.1533 GrB: 3.0565 speedup: 1.03 err: 0
trial 4: builtin: 3.1657 GrB: 3.0411 speedup: 1.04 err: 0
average: builtin: 3.1554 GrB: 3.0803 speedup: 1.02
C=A*x: sparse matrix times sparse vector:
trial 1: builtin: 0.1966 GrB: 0.0662 speedup: 2.97 err: 0
trial 2: builtin: 0.1805 GrB: 0.0474 speedup: 3.81 err: 0
trial 3: builtin: 0.1781 GrB: 0.0486 speedup: 3.66 err: 0
trial 4: builtin: 0.1764 GrB: 0.0479 speedup: 3.68 err: 0
average: builtin: 0.1829 GrB: 0.0525 speedup: 3.48
C=A*x: sparse matrix times dense vector:
trial 1: builtin: 0.0352 GrB: 0.0473 speedup: 0.74 err: 0
trial 2: builtin: 0.0383 GrB: 0.0478 speedup: 0.80 err: 0
trial 3: builtin: 0.0374 GrB: 0.0477 speedup: 0.78 err: 0
trial 4: builtin: 0.0372 GrB: 0.0479 speedup: 0.78 err: 0
average: builtin: 0.0370 GrB: 0.0477 speedup: 0.78
=== builtin: double complex vs GraphBLAS: single complex
C=A*B: sparse matrix times sparse matrix:
trial 1: builtin: 5.9933 GrB: 4.0888 speedup: 1.47 err: 1.70413e-07
trial 2: builtin: 6.0862 GrB: 4.1487 speedup: 1.47 err: 1.70413e-07
trial 3: builtin: 6.1503 GrB: 4.5718 speedup: 1.35 err: 1.70413e-07
trial 4: builtin: 6.4036 GrB: 4.1321 speedup: 1.55 err: 1.70413e-07
average: builtin: 6.1584 GrB: 4.2353 speedup: 1.45
C=A*x: sparse matrix times sparse vector:
trial 1: builtin: 0.2461 GrB: 0.0709 speedup: 3.47 err: 4.56897e-08
trial 2: builtin: 0.2389 GrB: 0.0496 speedup: 4.82 err: 4.56897e-08
trial 3: builtin: 0.2281 GrB: 0.0588 speedup: 3.88 err: 4.56897e-08
trial 4: builtin: 0.2343 GrB: 0.0505 speedup: 4.64 err: 4.56897e-08
average: builtin: 0.2368 GrB: 0.0574 speedup: 4.12
C=A*x: sparse matrix times dense vector:
trial 1: builtin: 0.0932 GrB: 0.0573 speedup: 1.63 err: 5.75158e-08
trial 2: builtin: 0.0906 GrB: 0.0578 speedup: 1.57 err: 5.75158e-08
trial 3: builtin: 0.0896 GrB: 0.0570 speedup: 1.57 err: 5.75158e-08
trial 4: builtin: 0.0921 GrB: 0.0571 speedup: 1.61 err: 5.75158e-08
average: builtin: 0.0914 GrB: 0.0573 speedup: 1.59
=== builtin: double complex vs GraphBLAS: double complex
C=A*B: sparse matrix times sparse matrix:
trial 1: builtin: 6.0286 GrB: 3.9882 speedup: 1.51 err: 0
trial 2: builtin: 6.1365 GrB: 3.9255 speedup: 1.56 err: 0
trial 3: builtin: 6.0697 GrB: 3.9323 speedup: 1.54 err: 0
trial 4: builtin: 6.0473 GrB: 3.9100 speedup: 1.55 err: 0
average: builtin: 6.0705 GrB: 3.9390 speedup: 1.54
C=A*x: sparse matrix times sparse vector:
trial 1: builtin: 0.2305 GrB: 0.1006 speedup: 2.29 err: 0
trial 2: builtin: 0.2283 GrB: 0.0865 speedup: 2.64 err: 0
trial 3: builtin: 0.2120 GrB: 0.0801 speedup: 2.65 err: 0
trial 4: builtin: 0.2297 GrB: 0.0870 speedup: 2.64 err: 0
average: builtin: 0.2251 GrB: 0.0885 speedup: 2.54
C=A*x: sparse matrix times dense vector:
trial 1: builtin: 0.0993 GrB: 0.0900 speedup: 1.10 err: 0
trial 2: builtin: 0.0980 GrB: 0.0973 speedup: 1.01 err: 0
trial 3: builtin: 0.0964 GrB: 0.1000 speedup: 0.96 err: 0
trial 4: builtin: 0.0970 GrB: 0.0905 speedup: 1.07 err: 0
average: builtin: 0.0977 GrB: 0.0944 speedup: 1.03
-------------------------------------------------
Testing performance of C=A*B using 4 threads:
-------------------------------------------------
=== builtin: double (real) vs GraphBLAS: single
C=A*B: sparse matrix times sparse matrix:
trial 1: builtin: 3.0710 GrB: 1.1738 speedup: 2.62 err: 1.66754e-07
trial 2: builtin: 3.2605 GrB: 1.1203 speedup: 2.91 err: 1.66754e-07
trial 3: builtin: 3.2421 GrB: 1.1311 speedup: 2.87 err: 1.66754e-07
trial 4: builtin: 3.2263 GrB: 1.1259 speedup: 2.87 err: 1.66754e-07
average: builtin: 3.2000 GrB: 1.1378 speedup: 2.81
C=A*x: sparse matrix times sparse vector:
trial 1: builtin: 0.2265 GrB: 0.0290 speedup: 7.82 err: 3.59729e-08
trial 2: builtin: 0.2077 GrB: 0.0168 speedup: 12.36 err: 3.59399e-08
trial 3: builtin: 0.1993 GrB: 0.0172 speedup: 11.59 err: 3.59533e-08
trial 4: builtin: 0.2031 GrB: 0.0180 speedup: 11.25 err: 3.59502e-08
average: builtin: 0.2091 GrB: 0.0202 speedup: 10.33
C=A*x: sparse matrix times dense vector:
trial 1: builtin: 0.0366 GrB: 0.0302 speedup: 1.21 err: 4.8658e-08
trial 2: builtin: 0.0401 GrB: 0.0315 speedup: 1.27 err: 4.86415e-08
trial 3: builtin: 0.0401 GrB: 0.0318 speedup: 1.26 err: 4.86721e-08
trial 4: builtin: 0.0401 GrB: 0.0319 speedup: 1.26 err: 4.86539e-08
average: builtin: 0.0392 GrB: 0.0314 speedup: 1.25
=== builtin: double (real) vs GraphBLAS: double
C=A*B: sparse matrix times sparse matrix:
trial 1: builtin: 3.1586 GrB: 1.2946 speedup: 2.44 err: 0
trial 2: builtin: 3.2542 GrB: 1.2840 speedup: 2.53 err: 0
trial 3: builtin: 3.2285 GrB: 1.3714 speedup: 2.35 err: 0
trial 4: builtin: 3.2369 GrB: 1.2709 speedup: 2.55 err: 0
average: builtin: 3.2196 GrB: 1.3052 speedup: 2.47
C=A*x: sparse matrix times sparse vector:
trial 1: builtin: 0.2305 GrB: 0.0337 speedup: 6.84 err: 1.06104e-18
trial 2: builtin: 0.2069 GrB: 0.0199 speedup: 10.42 err: 1.11635e-18
trial 3: builtin: 0.1969 GrB: 0.0266 speedup: 7.39 err: 5.18379e-19
trial 4: builtin: 0.1958 GrB: 0.0246 speedup: 7.95 err: 4.79398e-19
average: builtin: 0.2075 GrB: 0.0262 speedup: 7.92
C=A*x: sparse matrix times dense vector:
trial 1: builtin: 0.0381 GrB: 0.0311 speedup: 1.22 err: 2.40621e-18
trial 2: builtin: 0.0412 GrB: 0.0316 speedup: 1.30 err: 2.32578e-18
trial 3: builtin: 0.0420 GrB: 0.0319 speedup: 1.32 err: 2.38401e-18
trial 4: builtin: 0.0400 GrB: 0.0325 speedup: 1.23 err: 2.43923e-18
average: builtin: 0.0403 GrB: 0.0318 speedup: 1.27
=== builtin: double complex vs GraphBLAS: single complex
C=A*B: sparse matrix times sparse matrix:
trial 1: builtin: 6.1511 GrB: 1.6564 speedup: 3.71 err: 1.67076e-07
trial 2: builtin: 6.1331 GrB: 1.6563 speedup: 3.70 err: 1.67076e-07
trial 3: builtin: 6.1641 GrB: 1.6603 speedup: 3.71 err: 1.67076e-07
trial 4: builtin: 6.1658 GrB: 1.6696 speedup: 3.69 err: 1.67076e-07
average: builtin: 6.1535 GrB: 1.6606 speedup: 3.71
C=A*x: sparse matrix times sparse vector:
trial 1: builtin: 0.2841 GrB: 0.0373 speedup: 7.61 err: 4.57626e-08
trial 2: builtin: 0.2577 GrB: 0.0236 speedup: 10.92 err: 4.57741e-08
trial 3: builtin: 0.2532 GrB: 0.0235 speedup: 10.77 err: 4.5745e-08
trial 4: builtin: 0.2539 GrB: 0.0231 speedup: 10.97 err: 4.57588e-08
average: builtin: 0.2622 GrB: 0.0269 speedup: 9.75
C=A*x: sparse matrix times dense vector:
trial 1: builtin: 0.1010 GrB: 0.0563 speedup: 1.79 err: 5.73907e-08
trial 2: builtin: 0.1041 GrB: 0.0576 speedup: 1.81 err: 5.73975e-08
trial 3: builtin: 0.1057 GrB: 0.0582 speedup: 1.82 err: 5.73847e-08
trial 4: builtin: 0.1040 GrB: 0.0585 speedup: 1.78 err: 5.73969e-08
average: builtin: 0.1037 GrB: 0.0577 speedup: 1.80
=== builtin: double complex vs GraphBLAS: double complex
C=A*B: sparse matrix times sparse matrix:
trial 1: builtin: 6.1252 GrB: 1.6972 speedup: 3.61 err: 0
trial 2: builtin: 6.1505 GrB: 1.7211 speedup: 3.57 err: 0
trial 3: builtin: 6.1563 GrB: 1.8016 speedup: 3.42 err: 0
trial 4: builtin: 6.0962 GrB: 1.7277 speedup: 3.53 err: 0
average: builtin: 6.1320 GrB: 1.7369 speedup: 3.53
C=A*x: sparse matrix times sparse vector:
trial 1: builtin: 0.2831 GrB: 0.0518 speedup: 5.47 err: 9.70922e-19
trial 2: builtin: 0.2546 GrB: 0.0323 speedup: 7.89 err: 9.77494e-19
trial 3: builtin: 0.2458 GrB: 0.0321 speedup: 7.66 err: 9.85446e-19
trial 4: builtin: 0.2464 GrB: 0.0319 speedup: 7.72 err: 9.65811e-19
average: builtin: 0.2575 GrB: 0.0370 speedup: 6.96
C=A*x: sparse matrix times dense vector:
trial 1: builtin: 0.1036 GrB: 0.0618 speedup: 1.68 err: 1.95098e-18
trial 2: builtin: 0.1152 GrB: 0.0670 speedup: 1.72 err: 1.9996e-18
trial 3: builtin: 0.1152 GrB: 0.0681 speedup: 1.69 err: 1.9647e-18
trial 4: builtin: 0.1157 GrB: 0.0686 speedup: 1.69 err: 2.0081e-18
average: builtin: 0.1124 GrB: 0.0664 speedup: 1.69
-------------------------------------------------
Testing performance of C=A*B using 8 threads:
-------------------------------------------------
=== builtin: double (real) vs GraphBLAS: single
C=A*B: sparse matrix times sparse matrix:
trial 1: builtin: 3.1757 GrB: 1.1523 speedup: 2.76 err: 1.66299e-07
trial 2: builtin: 3.2655 GrB: 1.1644 speedup: 2.80 err: 1.66299e-07
trial 3: builtin: 3.2497 GrB: 1.1830 speedup: 2.75 err: 1.66299e-07
trial 4: builtin: 3.2368 GrB: 1.1804 speedup: 2.74 err: 1.66299e-07
average: builtin: 3.2319 GrB: 1.1700 speedup: 2.76
C=A*x: sparse matrix times sparse vector:
trial 1: builtin: 0.2487 GrB: 0.0258 speedup: 9.66 err: 3.59098e-08
trial 2: builtin: 0.2187 GrB: 0.0140 speedup: 15.58 err: 3.58929e-08
trial 3: builtin: 0.2044 GrB: 0.0138 speedup: 14.77 err: 3.58856e-08
trial 4: builtin: 0.2067 GrB: 0.0136 speedup: 15.16 err: 3.59008e-08
average: builtin: 0.2196 GrB: 0.0168 speedup: 13.06
C=A*x: sparse matrix times dense vector:
trial 1: builtin: 0.0432 GrB: 0.0288 speedup: 1.50 err: 4.84787e-08
trial 2: builtin: 0.0381 GrB: 0.0278 speedup: 1.37 err: 4.84694e-08
trial 3: builtin: 0.0401 GrB: 0.0294 speedup: 1.36 err: 4.84549e-08
trial 4: builtin: 0.0414 GrB: 0.0291 speedup: 1.42 err: 4.84613e-08
average: builtin: 0.0407 GrB: 0.0288 speedup: 1.41
=== builtin: double (real) vs GraphBLAS: double
C=A*B: sparse matrix times sparse matrix:
trial 1: builtin: 3.1909 GrB: 1.3223 speedup: 2.41 err: 0
trial 2: builtin: 3.2724 GrB: 1.3732 speedup: 2.38 err: 0
trial 3: builtin: 3.2548 GrB: 1.3553 speedup: 2.40 err: 0
trial 4: builtin: 3.2509 GrB: 1.3373 speedup: 2.43 err: 0
average: builtin: 3.2423 GrB: 1.3470 speedup: 2.41
C=A*x: sparse matrix times sparse vector:
trial 1: builtin: 0.2316 GrB: 0.0335 speedup: 6.91 err: 2.28145e-18
trial 2: builtin: 0.2024 GrB: 0.0182 speedup: 11.15 err: 2.223e-18
trial 3: builtin: 0.1958 GrB: 0.0192 speedup: 10.22 err: 1.84492e-18
trial 4: builtin: 0.2012 GrB: 0.0183 speedup: 11.01 err: 2.0961e-18
average: builtin: 0.2078 GrB: 0.0223 speedup: 9.33
C=A*x: sparse matrix times dense vector:
trial 1: builtin: 0.0408 GrB: 0.0285 speedup: 1.43 err: 4.84536e-18
trial 2: builtin: 0.0413 GrB: 0.0278 speedup: 1.49 err: 4.42375e-18
trial 3: builtin: 0.0416 GrB: 0.0275 speedup: 1.51 err: 4.95095e-18
trial 4: builtin: 0.0402 GrB: 0.0314 speedup: 1.28 err: 3.95661e-18
average: builtin: 0.0410 GrB: 0.0288 speedup: 1.42
=== builtin: double complex vs GraphBLAS: single complex
C=A*B: sparse matrix times sparse matrix:
trial 1: builtin: 6.0668 GrB: 1.6896 speedup: 3.59 err: 1.71854e-07
trial 2: builtin: 6.0933 GrB: 1.7084 speedup: 3.57 err: 1.71854e-07
trial 3: builtin: 6.1232 GrB: 1.6972 speedup: 3.61 err: 1.71854e-07
trial 4: builtin: 6.1122 GrB: 1.7244 speedup: 3.54 err: 1.71854e-07
average: builtin: 6.0989 GrB: 1.7049 speedup: 3.58
C=A*x: sparse matrix times sparse vector:
trial 1: builtin: 0.2756 GrB: 0.0355 speedup: 7.76 err: 4.58439e-08
trial 2: builtin: 0.2701 GrB: 0.0209 speedup: 12.95 err: 4.58386e-08
trial 3: builtin: 0.2532 GrB: 0.0200 speedup: 12.68 err: 4.58447e-08
trial 4: builtin: 0.2559 GrB: 0.0216 speedup: 11.87 err: 4.58186e-08
average: builtin: 0.2637 GrB: 0.0245 speedup: 10.77
C=A*x: sparse matrix times dense vector:
trial 1: builtin: 0.1061 GrB: 0.0476 speedup: 2.23 err: 5.73407e-08
trial 2: builtin: 0.1106 GrB: 0.0495 speedup: 2.23 err: 5.73505e-08
trial 3: builtin: 0.1134 GrB: 0.0500 speedup: 2.27 err: 5.73444e-08
trial 4: builtin: 0.1150 GrB: 0.0522 speedup: 2.20 err: 5.7358e-08
average: builtin: 0.1113 GrB: 0.0498 speedup: 2.23
=== builtin: double complex vs GraphBLAS: double complex
C=A*B: sparse matrix times sparse matrix:
trial 1: builtin: 6.0969 GrB: 1.7930 speedup: 3.40 err: 0
trial 2: builtin: 6.1184 GrB: 1.8122 speedup: 3.38 err: 0
trial 3: builtin: 6.1158 GrB: 1.8328 speedup: 3.34 err: 0
trial 4: builtin: 6.1138 GrB: 1.8012 speedup: 3.39 err: 0
average: builtin: 6.1112 GrB: 1.8098 speedup: 3.38
C=A*x: sparse matrix times sparse vector:
trial 1: builtin: 0.2670 GrB: 0.0503 speedup: 5.31 err: 1.88567e-18
trial 2: builtin: 0.2464 GrB: 0.0310 speedup: 7.94 err: 2.2629e-18
trial 3: builtin: 0.2467 GrB: 0.0282 speedup: 8.75 err: 2.01905e-18
trial 4: builtin: 0.2347 GrB: 0.0308 speedup: 7.63 err: 1.99707e-18
average: builtin: 0.2487 GrB: 0.0351 speedup: 7.09
C=A*x: sparse matrix times dense vector:
trial 1: builtin: 0.1116 GrB: 0.0456 speedup: 2.45 err: 5.15931e-18
trial 2: builtin: 0.1054 GrB: 0.0501 speedup: 2.10 err: 4.00492e-18
trial 3: builtin: 0.1028 GrB: 0.0608 speedup: 1.69 err: 2.70972e-18
trial 4: builtin: 0.1141 GrB: 0.0589 speedup: 1.94 err: 3.73043e-18
average: builtin: 0.1085 GrB: 0.0538 speedup: 2.01
|