Comment la force du moteur évolue-t-elle avec le matériel?

14

Supposons que j'exécute Komodo sur ma machine à 4 cœurs. À quel point Komodo serait-il plus puissant si j'utilisais une machine à 8 cœurs? Une machine à 40 cœurs? Une machine à 4000 cœurs?

Y a-t-il une relation générale à cela? En outre, cette mise à l'échelle dépend-elle du moteur utilisé et, dans l'affirmative, pourquoi?

Séduire
la source
+1; également intéressant: comment la force évolue avec la disponibilité croissante de la RAM.
GloriaVictis
1
De nos jours, les réponses à cette question dépendent fortement de la capacité du logiciel à utiliser efficacement plusieurs cœurs. C'est toujours une question de rendements décroissants, mais si la coupure est à 2, 4, 8 ... cœurs dépend du logiciel. Parcourez quelques questions de superutilisateur : superuser.com/search?tab=Relevance&q=is%3aq plus de cœurs)
2
Voir la loi d'Amdahl . Tout programme informatique ne peut bénéficier que de tant de cœurs, l'ajout de plus n'aidera pas à accélérer le calcul. Tout programme d'échecs est un programme informatique et donc limité par la loi. Ils peuvent différer dans le niveau de sophistication et d'optimisation, mais il est sûr de dire que vous n'obtiendrez pas beaucoup plus de performances de 4000 cœurs par rapport à 40 cœurs d'un programme que vous exécutez sur 4 cœurs.
Pavel
Salut, ce message semble avoir reçu des réponses décentes, si vous en avez trouvé un particulièrement satisfaisant, pensez à l' accepter , car il est important de clore les messages bien adressés. Merci d'y avoir pensé.
user929304

Réponses:

10

Le multicœur est important pour les moteurs d'échecs, mais il n'est pas évolutif pour toujours.

  • Jusqu'à une certaine profondeur, peu importe la quantité de matériel dont vous disposez, vous n'avez tout simplement pas assez de puissance de calcul
  • Oui. La mise à l'échelle dépend fortement de l'implémentation. Par exemple, un simple mutex rendrait la programmation multithread beaucoup plus facile (tout programmeur décent sera d'accord ici), mais cela rendrait également le moteur beaucoup plus lent qu'un autre moteur sans verrouillage mutex.
  • La machine à 40 cœurs jouera plus fort qu'une machine à 8 cœurs, bien qu'il soit difficile de dire combien. Une machine à 4000 cœurs devrait également jouer plus fort qu'un 40 cœurs, mais il est plus difficile de justifier les coûts d'une amélioration Elo plus petite.
Bonjour le monde
la source
1
Y a-t-il une estimation possible de "combien"? Dites: «doubler la puissance de calcul équivaut à environ 50 elo»?
Allure
4

Réponse partielle: TCEC Stockfish joue avec 43 cœurs et threads, tandis que le soi-disant moteur Redbit kitbitzing (qui est essentiellement Stockfish sur un matériel plus solide) joue avec 192 cœurs et 256 threads. Fonctionnant à 4x la vitesse (mesurée par les nœuds par seconde), le sébaste est +50 elo plus fort que le TCEC Stockfish.

Séduire
la source
3

Je n'ai pas fait l'expérience mais je pense que ça devrait être quelque chose comme entrez la description de l'image ici

Comme @SmallChess l'a dit dans sa réponse : la puissance de calcul requise croît de façon exponentielle et à une certaine profondeur, elle serait tout simplement trop grande.

pour une position plus simple mais ce n'est pas le cas car le moteur aurait exploré toutes les possibilités avant d'atteindre sa pleine capacité (ie: profondeur maximale)

MrMaxPayne
la source
Le graphique semble à peu près correct (en supposant qu'il s'agit d'une augmentation de la force par rapport à une augmentation des ressources). Pour les positions simples, cela n'aide pas d'avoir plus de calcul, mais pour les positions complexes, il peut vous transporter à travers le point de basculement, donc je laisserais des positions spécifiques en dehors de la discussion.
Dennis Jaheruddin