Wie skaliert die Motorstärke mit der Hardware?


14

Angenommen, ich starte Komodo auf meinem 4-Kern-Rechner. Wie viel stärker wäre Komodo, wenn ich eine 8-Kern-Maschine verwenden würde? Eine 40-Kern-Maschine? Eine 4000-Core-Maschine?

Gibt es dafür eine allgemeine Beziehung? Hängt diese Skalierung auch davon ab, welche Engine verwendet wird und wenn ja, warum?


+1; Interessant ist auch, wie die Stärke mit zunehmender RAM-Verfügbarkeit ansteigt.
GloriaVictis

1
Heutzutage hängen Antworten darauf stark von der Fähigkeit der Software ab, mehrere Kerne effizient zu nutzen. Es ist immer eine Frage der sinkenden Renditen, aber ob der Cutoff bei 2, 4, 8 ... Kernen liegt, hängt von der Software ab. Blättern Sie durch einige Superuser Fragen: superuser.com/search?tab=Relevance&q=is%3aq mehr Kerne)

2
Siehe Amdahls Gesetz . Jedes Computerprogramm kann nur von so vielen Kernen profitieren, dass das Hinzufügen weiterer Kerne die Berechnung nicht beschleunigt. Jedes Schachprogramm ist ein Computerprogramm und daher gesetzlich begrenzt. Sie unterscheiden sich zwar in der Ausgereiftheit und Optimierung, aber man kann mit Sicherheit sagen, dass 4000 Kerne nicht viel mehr Leistung bringen als 40 Kerne eines Programms, das auf 4 Kernen ausgeführt wird.
Pavel

Hallo, scheint dieser Beitrag zu haben respektable Antworten erhalten haben , wenn Sie eine besonders zufriedenstellend befunden haben beachten Sie bitte akzeptieren es, weil es wichtig ist , zu geben Schließung zu gut Beiträge gerichtet. Danke, dass du darüber nachgedacht hast.
user929304

Antworten:


10

Multicore ist wichtig für Schachengines, skaliert aber nicht für immer.

  • Bis zu einer gewissen Tiefe, egal wie viel Hardware Sie haben, haben Sie einfach nicht genug Rechenleistung
  • Ja. Die Skalierung ist stark von der Implementierung abhängig. Zum Beispiel würde ein einfacher Mutex die Multithread-Programmierung viel einfacher machen (jeder anständige Programmierer wird dem zustimmen), aber das würde auch dazu führen, dass die Engine viel langsamer läuft als eine andere Engine ohne Mutex-Sperre.
  • 40-Kerne-Rechner spielen stärker als ein 8-Kerne-Rechner, obwohl es schwer zu sagen ist, wie viel. Ein 4000-Kern-Rechner sollte auch stärker als ein 40-Kern-Rechner sein, aber es ist schwieriger, die Kosten für eine kleinere Elo-Verbesserung zu rechtfertigen.

1
Gibt es eine mögliche Schätzung für "wie viel"? Sagen Sie, "die Rechenleistung zu verdoppeln ist ungefähr ~ 50 elo"?
Allure

4

Teilantwort: TCEC Stockfish spielt mit 43 Kernen und Threads, während die sogenannte Redfish-Kitbitzing-Engine (die im Grunde Stockfish auf stärkerer Hardware ist) mit 192 Kernen und 256 Threads spielt. Redfish ist mit der vierfachen Geschwindigkeit (gemessen in Knoten pro Sekunde) +50 Elo stärker als TCEC Stockfish.


3

Ich habe das Experiment nicht gemacht, aber ich denke, es sollte so ähnlich sein Bildbeschreibung hier eingeben

Wie @SmallChess in seiner Antwort sagte : Die benötigte Rechenleistung wächst exponentiell und in einer bestimmten Tiefe wäre sie einfach viel zu groß.

Für eine einfachere Position ist dies jedoch nicht der Fall, da der Motor alle Möglichkeiten untersucht hätte, bevor er seine volle Kapazität erreicht hätte (dh maximale Tiefe).


Die Grafik scheint in etwa richtig zu sein (vorausgesetzt, es handelt sich um eine Zunahme der Stärke im Vergleich zur Zunahme der Ressourcen). Für einfache Positionen hilft es nicht, mehr Rechenleistung zu haben, aber für komplexe Positionen kann es Sie über den Wendepunkt bringen, so dass ich bestimmte Positionen aus der Diskussion herauslassen würde.
Dennis Jaheruddin
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.