| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Note: Eigen's multithreading relies on OpenMP, not available in production on mobile platforms. Eigen is what TensorFlow Lite used before ruy. EigenTensor and ruy's multithreading use only c++11 threads. OpenBLAS' multithreading was not easily available to us so was left out in these benchmarks. | |||||||||||||||||||||||||
2 | ||||||||||||||||||||||||||
3 | ||||||||||||||||||||||||||
4 | ||||||||||||||||||||||||||
5 | ||||||||||||||||||||||||||
6 | ||||||||||||||||||||||||||
7 | ||||||||||||||||||||||||||
8 | ||||||||||||||||||||||||||
9 | ||||||||||||||||||||||||||
10 | ||||||||||||||||||||||||||
11 | ||||||||||||||||||||||||||
12 | ||||||||||||||||||||||||||
13 | XXXXXXXXXXX Float cubic | |||||||||||||||||||||||||
14 | ||||||||||||||||||||||||||
15 | ||||||||||||||||||||||||||
16 | ||||||||||||||||||||||||||
17 | ||||||||||||||||||||||||||
18 | ||||||||||||||||||||||||||
19 | ||||||||||||||||||||||||||
20 | ||||||||||||||||||||||||||
21 | ||||||||||||||||||||||||||
22 | ### cpumask=0f numthreads=1 | |||||||||||||||||||||||||
23 | ||||||||||||||||||||||||||
24 | ||||||||||||||||||||||||||
25 | size | ruy | Eigen | EigenTensor | OpenBLAS | |||||||||||||||||||||
26 | 16 | 2.679 | 1.049 | 1.14 | 1.203 | |||||||||||||||||||||
27 | 24 | 2.688 | 1.346 | 1.473 | 1.512 | |||||||||||||||||||||
28 | 32 | 4.587 | 2.099 | 2.418 | 2.3 | |||||||||||||||||||||
29 | 48 | 5.774 | 2.789 | 3.123 | 3.044 | |||||||||||||||||||||
30 | 64 | 6.17 | 3.201 | 3.381 | 3.568 | |||||||||||||||||||||
31 | 96 | 7.037 | 3.821 | 3.604 | 4.401 | |||||||||||||||||||||
32 | 128 | 7.474 | 3.925 | 3.999 | 4.816 | |||||||||||||||||||||
33 | 192 | 7.602 | 4.533 | 4.801 | 5.376 | |||||||||||||||||||||
34 | 256 | 6.914 | 4.36 | 4.357 | 5.117 | |||||||||||||||||||||
35 | 384 | 8.124 | 5.038 | 4.928 | 5.802 | |||||||||||||||||||||
36 | 512 | 8.313 | 5.535 | 5.671 | 6.108 | |||||||||||||||||||||
37 | 768 | 9.071 | 5.307 | 5.308 | 6.473 | |||||||||||||||||||||
38 | 1024 | 9.113 | 5.342 | 5.348 | 6.739 | |||||||||||||||||||||
39 | 1536 | 9.44 | 5.509 | 5.557 | 6.987 | |||||||||||||||||||||
40 | 2048 | 9.381 | 5.41 | 5.359 | 7.099 | |||||||||||||||||||||
41 | 3072 | 7.298 | 5.766 | 5.767 | 7.309 | |||||||||||||||||||||
42 | 4096 | 8.803 | 5.649 | 5.706 | 7.283 | |||||||||||||||||||||
43 | ||||||||||||||||||||||||||
44 | ||||||||||||||||||||||||||
45 | ||||||||||||||||||||||||||
46 | ### cpumask=0f numthreads=4 | |||||||||||||||||||||||||
47 | ||||||||||||||||||||||||||
48 | ||||||||||||||||||||||||||
49 | size | ruy | Eigen | EigenTensor | ||||||||||||||||||||||
50 | 16 | 2.585 | 1.028 | 1.099 | ||||||||||||||||||||||
51 | 24 | 2.775 | 1.344 | 1.46 | ||||||||||||||||||||||
52 | 32 | 4.742 | 2.084 | 2.38 | ||||||||||||||||||||||
53 | 48 | 10.24 | 3.5 | 3.104 | ||||||||||||||||||||||
54 | 64 | 14.8 | 5.502 | 3.433 | ||||||||||||||||||||||
55 | 96 | 20.38 | 7.749 | 4.84 | ||||||||||||||||||||||
56 | 128 | 25.03 | 7.587 | 7.489 | ||||||||||||||||||||||
57 | 192 | 28.36 | 10.74 | 8.525 | ||||||||||||||||||||||
58 | 256 | 28.01 | 11.75 | 4.251 | ||||||||||||||||||||||
59 | 384 | 31.86 | 14.69 | 6.857 | ||||||||||||||||||||||
60 | 512 | 32.83 | 16.27 | 10.75 | ||||||||||||||||||||||
61 | 768 | 36.56 | 18.04 | 16.46 | ||||||||||||||||||||||
62 | 1024 | 35.84 | 19.08 | 18.32 | ||||||||||||||||||||||
63 | 1536 | 37.23 | 20.38 | 19.84 | ||||||||||||||||||||||
64 | 2048 | 36.7 | 20.94 | 19.86 | ||||||||||||||||||||||
65 | 3072 | 34.84 | 21.9 | 21.47 | ||||||||||||||||||||||
66 | 4096 | 37.47 | 22.18 | 21.43 | ||||||||||||||||||||||
67 | ||||||||||||||||||||||||||
68 | ||||||||||||||||||||||||||
69 | ||||||||||||||||||||||||||
70 | ### cpumask=0f numthreads=1 BENCHMARK_ONLY_MATMUL=1 | |||||||||||||||||||||||||
71 | ||||||||||||||||||||||||||
72 | ||||||||||||||||||||||||||
73 | size | ruy | Eigen | EigenTensor | OpenBLAS | |||||||||||||||||||||
74 | 16 | 2.612 | 1.893 | 1.653 | 2.162 | |||||||||||||||||||||
75 | 24 | 2.826 | 2.037 | 1.872 | 2.304 | |||||||||||||||||||||
76 | 32 | 4.549 | 3.388 | 3.168 | 3.665 | |||||||||||||||||||||
77 | 48 | 5.724 | 4.149 | 3.933 | 4.569 | |||||||||||||||||||||
78 | 64 | 6.299 | 4.496 | 4.074 | 5.071 | |||||||||||||||||||||
79 | 96 | 7.016 | 5.174 | 4.205 | 5.846 | |||||||||||||||||||||
80 | 128 | 7.352 | 5.022 | 4.613 | 6.251 | |||||||||||||||||||||
81 | 192 | 7.454 | 5.377 | 5.281 | 6.25 | |||||||||||||||||||||
82 | 256 | 7.02 | 4.877 | 4.59 | 5.692 | |||||||||||||||||||||
83 | 384 | 8.079 | 5.466 | 5.211 | 6.319 | |||||||||||||||||||||
84 | 512 | 8.307 | 5.655 | 5.477 | 6.513 | |||||||||||||||||||||
85 | 768 | 9.227 | 5.411 | 5.273 | 6.754 | |||||||||||||||||||||
86 | 1024 | 9.122 | 5.495 | 5.358 | 6.88 | |||||||||||||||||||||
87 | 1536 | 9.347 | 5.614 | 5.632 | 7.074 | |||||||||||||||||||||
88 | 2048 | 9.448 | 5.52 | 5.909 | 7.188 | |||||||||||||||||||||
89 | 3072 | 7.243 | 5.802 | 5.776 | 7.411 | |||||||||||||||||||||
90 | 4096 | 7.273 | 5.739 | 5.635 | 7.381 | |||||||||||||||||||||
91 | ||||||||||||||||||||||||||
92 | ||||||||||||||||||||||||||
93 | ||||||||||||||||||||||||||
94 | ### cpumask=0f numthreads=4 BENCHMARK_ONLY_MATMUL=1 | |||||||||||||||||||||||||
95 | ||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||
97 | size | ruy | Eigen | EigenTensor | ||||||||||||||||||||||
98 | 16 | 2.68 | 1.892 | 1.63 | ||||||||||||||||||||||
99 | 24 | 2.891 | 2.022 | 1.915 | ||||||||||||||||||||||
100 | 32 | 4.75 | 3.363 | 3.151 |