Przejdź do głównej zawartości

Stockfish 15112108 - nowa kompilacja świetnego silnika szachowego

Stockfish - silnik szachowy UCI

Poporzednie wersje Stockfish 

Autor kompilacji - 
Lucasart


Informacje od autora:
Timestamp: 1448090633 

Fix TT comment and static_assert() 

Comment is based on a misunderstanding of what unaligned memory access is. Here is an article that explains it very clearly: 
https://www.kernel.org/doc/Documentation/unaligned-memory-access.txt 

No matter how we define TTEntry or TTCluster, there will never be any unaligned memory access. This is because the complier knows the alignment rules, and does the necessary adjustments to make sure unaligned memory access does not occur. 

The issue being adressed here has nothing to do with unaligned memory access. It is about cache performance. In order to achieve best cache performance: 
- we prefetch the cacheline as soon as possible. 
- we ensure that TT clusters do not spread across two cachelines. If they did, we would need to prefetch 2 cachelines, which could hurt cache performance. 

Therefore the true conditions to achieve this are: 
1/ start adress of TT is cache line aligned. void TranspositionTable::resize() enforces this. 
2/ TT cluster size should *divide* the cache line size. Currently, we pack 2 clusters per cache lines. It used to be 1 before "TT sardines". Does not matter what the ratio is, all we want is to fit an integer number of clusters per cache line. 

No functional change. 

Resolves #506 


JCER=3256




Komentarze

Popularne posty z tego bloga

Dlaczego wydajesz tyle pieniędzy by Twój syn grał w szachy?

Na jednym z szachowych blogów znalazłem (J.S.) ciekawą wypowiedź dotyczącą nauki gry w szachy, której autorem jest  Martin Wollf . Genialna diagnoza! Pewien przyjaciel zapytał mnie: -  Dlaczego inwestujesz tyle pieniędzy i własnego czasu, aby twój syn uczył się grać w szachy? Moja odpowiedź: Cóż, muszę przyznać się do winy:  nie płacę za to, żeby mój syn grał w szachy. Czy wiesz, dlaczego płacę? - Płacę, żeby mój syn nauczył się być zdyscyplinowany. - Płacę również za to, by mój syn mógł ćwiczyć swój umysł i rozwijać swoją kreatywność. - Płacę za mojego syna, aby nauczył się radzić sobie z porażkami, z rozczarowaniami jeśli nie uda mu się osiągnąć tego, czego oczekiwał. - Płacę za mojego syna, aby nauczył się realizować swoje cele. - Płacę, aby moje dziecko zrozumiało, że aby osiągnąć mistrzostwo trzeba  ciężko pracować i trenować godzinami. I że sukces nie nastąpi z dnia na dzień. - Płacę za to, że mój syn nawiązał przyjaźnie na całe życie. - Płacę za mojego sy

Ognisko na szachownicy!

Nie wiem, czy młody mieszkaniec z Nowego Bytomia czytał książkę Aleksieja Szirowa " Ogień na szachownicy ". Jeśli znał, to wziął tytuł zbyt dosłownie, bo bawiąc w Rudzie Śląskiej z nudów rozpalił ognisko na betonowej szachownicy. Na szczęście zauważył to  operator monitoringu i młodzieniec zapłacił mandat w wysokości 500 złotych. Tak, nieznajomość zasad gry w szachy  szkodzi :)  Informację o zdarzeniu zamieścił portal internetowy Ruda Śląska - TUTAJ .

Debiuty szachowe dla początkujących - część pierwsza

Początkujący szachiści często nieudanie rozgrywają początkową fazę partii. Oczywiście trudności nie sprawiają same ruchy (bo ich nauczyć się nie sztuka) ale ich logika. Czegoż nie można zobaczyć w partii żółtodziobów: atak pionowy, miotanie się hetmanem po całej szachownicy, niefrasobliwość w obronie i osłabianie pozycji swojego króla. Jak należy grać aby uniknąć grubych błędów? Trzeba zapamiętać trzy magiczne słowa: pierwsze - centrum , drugie - mobilizacja , trzecie - bezpieczeństwo . Centrum Problem centrum zawsze zajmował szachistów w dawnych czasach. Uważano że ten, kto zajmie swoimi pionami centralne pola e4, d4, e5, d5 powinien szukać drogi do szybkiego zwycięstwa. Najlepiej przy pomocy taktyki. Współcześnie nie formuje się już tak kategorycznych ocen, ale pierwsza zasada debiutowała pozostaje niezmienna: najważniejsze w debiucie jest centrum . Dlatego trzeba dążyć do opanowania centrum swoimi pionkami i tak wyprowadzać figury, aby móc je atakować.  Partia Wł