![]() |
|
![]() |
|
Опции темы | Опции просмотра |
![]() |
#31 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,837
Сказал(а) спасибо: 3,302
Поблагодарили 5,939 раз(а) в 4,239 сообщениях
Репутация: 252
|
![]() Цитата: Сообщение от ChessMan
У меня базовая 3,8. Можно запросто 4,2 фиксированную поставить. Но боюсь VRM не выдержит.
Важно, чтобы она была равная всегда во время прогона теста. Конечно желательно повыше, ибо чем выше частота - тем выше пиковые результаты (как по верху, так и по низу), и отсюда - точнее среднее. Ну пусть будет базовые 3,8, это хороший компромисс. Ну про браузер (и может чего еще там у Вас в фоне крутится, Скайп например, или торрент не забыть): их тоже крайне желательно закрыть. |
![]() |
![]() |
![]() |
#32 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
![]() Цитата: Сообщение от Maratka
В Ryzen'нах нет HT.
Т.е. возможно, что это просто опечатка в логе, а возможно - утилита неправильно работает. Лучше бы отключать эту фичу на время теста. Насколько я помню, у меня на FX 8150 такое было. |
![]() |
![]() |
![]() |
#33 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
![]() Цитата: Сообщение от Maratka
Да не суть какая, хоть 3,5, хоть вообще 2.0
Важно, чтобы она была равная всегда во время прогона теста. Конечно желательно повыше, ибо чем выше частота - тем выше пиковые результаты (как по верху, так и по низу), и отсюда - точнее среднее. Ну пусть будет базовые 3,8, это хороший компромисс. Ну про браузер (и может чего еще там у Вас в фоне крутится, Скайп например, или торрент не забыть): их тоже крайне желательно закрыть. В моих тестах влияние посторонних программ минимально. Можно посмотреть по разнице минимальной и максимальной скорости для одного движка. К тому же, количество прогонов не 2 и не 3. |
![]() |
![]() |
![]() |
#34 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,837
Сказал(а) спасибо: 3,302
Поблагодарили 5,939 раз(а) в 4,239 сообщениях
Репутация: 252
|
![]() Цитата: Сообщение от 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 |
![]() |
![]() |
![]() |
#35 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
![]() Цитата: Сообщение от 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) |
![]() |
#36 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,837
Сказал(а) спасибо: 3,302
Поблагодарили 5,939 раз(а) в 4,239 сообщениях
Репутация: 252
|
![]() Цитата: Сообщение от ChessMan
Проверял на СиФише - тот же эффект что и для popcnt+AVX2
И отдельно - большое спасибо за Вашу работу, но хотелось бы видеть результаты и на Core, т.е. от владельцев современных железок от Intel, поддерживающих BMI2 и AVX2. Т.е. минимум - Haswell. Цитата: Сообщение от ChessMan
В движке просто нет кода для AVX/AVX2 инструкций, поэтому и прироста нет.
Понятно, что код - один. Понятно также, что и... высосать из него можно немного, но таки - получилось же! |
![]() |
![]() |
![]() |
#37 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
![]() Цитата: Сообщение от 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) |
![]() |
#38 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,837
Сказал(а) спасибо: 3,302
Поблагодарили 5,939 раз(а) в 4,239 сообщениях
Репутация: 252
|
![]()
Это текст не к предыдущему сообщению, а скорее к моему предыдущему:
_______ Это понятно не значит, что MSVC собирает классный код для AVX2. Допускаю, что просто x64 у них слишком медленный. Но под это дело я (месяца три тому) затевал тему по сравнению именно компиляторов. Всех актуальных, кто в принципе способен собрать бинарь из текущего сурса. И со всеми оптимизациями. Вы провели хорошую работу! Но теперь работа за другими, за теми, кто может собрать бинарь SF на другой версии студии, или в компиляторе Intel (с известными его заточками), или еще где... Работа большая - нужно сравнить все что запускается на данном железе (у меня скажем не работает AVX2/BMI2), но помимо этого нет зависимости от компилятора. И сравнить: собственно компиляторы, их флаги, их... усердие при профилировании (и отдельно без него), и все это - на разном железе. Это... мусор для адванса и/или длинных контролей от часа, но технически - это полезная информация, для всех, кто заинтересован в.... ну пусть будет так "максимуме ELO на имеющемся железе". Во всяком случае, из этого будет понятно, как вытянть еще 0,5% для SF'ша под железо, на котором он и будет играть некий турнир. |
![]() |
![]() |
![]() |
#39 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,837
Сказал(а) спасибо: 3,302
Поблагодарили 5,939 раз(а) в 4,239 сообщениях
Репутация: 252
|
![]() Цитата: Сообщение от ChessMan
Таки есть прирост))
|
![]() |
![]() |
![]() |
#40 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
![]() Цитата: Сообщение от Maratka
А... уж простите за навязчивость... но запустить 5 раз, и вывести среднее?
![]() |
![]() |
![]() |
![]() |
#41 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
![]() Цитата: Сообщение от Maratka
Т.е. для студии BMI2+AVX2 лучше голого BMI2
Лучше на пшик, но таки лучше? |
![]() |
![]() |
![]() |
#42 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
![]() Цитата: Сообщение от 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) |
![]() |
#43 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,837
Сказал(а) спасибо: 3,302
Поблагодарили 5,939 раз(а) в 4,239 сообщениях
Репутация: 252
|
![]() Цитата: Сообщение от ChessMan
Вот подтверждение:
Для Core же начиная с Haswell оптимально BMI2 (плюс возможно опять же дополнительные флаги, скажем в MSVC оптимальна BMI2 сборка с дополнительным флагом /AVX2, но на Ryzen, а что будет на Core? ![]() _____ Короче, сейчас мы выяснили все что можно найти поверхностно, и всего-то по трем компиляторам. Как минимум, нам нужен для полного разбора компилятор Intel. ![]() Ну и опции под него (для тех, кто с ним работал). И отдельно - компиляторы под Линукс. В общем, работы... много. Но интересной (как минимум для меня). Вопрос: кто возьмется (отдельно сборка, отдельно - бенчи, совмещение - вполне допустимо и приветствуется). Ну и идеи (базовые написаны выше, но ведь есть еще и BMI2 + AVX (не AVX2), POPCNT c разными опциями... Короче: будем заниматься? |
![]() |
![]() |
![]() |
#45 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
![]() Цитата: Сообщение от Maratka
Короче: будем заниматься?
Развернуть для просмотра![]() [свернуть] |
![]() |
![]() |
Пользователь сказал cпасибо: | АЛЕКСЕЙ1976 (09.06.2020) |
![]() |
#46 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,837
Сказал(а) спасибо: 3,302
Поблагодарили 5,939 раз(а) в 4,239 сообщениях
Репутация: 252
|
![]() Цитата: Сообщение от 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. |
![]() |
![]() |
![]() |
#47 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,837
Сказал(а) спасибо: 3,302
Поблагодарили 5,939 раз(а) в 4,239 сообщениях
Репутация: 252
|
![]() Цитата: Сообщение от ChessMan
Ну, я точно нет. Сегодня последний день отпуска, а дальше работа и нужно разгребстись с партиями на ИКЧФ... Я ещё никогда не играл столько партий одновременно...
![]() Ваши бенчи известны. Абсолютные попугаи понятно особой роли не играют, ибо важны относительные величины. Вы их дали. Ну и отлично! |
![]() |
![]() |
![]() |
#48 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
![]()
@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) |
![]() |
#49 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,837
Сказал(а) спасибо: 3,302
Поблагодарили 5,939 раз(а) в 4,239 сообщениях
Репутация: 252
|
![]() Цитата: Сообщение от ChessMan
Проверяйте, добавил поддержку BMI1.
Ну и желательно исходники, чтобы я их мог собрать под MSVC, чтобы сравнить не только под вашим компилятором! |
![]() |
![]() |
![]() |
#50 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
![]() Цитата: Сообщение от Maratka
Дайте плиз ссылку на тестовую утилиту.
Ну и желательно исходники, чтобы я их мог собрать под MSVC, чтобы сравнить не только под вашим компилятором! Исходники отправил в ЛС. |
![]() |
![]() |
Пользователь сказал cпасибо: | АЛЕКСЕЙ1976 (09.06.2020) |
![]() |
#51 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
![]()
1 core, concurrency 12
TC 30+0.3, hash 32 MB. ![]() |
![]() |
![]() |
Пользователь сказал cпасибо: | АЛЕКСЕЙ1976 (09.06.2020) |
![]() |
#52 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,837
Сказал(а) спасибо: 3,302
Поблагодарили 5,939 раз(а) в 4,239 сообщениях
Репутация: 252
|
![]()
Недостоверно: разница меньше погрешности.
Что я думаю: тут IMHO вполне достаточно коротких тестов на скорость: если исходник в функциональной своей части совпадает, и разница лишь в "технике", т.е. тех или иных задействованных инструкциях процессора (что автоматом ведет к равному бенчу, но разной скорости перебора), то более быстрый заведомо выиграет турнир, при условии достаточности партий в нем. |
![]() |
![]() |
![]() |
#53 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
![]() Цитата: Сообщение от Maratka
Недостоверно: разница меньше погрешности.
|
![]() |
![]() |
![]() |
#54 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,837
Сказал(а) спасибо: 3,302
Поблагодарили 5,939 раз(а) в 4,239 сообщениях
Репутация: 252
|
![]()
Так потому и пишу: запустите привычный Вам тест скорости. Если bench движков равен, то турнир на любом контроле не имеет смысла: всегда выиграет более быстрый движок!
|
![]() |
![]() |
![]() |
#55 |
Super Moderator
Регистрация: 04.01.2017
Сообщений: 3,629
Сказал(а) спасибо: 2,879
Поблагодарили 6,463 раз(а) в 2,331 сообщениях
Репутация: 354
|
![]() Цитата: Сообщение от Maratka
Так потому и пишу: запустите привычный Вам тест скорости. Если bench движков равен, то турнир на любом контроле не имеет смысла: всегда выиграет более быстрый движок!
|
![]() |
![]() |
![]() |
#56 |
Эксперт
ТС
Регистрация: 11.04.2017
Адрес: РФ, Крым, Севастополь.
Сообщений: 11,837
Сказал(а) спасибо: 3,302
Поблагодарили 5,939 раз(а) в 4,239 сообщениях
Репутация: 252
|
![]()
Тогда ваш движок упадет.
![]() Но это быстро отслеживается... Я думаю, Вы помните тесты на Вашем FX'е (был он правда у Вас недолго) - как ведет себе условная сборка под AVX, при отключении AVX на уровне ОС? |
![]() |
![]() |
![]() |
#57 |
Эксперт
Регистрация: 01.12.2016
Сообщений: 5,696
Сказал(а) спасибо: 264
Поблагодарили 1,517 раз(а) в 1,153 сообщениях
Записей в дневнике: 15
|
![]() Цитата: Сообщение от Maratka
Я думаю, Вы помните тесты на Вашем FX'е (был он правда у Вас недолго) - как ведет себе условная сборка под AVX, при отключении AVX на уровне ОС?
Помню как один препод сопромата мог запросто провести 2 часовую лекцию на немецком языке. Сдать у него было практически не возможно.
__________________
10 оттенков https://www.youtube.com/playlist?lis...7RKv2pEmatnOBs |
![]() |
![]() |
![]() |
#58 |
Гроссмейстер
Регистрация: 20.01.2019
Сообщений: 1,067
Сказал(а) спасибо: 2
Поблагодарили 701 раз(а) в 343 сообщениях
Репутация: 92
|
![]() Цитата: Сообщение от ChessMan
Сам не осилю тест на таком контроле с достаточным количеством партий. А при контроле 10+0,1 результат более чем очевиден...
Вот формула для расчета, убедитесь https://ru.wikipedia.org/wiki/%D0%A1...B1%D0%BA%D0%B0 4.96 - это удвоенная выборочная дисперсия, ее надо разделить на квадратный корень из числа партий, деленный на два к получившемуся результату надо добавить ошибку дебютов. А какова она, зависит от того, какой дебютный набор вы использовали |
![]() |
![]() |
3 пользователя(ей) сказали cпасибо: |
![]() |
#60 |
Гроссмейстер
Регистрация: 20.01.2019
Сообщений: 1,067
Сказал(а) спасибо: 2
Поблагодарили 701 раз(а) в 343 сообщениях
Репутация: 92
|
![]()
Вот научная работа по ошибкам Эло в тестах движков http://hardy.uhasselt.be/Toga/normalized_elo.pdf
И там как раз эта формула - как из дисперсии получить ошибку Эло |
![]() |
![]() |
3 пользователя(ей) сказали cпасибо: |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|