![]() |
![]() |
#1 |
Эксперт
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,951 раз(а) в 4,245 сообщениях
Репутация: 253
|
![]()
В этой теме планирую выкладывать свои сборки, как правило - текущая версия с Abrok + свежие (на данный момент еще не прошитые) патчи.
|
![]() |
![]() |
![]() |
#61 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,951 раз(а) в 4,245 сообщениях
Репутация: 253
|
![]()
Описание из types.h:
/// When compiling with provided Makefile (e.g. for Linux and OSX), configuration /// is done automatically. To get started type 'make help'. /// /// When Makefile is not used (e.g. with Microsoft Visual Studio) some switches /// need to be set manually: /// /// -DNDEBUG | Disable debugging mode. Always use this for release. /// /// -DNO_PREFETCH | Disable use of prefetch asm-instruction. You may need this to /// | run on some very old machines. /// /// -DUSE_POPCNT | Add runtime support for use of popcnt asm-instruction. Works /// | only in 64-bit mode and requires hardware with popcnt support. /// /// -DUSE_PEXT | Add runtime support for use of pext asm-instruction. Works /// | only in 64-bit mode and requires hardware with pext support. Т.е. мой случай: /// When Makefile is not used (e.g. with Microsoft Visual Studio) some switches /// need to be set manually: Параметр -DNDEBUG Но это как я понимаю работает при сборке проекта из командной строки? |
![]() |
![]() |
Пользователь сказал cпасибо: | otodranik (01.07.2017) |
![]() |
#62 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,951 раз(а) в 4,245 сообщениях
Репутация: 253
|
![]() Цитата: Сообщение от Maratka
Но не на 60%, что показывает встроенный бенч:
Oto: =========================== Total time (ms) : 3522 Nodes searched : 6258930 Nodes/second : 1777095 Моя: =========================== Total time (ms) : 6239 Nodes searched : 6258930 Nodes/second : 1003194 виноваты задержки при выводе в консоль больших объемов текста (все наши проанализированные линии в бенче). Этим страдает в той или иной степени любая сборка, просто у otodranik - в меньшей степени, чем у меня. Например, у него результат =========================== Total time (ms) : 3705 Nodes searched : 6258930 Nodes/second : 1689319 тогда как без вывода в консоль больших массивов текста получается: Total time (ms) : 3588 Nodes searched : 6258930 Nodes/second : 1744406 У меня разница больше: Total time (ms) : 5785 Nodes searched : 5670504 Nodes/second : 980208 и соответственно Total time (ms) : 3308 Nodes searched : 5670504 Nodes/second : 1714178 Правильный результат доступен по команде: Filename bench > nul В этом случае все линии просмотренных строк будут переправлены в пустоту, а в консоли будет только номер теста, вида: Position: 1/42 Position: 2/42 ... ... Position: 42/42 |
![]() |
![]() |
![]() |
#63 |
Гроссмейстер
Регистрация: 25.01.2017
Сообщений: 2,114
Сказал(а) спасибо: 1,261
Поблагодарили 3,271 раз(а) в 1,504 сообщениях
Репутация: 138
|
![]() Цитата: Сообщение от Maratka
В общем с проблемой разобрался:
виноваты задержки при выводе в консоль больших объемов текста (все наши проанализированные линии в бенче). Этим страдает в той или иной степени любая сборка, просто у otodranik - в меньшей степени, чем у меня. Например, у него результат =========================== Total time (ms) : 3705 Nodes searched : 6258930 Nodes/second : 1689319 тогда как без вывода в консоль больших массивов текста получается: Total time (ms) : 3588 Nodes searched : 6258930 Nodes/second : 1744406 У меня разница больше: Total time (ms) : 5785 Nodes searched : 5670504 Nodes/second : 980208 и соответственно Total time (ms) : 3308 Nodes searched : 5670504 Nodes/second : 1714178 Правильный результат доступен по команде: Filename bench > nul В этом случае все линии просмотренных строк будут переправлены в пустоту, а в консоли будет только номер теста, вида: Position: 1/42 Position: 2/42 ... ... Position: 42/42
__________________
AMD Ryzen 7 5700G@3.8GHz AMD Ryzen 5 2600@3.4GHz |
![]() |
![]() |
![]() |
#64 |
Гроссмейстер
Регистрация: 25.01.2017
Сообщений: 2,114
Сказал(а) спасибо: 1,261
Поблагодарили 3,271 раз(а) в 1,504 сообщениях
Репутация: 138
|
![]()
В твоем случае написано: When Makefile is not used (e.g. with Microsoft Visual Studio) some switches need to be set manually:
Когда мейкфайл не используется, нужно выставить некоторые перключатели(флаги) вручную. И список приведен! В твоем же #61 посте!
__________________
AMD Ryzen 7 5700G@3.8GHz AMD Ryzen 5 2600@3.4GHz |
![]() |
![]() |
Пользователь сказал cпасибо: | Maratka (01.07.2017) |
![]() |
#65 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,951 раз(а) в 4,245 сообщениях
Репутация: 253
|
![]() Цитата: Сообщение от otodranik
У тебя и дольше обрабатывала.
Сейчас же замерял на моей POPCNT-сборке Ну и еще: в этой сборке прошил патч http://tests.stockfishchess.org/test...bc593ea732d66d Маловероятно, что он будет зеленым, но желтый - гарантировано. |
![]() |
![]() |
![]() |
#66 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,951 раз(а) в 4,245 сообщениях
Репутация: 253
|
![]() Цитата: Сообщение от otodranik
В твоем случае написано: When Makefile is not used (e.g. with Microsoft Visual Studio) some switches need to be set manually:
Когда мейкфайл не используется, нужно выставить некоторые перключатели(флаги) вручную. И список приведен! В твоем же #61 посте! ![]() Если ты про: Цитата: Сообщение от Maratka
Параметр
-DNDEBUG Аналогично упала сборка, собранная компилятором Intel |
![]() |
![]() |
![]() |
#67 |
Гроссмейстер
Регистрация: 25.01.2017
Сообщений: 2,114
Сказал(а) спасибо: 1,261
Поблагодарили 3,271 раз(а) в 1,504 сообщениях
Репутация: 138
|
![]() Цитата: Сообщение от Maratka
Я умею читать технические тексты (применительно к компьютерному железу/софту на английском
![]() Если ты про: то падения избежать не удалось: нет базы DTZ- сборка по прежнему падает. Аналогично упала сборка, собранная компилятором Intel
__________________
AMD Ryzen 7 5700G@3.8GHz AMD Ryzen 5 2600@3.4GHz |
![]() |
![]() |
![]() |
#68 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,951 раз(а) в 4,245 сообщениях
Репутация: 253
|
![]()
Возможно.
Но тогда это утверждение неверно: Цитата: Сообщение от Aster
Эта директива затрагивает исключительно поведение MSVC с assert'ами
Ключи я прописывал как раз таки в оболочке, и -DUSE_POPCNT (вернее /DUSE_POPCNT) сработал правильно, и собрал POPCNT-сборку (видно по скорости). |
![]() |
![]() |
![]() |
#69 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,951 раз(а) в 4,245 сообщениях
Репутация: 253
|
![]()
https://yadi.sk/d/-DdD1kHn3KuNRL
Добавлены несколько желтых патчей (общий прирост с ними ~1,5 Elo) --------- В связи с особенностью сборки, при работе с syzygy-базами необходимо указывать путь не только к WDL, но и к DTZ-базам. |
![]() |
![]() |
2 пользователя(ей) сказали cпасибо: | guestdestroyer (24.07.2017), Viktor (10.07.2017) |
![]() |
#71 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,951 раз(а) в 4,245 сообщениях
Репутация: 253
|
![]()
https://yadi.sk/d/itI-nK_Z3MbGmb
Сборка POPCNT x64 Базируется на предпоследней версии с Аброка (патч syzygy отсутствует) Добавлены патчи: http://tests.stockfishchess.org/test...bc5916ff64aafc - желтый http://tests.stockfishchess.org/test...bc5916ff64adbb - зеленый С датой компиляции все нормально, последний патч был прошит тогда, когда еще не закончилось его тестирование, но вероятность "зеленого" была высока, а "желтого" - вообще 99%. p.s. Движок настроен на использование 8-ми ядер по умолчанию, просьба учитывать при подключении движка к оболочке. |
![]() |
![]() |
5 пользователя(ей) сказали cпасибо: | ChessMan (04.09.2017), otodranik (04.09.2017), sergey1963 (04.09.2017), Гудвин (04.09.2017), Философ (04.09.2017) |
![]() |
#72 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,951 раз(а) в 4,245 сообщениях
Репутация: 253
|
![]()
https://yadi.sk/d/AuXBDe593N5fmJ
Сборка POPCNT x64 Патч http://tests.stockfishchess.org/test...bc5916ff64aafc заменен на http://tests.stockfishchess.org/test...bc5916ff64ae87 Добавлен патч: http://tests.stockfishchess.org/test...bc5916ff64aef5 p.s. Движок настроен на использование 8-ми ядер по умолчанию, просьба учитывать при подключении движка к оболочке. |
![]() |
![]() |
![]() |
#73 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,951 раз(а) в 4,245 сообщениях
Репутация: 253
|
![]()
https://yadi.sk/d/z95wQRag3N8e69
Сборка POPCNT x64 Добавлены патчи: http://tests.stockfishchess.org/test...bc5916ff64b5c7 (зеленый) http://tests.stockfishchess.org/test...bc5916ff64b4cd (скорее всего будет желтым). p.s. Движок настроен на использование 8-ми ядер по умолчанию, просьба учитывать при подключении движка к оболочке. |
![]() |
![]() |
![]() |
#74 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,951 раз(а) в 4,245 сообщениях
Репутация: 253
|
![]()
https://yadi.sk/d/OkvcDtxv3NGjBE
Сборка POPCNT x64 Добавлены патчи: http://tests.stockfishchess.org/test...bc5916ff64b63e http://tests.stockfishchess.org/test...bc5916ff64b6fd p.s. Движок настроен на использование 8-ми ядер по умолчанию, просьба учитывать при подключении движка к оболочке. |
![]() |
![]() |
![]() |
#75 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,951 раз(а) в 4,245 сообщениях
Репутация: 253
|
![]()
https://yadi.sk/d/S0UtmrAG3NLroN
Сборка POPCNT x64 Добавлен патч: http://tests.stockfishchess.org/test...bc5916ff64b9bc p.s. Движок настроен на использование 8-ми ядер по умолчанию, просьба учитывать при подключении движка к оболочке. |
![]() |
![]() |
4 пользователя(ей) сказали cпасибо: |
![]() |
#76 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
![]() Цитата: Сообщение от Maratka
https://yadi.sk/d/S0UtmrAG3NLroN
Сборка POPCNT x64 Добавлен патч: http://tests.stockfishchess.org/test...bc5916ff64b9bc p.s. Движок настроен на использование 8-ми ядер по умолчанию, просьба учитывать при подключении движка к оболочке. https://github.com/ChessMan3/Stockfi...dd863e1461R140 Как-то так: Код:
<< (to_uci ? "" : "\n ") + << (to_uci ? "" : std::to_string(n)) + << (to_uci ? "" : " processor(s) found") + << (to_uci ? "" : "\n"); |
![]() |
![]() |
Пользователь сказал cпасибо: | Maratka (30.09.2017) |
![]() |
#77 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
![]()
Поправочка, надо добавить:
https://github.com/ChessMan3/Stockfi...dd863e1461L125 + unsigned int n = std::thread::hardware_concurrency(); и + #include <thread> |
![]() |
![]() |
![]() |
#78 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,951 раз(а) в 4,245 сообщениях
Репутация: 253
|
![]()
Кстати действительно неплохая идея.
Установил значение n-1, где n- количество ядер. Вопрос: как они опознаются на i3/i5/i7? Кто-то может проверить? (сборка медленная, использовать по прямому назначению можно, но лучше использовать ту, которую выложил несколько часов назад). https://yadi.sk/d/GviLp4_-3NM5Xy |
![]() |
![]() |
3 пользователя(ей) сказали cпасибо: |
![]() |
#79 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,951 раз(а) в 4,245 сообщениях
Репутация: 253
|
![]() Цитата: Сообщение от ChessMan
Поправочка, надо добавить:
|
![]() |
![]() |
Пользователь сказал cпасибо: | ChessMan (30.09.2017) |
![]() |
#80 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
![]()
В общем, только что проверил. Рабочий код вот:
#include <fstream> #include <iomanip> #include <iostream> #include <sstream> #include <vector> #include <thread> #include "misc.h" #include "thread.h" ... ... stringstream ss, date(__DATE__); // From compiler, format is "Sep 21 2008" unsigned int n = std::thread::hardware_concurrency(); ss << "Stockfish " << Version << setfill('0'); ... ss << (Is64Bit ? " 64" : "") << (HasPext ? " BMI2" : (HasPopCnt ? " POPCNT" : "")) << (to_uci ? "\nid author ": " by ") << "T. Romstad, M. Costalba, J. Kiiski, G. Linscott"; ss << (to_uci ? "" : "\n ") << (to_uci ? "" : std::to_string(n)) << (to_uci ? "" : " processor(s) found") << (to_uci ? "" : "\n"); return ss.str(); ... Выделил то, что необходимо добавлять. ![]() |
![]() |
![]() |
![]() |
#81 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
![]() Цитата: Сообщение от Maratka
Кстати действительно неплохая идея.
Установил значение n-1, где n- количество ядер. Вопрос: как они опознаются на i3/i5/i7? Кто-то может проверить? (сборка медленная, использовать по прямому назначению можно, но лучше использовать ту, которую выложил несколько часов назад). https://yadi.sk/d/GviLp4_-3NM5Xy |
![]() |
![]() |
![]() |
#83 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
![]() Цитата: Сообщение от Maratka
Потому что мне VS нравится, а скорость, когда есть ASM-версия - дело вторичное.
====== Что-то не хочет ставить 6 ядер при добавлении в Акву... я что-то пропустил походу... |
![]() |
![]() |
![]() |
#84 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,951 раз(а) в 4,245 сообщениях
Репутация: 253
|
![]() Цитата: Сообщение от ChessMan
В общем, только что проверил. Рабочий код вот:
Цитата: Сообщение от ChessMan
Что-то не хочет ставить 6 ядер при добавлении в Акву... я что-то пропустил походу...
|
![]() |
![]() |
Пользователь сказал cпасибо: | ChessMan (30.09.2017) |
![]() |
#85 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,951 раз(а) в 4,245 сообщениях
Репутация: 253
|
![]()
ChessMan, проверьте пожалуйста мою сборку - она должна установить у вас 5 потоков по умолчанию.
|
![]() |
![]() |
![]() |
#86 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
![]() Цитата: Сообщение от Maratka
ucioption еще править нужно, иначе детект ядер детектом и останется: продетектили, но не используем.
unsigned int n = std::thread::hardware_concurrency(); if (!n) n = 1; |
![]() |
![]() |
![]() |
#87 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
![]() Цитата: Сообщение от Maratka
ChessMan, проверьте пожалуйста мою сборку - она должна установить у вас 5 потоков по умолчанию.
|
![]() |
![]() |
![]() |
#89 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,951 раз(а) в 4,245 сообщениях
Репутация: 253
|
![]() Цитата: Сообщение от ChessMan
Если нравится то это другое дело. В GCC проще компилировать, да и сам процесс занимает 2-3 минуты на движок.
С PGO чуть сложнее, но не настолько, чтобы прямо совсем сложно. Цитата: Сообщение от ChessMan
Есть контакт, 5 ядер включил
|
![]() |
![]() |
Пользователь сказал cпасибо: | ChessMan (30.09.2017) |
![]() |
#90 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
![]()
А что это Вы патч не добавили?
Higher Move Overhead https://github.com/official-stockfis...fd8b4f0c1945c1 |
![]() |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|