SimEng
SimEng copied to clipboard
Tage
Adding a TAGE branch predictor.
Performance relative to previous best (Perceptron) summarised below:
| Benchmark | BP_update time | BP_update mispredict | TAGE time | TAGE mispredict | Performance change (percentage) | Mispredict change (raw) |
|---|---|---|---|---|---|---|
| CloverLeaf serial gcc8.3.0 armv8.4 | 11715 | 10.70% | 10511 | 2.06% | -10.28% ✅ | -8.64% ✅ |
| CloverLeaf serial gcc9.3.0 armv8.4 | 11830 | 10.40% | 10321 | 1.85% | -12.76% ✅ | -8.55% ✅ |
| CloverLeaf serial gcc10.3.0 armv8.4 | 12457 | 12.70% | 10550 | 1.74% | -15.31% ✅ | -10.96% ✅ |
| CloverLeaf serial armclang20 armv8.4 | 11041 | 14.50% | 9069 | 1.85% | -17.86% ✅ | -12.65% ✅ |
| CloverLeaf openmp gcc8.3.0 armv8.4 | 15635 | 9.78% | 14530 | 2.00% | -7.07% ✅ | -7.78% ✅ |
| CloverLeaf openmp gcc9.3.0 armv8.4 | 15559 | 7.82% | 14680 | 1.64% | -5.65% ✅ | -6.18% ✅ |
| CloverLeaf openmp gcc10.3.0 armv8.4 | 15291 | 9.33% | 13872 | 1.56% | -9.28% ✅ | -7.77% ✅ |
| CloverLeaf openmp armclang20 armv8.4 | 13939 | 13.30% | 12273 | 1.74% | -11.95% ✅ | -11.56% ✅ |
| miniBUDE openmp gcc8.3.0 armv8.4 | 21292 | 7.37% | 20613 | 5.71% | -3.19% ✅ | -1.66% ✅ |
| miniBUDE openmp gcc9.3.0 armv8.4 | 20652 | 7.43% | 20364 | 5.71% | -1.39% ✅ | -1.72% ✅ |
| miniBUDE openmp gcc10.3.0 armv8.4 | 20810 | 7.41% | 20691 | 5.71% | -0.57% ✅ | -1.70% ✅ |
| miniBUDE openmp armclang20 armv8.4 | 19365 | 10.30% | 19808 | 5.05% | +2.29% ❌ | -5.25% ✅ |
| STREAM serial gcc8.3.0 armv8.4 | 6619 | 0.51% | 6672 | 0.42% | +0.80% ❌ | -0.09% ✅ |
| STREAM serial gcc9.3.0 armv8.4 | 6612 | 0.50% | 6778 | 0.42% | +2.51% ❌ | -0.08% ✅ |
| STREAM serial gcc10.3.0 armv8.4 | 6583 | 0.44% | 6649 | 0.42% | +1.00% ❌ | -0.03% ✅ |
| STREAM serial armclang20 armv8.4 | 7018 | 1.01% | 7071 | 0.75% | +0.76% ❌ | -0.26% ✅ |
| STREAM openmp gcc8.3.0 armv8.4 | 10200 | 1.90% | 10066 | 0.67% | -1.31% ✅ | -1.23% ✅ |
| STREAM openmp gcc9.3.0 armv8.4 | 10037 | 2.08% | 9859 | 0.50% | -1.77% ✅ | -1.58% ✅ |
| STREAM openmp gcc10.3.0 armv8.4 | 9814 | 1.81% | 9799 | 0.63% | -0.15% ✅ | -1.18% ✅ |
| STREAM openmp armclang20 armv8.4 | 10292 | 3.04% | 10459 | 1.21% | +1.62% ❌ | -1.83% ✅ |
| TeaLeaf 2D serial gcc8.3.0 armv8.4 | 11874 | 15.20% | 10871 | 1.04% | -8.45% ✅ | -14.16% ✅ |
| TeaLeaf 2D serial gcc9.3.0 armv8.4 | 11846 | 15.20% | 10847 | 1.05% | -8.43% ✅ | -14.15% ✅ |
| TeaLeaf 2D serial gcc10.3.0 armv8.4 | 12020 | 15.20% | 11078 | 1.05% | -7.84% ✅ | -14.15% ✅ |
| TeaLeaf 2D serial armclang20 armv8.4 | 21353 | 9.16% | 20597 | 3.27% | -3.54% ✅ | -5.89% ✅ |
| TeaLeaf 2D openmp gcc8.3.0 armv8.4 | 17221 | 7.05% | 16118 | 1.18% | -6.40% ✅ | -5.87% ✅ |
| TeaLeaf 2D openmp gcc9.3.0 armv8.4 | 17224 | 7.75% | 16485 | 1.43% | -4.29% ✅ | -6.32% ✅ |
| TeaLeaf 2D openmp gcc10.3.0 armv8.4 | 16595 | 6.70% | 16221 | 0.85% | -2.25% ✅ | -5.85% ✅ |
| TeaLeaf 2D openmp armclang20 armv8.4 | 52356 | 9.29% | 50683 | 2.38% | -3.20% ✅ | -6.91% ✅ |
| TeaLeaf 3D serial gcc8.3.0 armv8.4 | 13645 | 8.73% | 13203 | 1.15% | -3.24% ✅ | -7.58% ✅ |
| TeaLeaf 3D serial gcc9.3.0 armv8.4 | 14157 | 10.70% | 13463 | 1.57% | -4.90% ✅ | -9.13% ✅ |
| TeaLeaf 3D serial gcc10.3.0 armv8.4 | 14331 | 11.00% | 13167 | 1.50% | -8.12% ✅ | -9.50% ✅ |
| TeaLeaf 3D serial armclang20 armv8.4 | 19199 | 22.40% | 16675 | 1.69% | -13.15% ✅ | -20.71% ✅ |
| TeaLeaf 3D openmp gcc8.3.0 armv8.4 | 22251 | 7.62% | 21775 | 2.30% | -2.14% ✅ | -5.32% ✅ |
| TeaLeaf 3D openmp gcc9.3.0 armv8.4 | 22774 | 9.03% | 21750 | 1.47% | -4.50% ✅ | -7.56% ✅ |
| TeaLeaf 3D openmp gcc10.3.0 armv8.4 | 22229 | 8.33% | 20867 | 0.99% | -6.13% ✅ | -7.34% ✅ |
| TeaLeaf 3D openmp armclang20 armv8.4 | 40910 | 16.90% | 37148 | 1.30% | -9.20% ✅ | -15.60% ✅ |
| CloverLeaf serial gcc8.3.0 armv8.4+sve | 11137 | 10.90% | 9820 | 2.31% | -11.83% ✅ | -8.59% ✅ |
| CloverLeaf serial gcc9.3.0 armv8.4+sve | 11051 | 9.98% | 9909 | 1.86% | -10.33% ✅ | -8.12% ✅ |
| CloverLeaf serial gcc10.3.0 armv8.4+sve | 11140 | 12.80% | 9462 | 1.80% | -15.06% ✅ | -11.00% ✅ |
| CloverLeaf serial armclang20 armv8.4+sve | 11051 | 13.30% | 9280 | 1.50% | -16.03% ✅ | -11.80% ✅ |
| CloverLeaf openmp gcc8.3.0 armv8.4+sve | 14845 | 9.65% | 13076 | 1.87% | -11.92% ✅ | -7.78% ✅ |
| CloverLeaf openmp gcc9.3.0 armv8.4+sve | 15310 | 7.96% | 13208 | 1.80% | -13.73% ✅ | -6.16% ✅ |
| CloverLeaf openmp gcc10.3.0 armv8.4+sve | 14754 | 9.62% | 13397 | 1.56% | -9.20% ✅ | -8.06% ✅ |
| CloverLeaf openmp armclang20 armv8.4+sve | 14309 | 12.20% | 12493 | 1.29% | -12.69% ✅ | -10.91% ✅ |
| miniBUDE openmp gcc8.3.0 armv8.4+sve | 8707 | 14.20% | 7917 | 3.61% | -9.07% ✅ | -10.59% ✅ |
| miniBUDE openmp gcc9.3.0 armv8.4+sve | 8440 | 7.43% | 7656 | 3.54% | -9.29% ✅ | -3.89% ✅ |
| miniBUDE openmp gcc10.3.0 armv8.4+sve | 8458 | 7.41% | 7695 | 3.41% | -9.02% ✅ | -4.00% ✅ |
| miniBUDE openmp armclang20 armv8.4+sve | 8655 | 20.30% | 7961 | 1.21% | -8.02% ✅ | -19.09% ✅ |
| STREAM serial gcc8.3.0 armv8.4+sve | 3521 | 1.51% | 3572 | 1.28% | +1.45% ❌ | -0.23% ✅ |
| STREAM serial gcc9.3.0 armv8.4+sve | 3534 | 1.50% | 3980 | 1.28% | +12.62% ❌ | -0.22% ✅ |
| STREAM serial gcc10.3.0 armv8.4+sve | 3481 | 1.44% | 3787 | 1.28% | +8.79% ❌ | -0.16% ✅ |
| STREAM serial armclang20 armv8.4+sve | 2207 | 2.01% | 2268 | 1.46% | +2.76% ❌ | -0.55% ✅ |
| STREAM openmp gcc8.3.0 armv8.4+sve | 6821 | 3.90% | 6740 | 1.79% | -1.19% ✅ | -2.11% ✅ |
| STREAM openmp gcc9.3.0 armv8.4+sve | 7198 | 3.08% | 6686 | 1.01% | -7.11% ✅ | -2.07% ✅ |
| STREAM openmp gcc10.3.0 armv8.4+sve | 7067 | 2.81% | 6646 | 1.18% | -5.96% ✅ | -1.63% ✅ |
| STREAM openmp armclang20 armv8.4+sve | 6428 | 3.04% | 5867 | 1.44% | -8.73% ✅ | -1.60% ✅ |
| TeaLeaf 2D serial gcc8.3.0 armv8.4+sve | 11725 | 15.20% | 10942 | 1.04% | -6.68% ✅ | -14.16% ✅ |
| TeaLeaf 2D serial gcc9.3.0 armv8.4+sve | 11584 | 15.20% | 10899 | 1.04% | -5.91% ✅ | -14.16% ✅ |
| TeaLeaf 2D serial gcc10.3.0 armv8.4+sve | 11879 | 15.20% | 11034 | 1.05% | -7.11% ✅ | -14.15% ✅ |
| TeaLeaf 2D serial armclang20 armv8.4+sve | 11137 | 9.16% | 7370 | 0.87% | -33.82% ✅ | -8.29% ✅ |
| TeaLeaf 2D openmp gcc8.3.0 armv8.4+sve | 17041 | 7.05% | 16349 | 1.18% | -4.06% ✅ | -5.87% ✅ |
| TeaLeaf 2D openmp gcc9.3.0 armv8.4+sve | 17451 | 7.75% | 16532 | 1.43% | -5.27% ✅ | -6.32% ✅ |
| TeaLeaf 2D openmp gcc10.3.0 armv8.4+sve | 16463 | 6.70% | 16187 | 0.85% | -1.68% ✅ | -5.85% ✅ |
| TeaLeaf 2D openmp armclang20 armv8.4+sve | 52701 | 9.29% | 49203 | 1.63% | -6.64% ✅ | -7.66% ✅ |
| TeaLeaf 3D serial gcc8.3.0 armv8.4+sve | 12169 | 18.73% | 10629 | 1.60% | -12.66% ✅ | -17.13% ✅ |
| TeaLeaf 3D serial gcc9.3.0 armv8.4+sve | 12183 | 18.70% | 10639 | 1.07% | -12.67% ✅ | -17.63% ✅ |
| TeaLeaf 3D serial gcc10.3.0 armv8.4+sve | 12405 | 18.30% | 10616 | 1.58% | -14.42% ✅ | -16.72% ✅ |
| TeaLeaf 3D serial armclang20 armv8.4+sve | 19363 | 22.40% | 15654 | 1.42% | -19.16% ✅ | -20.98% ✅ |
| TeaLeaf 3D openmp gcc8.3.0 armv8.4+sve | 21676 | 7.62% | 18948 | 2.22% | -12.59% ✅ | -5.40% ✅ |
| TeaLeaf 3D openmp gcc9.3.0 armv8.4+sve | 20728 | 9.03% | 18989 | 1.51% | -8.39% ✅ | -7.52% ✅ |
| TeaLeaf 3D openmp gcc10.3.0 armv8.4+sve | 20438 | 8.33% | 18652 | 0.85% | -8.74% ✅ | -7.48% ✅ |
| TeaLeaf 3D openmp armclang20 armv8.4+sve | 41040 | 8.49% | 37791 | 0.88% | -7.92% ✅ | -7.61% ✅ |
Could you also add tage to the a64fx_SME.yaml config