|
|
Опции темы | Опции просмотра |
13.01.2020, 19:31 | #31 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Цитата: Сообщение от ChessMan
У меня базовая 3,8. Можно запросто 4,2 фиксированную поставить. Но боюсь VRM не выдержит.
Важно, чтобы она была равная всегда во время прогона теста. Конечно желательно повыше, ибо чем выше частота - тем выше пиковые результаты (как по верху, так и по низу), и отсюда - точнее среднее. Ну пусть будет базовые 3,8, это хороший компромисс. Ну про браузер (и может чего еще там у Вас в фоне крутится, Скайп например, или торрент не забыть): их тоже крайне желательно закрыть. |
13.01.2020, 19:47 | #32 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
Re: Stockfish и его производные
Цитата: Сообщение от Maratka
В Ryzen'нах нет HT.
Т.е. возможно, что это просто опечатка в логе, а возможно - утилита неправильно работает. Лучше бы отключать эту фичу на время теста. Насколько я помню, у меня на FX 8150 такое было. |
13.01.2020, 19:49 | #33 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
Re: Stockfish и его производные
Цитата: Сообщение от Maratka
Да не суть какая, хоть 3,5, хоть вообще 2.0
Важно, чтобы она была равная всегда во время прогона теста. Конечно желательно повыше, ибо чем выше частота - тем выше пиковые результаты (как по верху, так и по низу), и отсюда - точнее среднее. Ну пусть будет базовые 3,8, это хороший компромисс. Ну про браузер (и может чего еще там у Вас в фоне крутится, Скайп например, или торрент не забыть): их тоже крайне желательно закрыть. В моих тестах влияние посторонних программ минимально. Можно посмотреть по разнице минимальной и максимальной скорости для одного движка. К тому же, количество прогонов не 2 и не 3. |
13.01.2020, 19:56 | #34 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Цитата: Сообщение от Maratka
Скорость без разницы, важно их соотношение: AVX2 опять первый, а x64 - последний.
1) MSVC таки оптимизирует код под AVX/AVX2, в зависимости от опции 2) Смысла в оптимизации, если есть POPCNT - нет, ибо правильный код таки лучше интеллекта компилятора. Но осталась еще одна непроверенная опция: BMI2 vs BMI2 плюс AVX2 Ее проверять нужно.... осторожно: Ryzen теряет скорость от BMI2, Core - набирает. Это супротив POPCNT. С другой стороны, а что мешает проверить только и искючительно Ryzen на BMI2 плюс AVX2? Т.е. сам с собой! Ну и отдельно - Core на ровно том же бинаре? https://yadi.sk/d/Fgk2_Vg6EH2d_Q |
13.01.2020, 20:11 | #35 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
Re: Stockfish и его производные
Цитата: Сообщение от Maratka
Но осталась еще одна непроверенная опция: BMI2 vs BMI2 плюс AVX2
-------------- В движке просто нет кода для AVX/AVX2 инструкций, поэтому и прироста нет. А вот для popcnt есть код: https://github.com/official-stockfis...ped_q=popcnt16 Если его удалить - то и прироста от popcnt не будет (от флага -mpopcnt) Точно так же я могу скомпилировать обычную popcnt версию с флагом -mbmi2 и скорость будет такая же как и просто popcnt (плюс - минус доли процента). make profile-build ARCH=x86-64-modern и CXXFLAGS += -msse3 -mpopcnt -DUSE_POPCNT -mbmi2 вместо make profile-build ARCH=x86-64-bmi2 то есть без задействования PEXT инструкций. И без потери производительности на Райзенах. Код:
if (HasPext) m.attacks[pext(b, m.mask)] = reference[size]; |
2 пользователя(ей) сказали cпасибо: | SergeyMZ (13.01.2020), АЛЕКСЕЙ1976 (09.06.2020) |
13.01.2020, 20:17 | #36 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Цитата: Сообщение от ChessMan
Проверял на СиФише - тот же эффект что и для popcnt+AVX2
И отдельно - большое спасибо за Вашу работу, но хотелось бы видеть результаты и на Core, т.е. от владельцев современных железок от Intel, поддерживающих BMI2 и AVX2. Т.е. минимум - Haswell. Цитата: Сообщение от ChessMan
В движке просто нет кода для AVX/AVX2 инструкций, поэтому и прироста нет.
Понятно, что код - один. Понятно также, что и... высосать из него можно немного, но таки - получилось же! |
13.01.2020, 20:28 | #37 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
Re: Stockfish и его производные
Цитата: Сообщение от Maratka
Таки хочется на моих бинарях ;)
Build Tester: 1.4.7.0 Windows 10 (Version 10.0, Build 0, 64-bit Edition) AMD Ryzen 9 3900X 12-Core Processor SafeMode: No Running In VM: No HyperThreading Enabled: Yes CPU Warmup: Yes Command Line: bench 16 1 15 Tests per Build: 10 ANOVA: n/a Engine# (NPS) Speedup Sp Conf. 99.5% S.S. 2 (1*422*686,5 ) ---> 1 (1*414*756,3 ) ---> 0,561% 1*695,5 Yes No |
2 пользователя(ей) сказали cпасибо: | Maratka (13.01.2020), АЛЕКСЕЙ1976 (09.06.2020) |
13.01.2020, 20:29 | #38 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Это текст не к предыдущему сообщению, а скорее к моему предыдущему:
_______ Это понятно не значит, что MSVC собирает классный код для AVX2. Допускаю, что просто x64 у них слишком медленный. Но под это дело я (месяца три тому) затевал тему по сравнению именно компиляторов. Всех актуальных, кто в принципе способен собрать бинарь из текущего сурса. И со всеми оптимизациями. Вы провели хорошую работу! Но теперь работа за другими, за теми, кто может собрать бинарь SF на другой версии студии, или в компиляторе Intel (с известными его заточками), или еще где... Работа большая - нужно сравнить все что запускается на данном железе (у меня скажем не работает AVX2/BMI2), но помимо этого нет зависимости от компилятора. И сравнить: собственно компиляторы, их флаги, их... усердие при профилировании (и отдельно без него), и все это - на разном железе. Это... мусор для адванса и/или длинных контролей от часа, но технически - это полезная информация, для всех, кто заинтересован в.... ну пусть будет так "максимуме ELO на имеющемся железе". Во всяком случае, из этого будет понятно, как вытянть еще 0,5% для SF'ша под железо, на котором он и будет играть некий турнир. |
13.01.2020, 20:30 | #39 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Цитата: Сообщение от ChessMan
Таки есть прирост))
|
13.01.2020, 20:31 | #40 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
Re: Stockfish и его производные
Цитата: Сообщение от Maratka
А... уж простите за навязчивость... но запустить 5 раз, и вывести среднее?
|
13.01.2020, 20:47 | #41 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
Re: Stockfish и его производные
Цитата: Сообщение от Maratka
Т.е. для студии BMI2+AVX2 лучше голого BMI2
Лучше на пшик, но таки лучше? |
13.01.2020, 20:50 | #42 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
Re: Stockfish и его производные
Цитата: Сообщение от ChessMan
Точно так же я могу скомпилировать обычную popcnt версию с флагом -mbmi2 и скорость будет такая же как и просто popcnt (плюс - минус доли процента).
Движок №3 это popcnt+bmi2, но без PEXT ===================== На случай, если кто-то захочет у себя проверить мою ЛТО сборку против Аброковской: http://s000.tinyupload.com/index.php...70887863885900 |
2 пользователя(ей) сказали cпасибо: | Viktor (13.01.2020), АЛЕКСЕЙ1976 (09.06.2020) |
13.01.2020, 21:05 | #43 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Цитата: Сообщение от ChessMan
Вот подтверждение:
Для Core же начиная с Haswell оптимально BMI2 (плюс возможно опять же дополнительные флаги, скажем в MSVC оптимальна BMI2 сборка с дополнительным флагом /AVX2, но на Ryzen, а что будет на Core? _____ Короче, сейчас мы выяснили все что можно найти поверхностно, и всего-то по трем компиляторам. Как минимум, нам нужен для полного разбора компилятор Intel. Ну и опции под него (для тех, кто с ним работал). И отдельно - компиляторы под Линукс. В общем, работы... много. Но интересной (как минимум для меня). Вопрос: кто возьмется (отдельно сборка, отдельно - бенчи, совмещение - вполне допустимо и приветствуется). Ну и идеи (базовые написаны выше, но ведь есть еще и BMI2 + AVX (не AVX2), POPCNT c разными опциями... Короче: будем заниматься? |
13.01.2020, 21:13 | #45 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
Re: Stockfish и его производные
Цитата: Сообщение от Maratka
Короче: будем заниматься?
Развернуть для просмотра[свернуть] |
Пользователь сказал cпасибо: | АЛЕКСЕЙ1976 (09.06.2020) |
13.01.2020, 21:16 | #46 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Цитата: Сообщение от ChessMan
Райзены не слабы в BMI2. Они слабы в PEXT и PDEP.
Они провели новые тесты, результаты Ryzen были с точность до погрешности одинаковы как у ZEN, так и у ZEN2. Т.е. по их данным - SF в исполнении POPCNT идеален для Ryzen. BMI2 - для Core. При этом Ryzen быстрее Core на вполне ощутимые 5-10% при равном количестве ядер/потоков. Цитату переписки могу привести (сам был в шоке, ибо BMI2 есть суть подмножество AVX2, и сложно увеличить скорость AVX2 в два раза, не увеличив скорость BMI2 хотя бы на 10-30%, идеально - пропорционально). Но вот так у AMD вышло. ____ P.s. Это не хорошо, и не плохо. Это нужно просто понимать и учитывать: для Ryzen оптимальны сборки POPCNT. |
13.01.2020, 21:18 | #47 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Stockfish и его производные
Цитата: Сообщение от ChessMan
Ну, я точно нет. Сегодня последний день отпуска, а дальше работа и нужно разгребстись с партиями на ИКЧФ... Я ещё никогда не играл столько партий одновременно...
Ваши бенчи известны. Абсолютные попугаи понятно особой роли не играют, ибо важны относительные величины. Вы их дали. Ну и отлично! |
16.01.2020, 00:35 | #48 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
Re: Оптимизации SF в зависимости от компилятора, профилирования и ключей компилятора
@Maratka
Проверяйте, добавил поддержку BMI1. На моём ПК около 1,6% прироста скорости. Возможно даже на уровне BMI2, но это надо чтобы кто-то на интелах проверил... Скачать: удалено в связи отсутствия интереса Развернуть для просмотраBuild Tester: 1.4.7.0 Windows 10 (Version 10.0, Build 0, 64-bit Edition) AMD Ryzen 9 3900X 12-Core Processor SafeMode: No Running In VM: No HyperThreading Enabled: Yes CPU Warmup: No Command Line: bench 16 1 13 Tests per Build: 10 ANOVA: n/a Engine# (NPS) Speedup Sp Conf. 99.5% S.S. 1 (2*483*649,5 ) ---> 2 (2*443*256,1 ) ---> 1,653% 12*643,6 Yes No [свернуть] Последний раз редактировалось ChessMan; 16.01.2020 в 21:23. |
Пользователь сказал cпасибо: | АЛЕКСЕЙ1976 (09.06.2020) |
16.01.2020, 01:08 | #49 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Оптимизации SF в зависимости от компилятора, профилирования и ключей компилятора
Цитата: Сообщение от ChessMan
Проверяйте, добавил поддержку BMI1.
Ну и желательно исходники, чтобы я их мог собрать под MSVC, чтобы сравнить не только под вашим компилятором! |
16.01.2020, 01:10 | #50 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
Re: Оптимизации SF в зависимости от компилятора, профилирования и ключей компилятора
Цитата: Сообщение от Maratka
Дайте плиз ссылку на тестовую утилиту.
Ну и желательно исходники, чтобы я их мог собрать под MSVC, чтобы сравнить не только под вашим компилятором! Исходники отправил в ЛС. |
Пользователь сказал cпасибо: | АЛЕКСЕЙ1976 (09.06.2020) |
16.01.2020, 20:26 | #51 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
Re: Оптимизации SF в зависимости от компилятора, профилирования и ключей компилятора
1 core, concurrency 12
TC 30+0.3, hash 32 MB. |
Пользователь сказал cпасибо: | АЛЕКСЕЙ1976 (09.06.2020) |
16.01.2020, 21:39 | #52 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Оптимизации SF в зависимости от компилятора, профилирования и ключей компилятора
Недостоверно: разница меньше погрешности.
Что я думаю: тут IMHO вполне достаточно коротких тестов на скорость: если исходник в функциональной своей части совпадает, и разница лишь в "технике", т.е. тех или иных задействованных инструкциях процессора (что автоматом ведет к равному бенчу, но разной скорости перебора), то более быстрый заведомо выиграет турнир, при условии достаточности партий в нем. |
16.01.2020, 21:45 | #53 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
Re: Оптимизации SF в зависимости от компилятора, профилирования и ключей компилятора
Цитата: Сообщение от Maratka
Недостоверно: разница меньше погрешности.
|
16.01.2020, 21:49 | #54 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Оптимизации SF в зависимости от компилятора, профилирования и ключей компилятора
Так потому и пишу: запустите привычный Вам тест скорости. Если bench движков равен, то турнир на любом контроле не имеет смысла: всегда выиграет более быстрый движок!
|
16.01.2020, 21:56 | #55 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
Re: Оптимизации SF в зависимости от компилятора, профилирования и ключей компилятора
Цитата: Сообщение от Maratka
Так потому и пишу: запустите привычный Вам тест скорости. Если bench движков равен, то турнир на любом контроле не имеет смысла: всегда выиграет более быстрый движок!
|
16.01.2020, 22:00 | #56 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,849
Сказал(а) спасибо: 3,311
Поблагодарили 5,952 раз(а) в 4,245 сообщениях
Репутация: 253
|
Re: Оптимизации SF в зависимости от компилятора, профилирования и ключей компилятора
Тогда ваш движок упадет.
Но это быстро отслеживается... Я думаю, Вы помните тесты на Вашем FX'е (был он правда у Вас недолго) - как ведет себе условная сборка под AVX, при отключении AVX на уровне ОС? |
09.02.2020, 10:41 | #57 |
Эксперт
Регистрация: 01.12.2016
Сообщений: 5,696
Сказал(а) спасибо: 264
Поблагодарили 1,517 раз(а) в 1,153 сообщениях
Записей в дневнике: 15
|
Re: Оптимизации SF в зависимости от компилятора, профилирования и ключей компилятора
Цитата: Сообщение от Maratka
Я думаю, Вы помните тесты на Вашем FX'е (был он правда у Вас недолго) - как ведет себе условная сборка под AVX, при отключении AVX на уровне ОС?
Помню как один препод сопромата мог запросто провести 2 часовую лекцию на немецком языке. Сдать у него было практически не возможно.
__________________
10 оттенков https://www.youtube.com/playlist?lis...7RKv2pEmatnOBs |
11.02.2020, 08:09 | #58 |
Гроссмейстер
Регистрация: 20.01.2019
Сообщений: 1,067
Сказал(а) спасибо: 2
Поблагодарили 701 раз(а) в 343 сообщениях
Репутация: 92
|
Re: Оптимизации SF в зависимости от компилятора, профилирования и ключей компилятора
Цитата: Сообщение от ChessMan
Сам не осилю тест на таком контроле с достаточным количеством партий. А при контроле 10+0,1 результат более чем очевиден...
Вот формула для расчета, убедитесь https://ru.wikipedia.org/wiki/%D0%A1...B1%D0%BA%D0%B0 4.96 - это удвоенная выборочная дисперсия, ее надо разделить на квадратный корень из числа партий, деленный на два к получившемуся результату надо добавить ошибку дебютов. А какова она, зависит от того, какой дебютный набор вы использовали |
3 пользователя(ей) сказали cпасибо: |
11.02.2020, 22:39 | #60 |
Гроссмейстер
Регистрация: 20.01.2019
Сообщений: 1,067
Сказал(а) спасибо: 2
Поблагодарили 701 раз(а) в 343 сообщениях
Репутация: 92
|
Re: Оптимизации SF в зависимости от компилятора, профилирования и ключей компилятора
Вот научная работа по ошибкам Эло в тестах движков http://hardy.uhasselt.be/Toga/normalized_elo.pdf
И там как раз эта формула - как из дисперсии получить ошибку Эло |
3 пользователя(ей) сказали cпасибо: |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|