Jak skaluje się siła silnika ze sprzętem?

14

Powiedzmy, że uruchamiam Komodo na mojej 4-rdzeniowej maszynie. O ile silniejszy byłby Komodo, gdybym użył 8-rdzeniowej maszyny? Maszyna 40-rdzeniowa? Maszyna z 4000 rdzeniami?

Czy ma to związek ogólny? Ponadto, czy to skalowanie zależy od używanego silnika, a jeśli tak, to dlaczego?

Nęcić
źródło
+1; również interesujące: jak siła rośnie wraz ze wzrostem dostępności pamięci RAM.
GloriaVictis
1
W dzisiejszych czasach odpowiedzi na to pytanie są silnie uzależnione od zdolności oprogramowania do efektywnego wykorzystania wielu rdzeni. Zawsze chodzi o malejące zwroty, ale to, czy wartość graniczna wynosi 2, 4, 8 ... rdzeni, zależy od oprogramowania. Przejrzyj niektóre pytania Superuser: superuser.com/search?tab=Relevance&q=is%3aq więcej rdzeni)
2
Zobacz prawo Amdahla . Każdy program komputerowy może korzystać tylko z tak wielu rdzeni, a dodanie kolejnych nie przyspieszy obliczeń. Każdy program szachowy jest programem komputerowym i dlatego jest ograniczony prawem. Mogą różnić się poziomem zaawansowania i optymalizacji, ale można śmiało powiedzieć, że nie uzyskasz dużo większej wydajności z 4000 rdzeni w porównaniu do 40 rdzeni z programu uruchamianego na 4 rdzeniach.
Pavel
Cześć, ten post wydaje się mieć przyzwoite odpowiedzi, jeśli uważasz, że jest on szczególnie satysfakcjonujący, rozważ zaakceptowanie go, ponieważ ważne jest, aby zamknąć dobrze zaadresowane posty. Dzięki za rozważenie.
user929304,

Odpowiedzi:

10

Wielordzeniowy jest ważny dla silników szachowych, ale nie skaluje się na zawsze.

  • Do pewnej głębokości, bez względu na to, ile masz sprzętu, po prostu nie masz wystarczającej mocy obliczeniowej
  • Tak. Skalowanie zależy w dużej mierze od implementacji. Na przykład prosty mutex znacznie ułatwi programowanie wielowątkowe (każdy przyzwoity programista zgodzi się tutaj), ale spowoduje to również, że silnik będzie działał znacznie wolniej niż inny silnik bez blokady mutex.
  • Maszyna z 40 rdzeniami będzie grać silniej niż maszyna z 8 rdzeniami, choć trudno jest określić, ile. 4000-rdzeniowa maszyna powinna również grać silniej niż 40-rdzeniowa, ale trudniej jest uzasadnić koszty mniejszej poprawy Elo.
SmallChess
źródło
1
Czy można oszacować „ile”? Powiedz: „podwojenie mocy obliczeniowej wynosi około ~ 50 elo”?
Allure
4

Częściowa odpowiedź: TCEC Sztokfisz bawi się 43 rdzeniami i wątkami, podczas gdy tak zwany silnik Redfish Kitbitzing (który jest zasadniczo Sztokfiszem na mocniejszym sprzęcie) gra 192 rdzeniami i 256 wątków. Redfish, pracując z prędkością 4x większą (mierzoną liczbą węzłów na sekundę), jest o +50 elo silniejszy niż Sztokfisz TCEC.

Nęcić
źródło
3

Nie przeprowadziłem eksperymentu, ale myślę, że powinno to być coś w rodzaju wprowadź opis zdjęcia tutaj

Jak powiedział @SmallChess w swojej odpowiedzi : wymagana moc obliczeniowa rośnie wykładniczo i na pewnej głębokości byłaby po prostu zbyt duża.

dla prostszej pozycji jednak tak nie jest, ponieważ silnik zbadałby wszystkie możliwości przed osiągnięciem pełnej pojemności (tj .: maksymalna głębokość)

MrMaxPayne
źródło
Wykres wydaje się odpowiedni (zakładając, że jest to wzrost siły w porównaniu do wzrostu zasobów). W przypadku prostych pozycji nie pomaga mieć więcej obliczeń, ale w przypadku złożonych pozycji może cię poprowadzić przez punkt krytyczny, więc zostawiłbym konkretne pozycje poza dyskusją.
Dennis Jaheruddin,