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.