Thread Starter
- Mitglied seit
- 18.02.2005
- Beiträge
- 5.899
Zum Vergleich AMD Ryzen gegen Intel Skylake habe ich folgende Tests durchgeführt:
Hardware Intel: Xeon E3-1245v5 auf MSI C236A Workstation mit 2x 8 GB Samsung DDR4 ECC 2133
Hardware AMD: Ryzen 1800X auf Asus Prime B350 plus mit 2x 8 GB Crucial DDR4 2133
beide laufen unter Last auf allen logischen Kernen auf 3,7 GHz
Ergebnis:
Bei diesen Ergebnissen ist jeweils eine Ungenauigkeit von ein paar Prozent, da Schach Engines, die multi-threaded laufen, nicht deterministisch arbeiten.
Es gibt unterschiedliche Kompiler Optionen - die popcnt Versionen nutzen die im Schach wertvolle Instruktion POPCNT aus dem Instruktionssatz SSE 4.2 - damit kann man z.B. mit einem Befehl zählen, wieviele Bauern auf dem Spielfeld sind. Die bmi2 Versionen nutzen darüberhinaus den BMI2-Instruktionssatz. Das sollte die Performance eigentlich verbessern - bei Intel klappt das auch, wie man an den Ergebnissen sieht. Beim Ryzen scheint da ein schwerwiegendes Problem zu sein.
Edit:
Im single-thread Modus (da läuft der Ryzen auf 4,1 GHz) gibt es folgende Ergebnisse:
Stockfish_8_x64_popcnt 1,591 Mn/s, Stockfish_8_x64_bmi2 1,156 Mn/s. Diese Ergebnisse sind übrigens extrem genau - im single-thread Modus sind die Ergebnisse deterministisch. Also 27,3% Performance Verlust durch die BMI2 Option.
Hardware Intel: Xeon E3-1245v5 auf MSI C236A Workstation mit 2x 8 GB Samsung DDR4 ECC 2133
Hardware AMD: Ryzen 1800X auf Asus Prime B350 plus mit 2x 8 GB Crucial DDR4 2133
beide laufen unter Last auf allen logischen Kernen auf 3,7 GHz
Ergebnis:
Engine | Intel | AMD | Unterschied |
Komodo 10.3 | 7,75 Mn/s | 14,86 Mn/s | 92% |
asmFishW_2017_02_15_popcnt | 10,60 Mn/s | 19,21 Mn/s | 81% |
asmFishW_2017_02_15_bmi2 | 10,91 Mn/s | 14,25 Mn/s | 31% |
Stockfish_8_x64_popcnt | 8,36 Mn/s | 16,51 Mn/s | 97% |
Stockfish_8_x64_bmi2 | 8,69 Mn/s | 12,36 Mn/s | 42% |
Bei diesen Ergebnissen ist jeweils eine Ungenauigkeit von ein paar Prozent, da Schach Engines, die multi-threaded laufen, nicht deterministisch arbeiten.
Es gibt unterschiedliche Kompiler Optionen - die popcnt Versionen nutzen die im Schach wertvolle Instruktion POPCNT aus dem Instruktionssatz SSE 4.2 - damit kann man z.B. mit einem Befehl zählen, wieviele Bauern auf dem Spielfeld sind. Die bmi2 Versionen nutzen darüberhinaus den BMI2-Instruktionssatz. Das sollte die Performance eigentlich verbessern - bei Intel klappt das auch, wie man an den Ergebnissen sieht. Beim Ryzen scheint da ein schwerwiegendes Problem zu sein.
Edit:
Im single-thread Modus (da läuft der Ryzen auf 4,1 GHz) gibt es folgende Ergebnisse:
Stockfish_8_x64_popcnt 1,591 Mn/s, Stockfish_8_x64_bmi2 1,156 Mn/s. Diese Ergebnisse sind übrigens extrem genau - im single-thread Modus sind die Ergebnisse deterministisch. Also 27,3% Performance Verlust durch die BMI2 Option.
Zuletzt bearbeitet: