¿Cómo escala la fuerza del motor con el hardware?

14

Digamos que ejecuto Komodo en mi máquina de 4 núcleos. ¿Qué tan fuerte sería Komodo si usara una máquina de 8 núcleos? ¿Una máquina de 40 núcleos? ¿Una máquina de 4000 núcleos?

¿Existe una relación general para esto? Además, ¿esta escala depende del motor que se use y, de ser así, por qué?

Seducir
fuente
+1; También de interés: cómo la fuerza aumenta con la creciente disponibilidad de RAM.
GloriaVictis
1
Hoy en día, las respuestas a esto dependen en gran medida de la capacidad del software para utilizar múltiples núcleos de manera eficiente. Siempre se trata de rendimientos decrecientes, pero si el límite es de 2, 4, 8 ... núcleos depende del software. Navegue a través de algunas preguntas de superusuario : superuser.com/search?tab=Relevance&q=is%3aq más núcleos)
2
Ver la ley de Amdahl . Cualquier programa de computadora puede beneficiarse de solo unos pocos núcleos, agregar más no ayudará a acelerar el cálculo. Cualquier programa de ajedrez es un programa de computadora y, por lo tanto, está limitado por la ley. Pueden diferir en el nivel de sofisticación y optimización, pero es seguro decir que no obtendrá mucho más rendimiento de 4000 núcleos en comparación con 40 núcleos de un programa que ejecuta en 4 núcleos.
Pavel
Hola, esta publicación parece haber recibido respuestas decentes, si has encontrado una que sea particularmente satisfactoria, considera aceptarla , ya que es importante cerrar las publicaciones bien dirigidas. Gracias por considerarlo.
user929304

Respuestas:

10

El multinúcleo es importante para los motores de ajedrez, pero no escala para siempre.

  • Hasta cierta profundidad, no importa cuánto hardware tenga, simplemente no tiene suficiente potencia computacional
  • Si. El escalado depende en gran medida de la implementación. Por ejemplo, un mutex simple facilitaría mucho la programación multiproceso (cualquier programador decente estará de acuerdo aquí), pero eso también haría que el motor funcione mucho más lento que otro motor sin bloqueo de mutex.
  • La máquina de 40 núcleos jugará más fuerte que una máquina de 8 núcleos, aunque es difícil decir cuánto. Una máquina de 4000 núcleos también debería jugar más fuerte que una de 40 núcleos, pero es más difícil justificar los costos para una mejora Elo más pequeña.
Hola Mundo
fuente
1
¿Hay alguna estimación posible para "cuánto"? Diga, "¿duplicar el poder computacional es aproximadamente ~ 50 elo"?
Allure
4

Respuesta parcial: TCEC Stockfish juega con 43 núcleos e hilos, mientras que el llamado motor kitbitzing Redfish (que es básicamente Stockfish en hardware más fuerte) juega con 192 núcleos y 256 hilos. Corriendo a 4 veces la velocidad (medida por nodos por segundo), Redfish es +50 elo más fuerte que TCEC Stockfish.

Seducir
fuente
3

No hice el experimento pero creo que debería ser algo así como ingrese la descripción de la imagen aquí

Como @SmallChess dijo en su respuesta : el poder computacional requerido crece exponencialmente y a cierta profundidad sería demasiado grande.

para una posición más simple, sin embargo, no es el caso porque el motor habría explorado todas las posibilidades antes de alcanzar su capacidad máxima (es decir, profundidad máxima)

MrMaxPayne
fuente
El gráfico parece correcto (suponiendo que es un aumento de fuerza frente a un aumento de recursos). Para posiciones simples no ayuda tener más cómputo, pero para posiciones complejas puede llevarlo a través del punto de inflexión, por lo que dejaría posiciones específicas fuera de la discusión.
Dennis Jaheruddin