Как сила двигателя зависит от оборудования?

14

Скажем, я запускаю Komodo на своей 4-х ядерной машине. Насколько сильнее был бы Komodo, если бы я использовал 8-ядерный компьютер? 40-ядерный компьютер? 4000-ядерная машина?

Есть ли общее отношение к этому? Кроме того, зависит ли это масштабирование от того, какой двигатель используется, и если да, то почему?

завлекать
источник
+1; также интересен: как сила масштабируется с увеличением доступности оперативной памяти.
GloriaVictis
1
В настоящее время ответы на это в значительной степени зависят от способности программного обеспечения эффективно использовать несколько ядер. Это всегда вопрос уменьшения отдачи, но от того, будет ли установлено ограничение на 2, 4, 8 ... ядер, зависит от программного обеспечения. Просмотрите некоторые вопросы суперпользователя : superuser.com/search?tab=Relevance&q=is%3aq больше ядер)
2
Смотрите закон Амдаля . Любая компьютерная программа может выиграть только от такого количества ядер, добавление большего количества не поможет ускорить вычисления. Любая шахматная программа является компьютерной программой и, следовательно, ограничена законом. Они могут различаться по уровню сложности и оптимизации, но можно с уверенностью сказать, что вы не получите гораздо большей производительности от 4000 ядер по сравнению с 40 ядрами от программы, которую вы запускаете на 4 ядрах.
Павел
Привет, этот пост, кажется, получил достойные ответы, если вы нашли, что он был особенно удовлетворительным, пожалуйста, подумайте о его принятии , так как важно закрыть закрытые посты. Спасибо за рассмотрение.
user929304

Ответы:

10

Multicore важен для шахматных движков, но не вечен.

  • До определенной глубины, независимо от того, сколько у вас аппаратного обеспечения, вам просто не хватает вычислительной мощности
  • Да. Масштабирование сильно зависит от реализации. Например, простой мьютекс значительно упростил бы многопоточное программирование (с этим согласится любой порядочный программист), но это также сделало бы работу двигателя намного медленнее, чем работа другого механизма без блокировки мьютекса.
  • 40-ядерный компьютер будет играть сильнее, чем 8-ядерный компьютер, хотя сложно сказать, сколько. Машина с 4000 ядрами также должна играть сильнее, чем 40 ядер, но оправдать затраты на улучшение Elo труднее.
Привет, мир
источник
1
Есть ли возможная оценка для "сколько"? Скажите, «удвоение вычислительной мощности составляет примерно ~ 50 Эло»?
Очарование
4

Частичный ответ: TCEC Stockfish играет с 43 ядрами и потоками, в то время как так называемый Redbit Kitbitzing Engine (который в основном Stockfish на более сильном оборудовании) играет с 192 ядрами и 256 потоками. Работая со скоростью, в 4 раза превышающей скорость (измеряемой узлами в секунду), Redfish на +50 эло сильнее, чем вяленая рыба TCEC.

завлекать
источник
3

Я не проводил эксперимент, но я думаю, что это должно быть что-то вроде введите описание изображения здесь

Как сказал @SmallChess в своем ответе : требуемая вычислительная мощность растет в геометрической прогрессии, и на определенной глубине она будет слишком большой.

для более простого положения, однако, это не так, потому что двигатель изучил бы все возможности, прежде чем достигнуть своей полной мощности (то есть: максимальная глубина)

MrMaxPayne
источник
График кажется правильным (при условии, что это увеличение силы против увеличения ресурса). Для простых позиций это не помогает иметь больше вычислений, но для сложных позиций это может перенести вас через переломный момент, поэтому я бы оставил конкретные позиции вне обсуждения.
Деннис Джаэруддин