Como a força do motor é dimensionada com o hardware?


14

Digamos que eu execute o Komodo na minha máquina de 4 núcleos. Quão mais forte o Komodo seria se eu usasse uma máquina de 8 núcleos? Uma máquina de 40 núcleos? Uma máquina com 4000 núcleos?

Existe uma relação geral para isso? Além disso, esse dimensionamento depende de qual mecanismo é usado e, em caso afirmativo, por quê?


+1; também de interesse: como a força aumenta com a crescente disponibilidade de RAM.
GloriaVictis 29/04/19

1
Atualmente, as respostas para isso são fortemente dependentes da capacidade do software de usar vários núcleos com eficiência. É sempre uma questão de retornos decrescentes, mas se o ponto de corte é de 2, 4, 8 ... núcleos depende do software. Navegar através de algumas perguntas de superusuário: superuser.com/search?tab=Relevance&q=is%3aq mais núcleos)

2
Veja a lei de Amdahl . Qualquer programa de computador pode se beneficiar de apenas tantos núcleos; adicionar mais não ajudará a acelerar o cálculo. Qualquer programa de xadrez é um programa de computador e, portanto, limitado por lei. Eles podem diferir no nível de sofisticação e otimização, mas é seguro dizer que você não terá muito mais desempenho de 4000 núcleos em comparação com 40 núcleos de um programa executado em quatro núcleos.
Pavel

Olá, este post parece ter recebido respostas decentes; se você achou um deles particularmente satisfatório, considere aceitá- lo, pois é importante fechar as postagens bem endereçadas. Obrigado por considerar.
user929304

Respostas:


10

O multicore é importante para os mecanismos de xadrez, mas não aumenta para sempre.

  • Até certa profundidade, não importa a quantidade de hardware que você possui, você simplesmente não possui energia computacional suficiente
  • Sim. A escala é fortemente dependente da implementação. Por exemplo, um simples mutex tornaria a programação multithread muito mais fácil (qualquer programador decente concordará aqui), mas isso também tornaria o mecanismo mais lento do que outro mecanismo sem bloqueio de mutex.
  • A máquina de 40 núcleos será mais forte que uma máquina de 8 núcleos, embora seja difícil afirmar quanto. Uma máquina com 4000 núcleos também deve ser mais forte que um núcleo com 40, mas é mais difícil justificar os custos para melhorias menores no Elo.

1
Existe alguma estimativa possível para "quanto"? Digamos, "dobrar a potência computacional é aproximadamente ~ 50 elo"?
Allure

4

Resposta parcial: O TCEC Stockfish brinca com 43 núcleos e threads, enquanto o chamado mecanismo de kitbitzing Redfish (que é basicamente o Stockfish em hardware mais forte) brinca com 192 núcleos e 256 threads. Executando em 4x a velocidade (medida por nós por segundo), o Redfish é +50 elo mais forte que o TCEC Stockfish.


3

Eu não fiz o experimento, mas acho que deve ser algo como insira a descrição da imagem aqui

Como o @SmallChess disse em sua resposta : o poder computacional necessário cresce exponencialmente e, a uma certa profundidade, seria grande demais.

para uma posição mais simples, no entanto, não é o caso, porque o motor teria explorado todas as possibilidades antes de atingir sua capacidade total (ou seja, profundidade máxima)


O gráfico parece correto (supondo que seja um aumento de força versus aumento de recursos). Para posições simples, não ajuda a ter mais computação, mas para posições complexas, ele pode levá-lo ao ponto crítico, portanto, deixaria posições específicas fora da discussão.
Dennis Jaheruddin 29/04/19
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.