|
|
Опции темы | Опции просмотра |
31.05.2020, 12:50 | #1 |
Гроссмейстер
Регистрация: 28.05.2016
Сообщений: 3,184
Сказал(а) спасибо: 11,937
Поблагодарили 5,570 раз(а) в 2,288 сообщениях
Репутация: 614
|
Тесты на влияние многопоточности, хэша и больших страниц памяти на анализ позиций
Приветы!
Решил провести различные тесты на основе набора из 55 позиций, встроенных в тестовых комплекс от Халида Омара Eman Tool. На основе его я хочу получить ответы на следующие вопросы: 1. Как влияет на решение шахматных позиций многопоточность (HT у Интел или SMT у райзен - в данном случае)? В тесте 2 варианта: 12 физических и 24=12*2 физических и виртуальных ядер. 2. Как влияет на решение шахматных позиций величина хэша, который задается движку? В тесте варианты от 128 Мб до 32768 Мб. 3. Как влияют на решение шахматных позиций большие страницы памяти? В тесте варианты будут ВКЛ или ВЫКЛ. В первом большом тесте глубина решения позиций = 30 полуходов. Если будет нужно, то проведу второй большой тест, где глубина = 40 полуходов. Объективный показатель - время решения позиций в миллисекундах, чем меньше он, тем лучше. Скорость в НПС и количество Нодов - относительный. Тест производится на основе движка EMAN 5.60 POPCNT 64-bit. Железо: AMD Ryzen 9 3900X 12-core Processor. 64 Gb RAM DDR4 2400 Mhz. Софт: OS WINDOWS 10 64-bit. 55 positions. Фоновые процессы отключены. Тест A) Depth = 30, THREADS = 24 (HT = ON), LP = ON. 1. HASH = 128 Mb Total time (ms) : 325475 Average depth : 30.00 Nodes searched : 11942256648 Nodes/second : 36691778 2. HASH = 256 Mb Total time (ms) : 309782 Average depth : 30.00 Nodes searched : 11527809121 Nodes/second : 37212649 3. HASH = 512 Mb Total time (ms) : 325987 Average depth : 30.00 Nodes searched : 12204863092 Nodes/second : 37439723 4. HASH = 1024 Mb Total time (ms) : 341418 Average depth : 30.00 Nodes searched : 12972868491 Nodes/second : 37997025 5. HASH = 2048 Mb Total time (ms) : 362759 Average depth : 30.00 Nodes searched : 13846045941 Nodes/second : 38168717 6. HASH = 4096 Mb Total time (ms) : 350625 Average depth : 30.00 Nodes searched : 13346588251 Nodes/second : 38065135 7. HASH = 8192 Mb Total time (ms) : 386663 Average depth : 30.00 Nodes searched : 14462372197 Nodes/second : 37403041 8. HASH = 16384 Mb Total time (ms) : 373253 Average depth : 30.00 Nodes searched : 13847416401 Nodes/second : 37099276 9. HASH = 32768 Mb Total time (ms) : 388044 Average depth : 30.00 Nodes searched : 14605484785 Nodes/second : 37638733 Лучший результат при малом хэше в 256 Мб B) Depth = 30, THREADS = 12 (HT = OFF), LP = ON. 1. HASH = 128 Mb |
7 пользователя(ей) сказали cпасибо: | Alvir (31.05.2020), Asunta (31.05.2020), Borisk (31.05.2020), Evgeny (31.05.2020), sergey1963 (31.05.2020), Tagray (31.05.2020), Владимир001 (31.05.2020) |
31.05.2020, 14:44 | #2 |
Гроссмейстер
ТС
Регистрация: 28.05.2016
Сообщений: 3,184
Сказал(а) спасибо: 11,937
Поблагодарили 5,570 раз(а) в 2,288 сообщениях
Репутация: 614
|
Re: Тесты на влияние многопоточности, хэша и больших страниц памяти на анализ позиций
Итак, готов 2 этап, где многопоточность отключена:
B) Depth = 30, THREADS = 12 (HT = OFF), LP = ON. 1. HASH = 128 Mb Total time (ms) : 298340 Average depth : 30.00 Nodes searched : 8151814196 Nodes/second : 27323906 2. HASH = 256 Mb Total time (ms) : 297837 Average depth : 30.00 Nodes searched : 8166708093 3. HASH = 512 Mb Total time (ms) : 294757 Average depth : 30.00 Nodes searched : 8065444932 Nodes/second : 27363031 4. HASH = 1024 Mb Total time (ms) : 304446 Average depth : 30.00 Nodes searched : 8434151221 Nodes/second : 27703274 5. HASH = 2048 Mb Total time (ms) : 314312 Average depth : 30.00 Nodes searched : 8656571504 Nodes/second : 27541333 6. HASH = 4096 Mb Total time (ms) : 328032 Average depth : 30.00 Nodes searched : 8997140828 Nodes/second : 27427631 7. HASH = 8192 Mb Total time (ms) : 314801 Average depth : 30.00 Nodes searched : 8751099915 Nodes/second : 27798831 8. HASH = 16384 Mb Total time (ms) : 347497 Average depth : 30.00 Nodes searched : 9512460724 Nodes/second : 27374224 9. HASH = 32768 Mb Total time (ms) : 344079 Average depth : 30.00 Nodes searched : 9293786613 Nodes/second : 27010618 Наилучший результат при хэше = 512 Мб. |
3 пользователя(ей) сказали cпасибо: |
31.05.2020, 14:49 | #3 |
Гроссмейстер
ТС
Регистрация: 28.05.2016
Сообщений: 3,184
Сказал(а) спасибо: 11,937
Поблагодарили 5,570 раз(а) в 2,288 сообщениях
Репутация: 614
|
Re: Тесты на влияние многопоточности, хэша и больших страниц памяти на анализ позиций
Вывод, который пока можно сделать из первых двух тестов, а именно ответ на вопрос номер 1 про многопоточность:
Многопоточность однозначно негативно влияет на скорость поиска верного решения шахматных позиций. В моем эксперименте 12 физических ядер явно лучше 12 физических + 12 виртуальных. Это справедливо как для Эмана, так и для Стокфиша, поскольку первый является дериватом второго. Следующий тест будет с отключенными большими страницами памяти. Потом будет второй этап, где глубина поиска будет равна 40 полуходам. |
6 пользователя(ей) сказали cпасибо: | Borisk (31.05.2020), Chess62 (16.07.2021), Falstaf (05.06.2020), sergey1963 (31.05.2020), Tagray (31.05.2020), Владимир001 (31.05.2020) |
31.05.2020, 15:05 | #4 |
Гроссмейстер
Регистрация: 10.07.2018
Сообщений: 1,406
Сказал(а) спасибо: 776
Поблагодарили 2,282 раз(а) в 935 сообщениях
Репутация: 230
|
Re: Тесты на влияние многопоточности, хэша и больших страниц памяти на анализ позиций
Во время анализа индикатор в оболочке показывает текущую заполненность хэша ( 0% ... 100% )
При Depth(30) хэш больше 512MB обычно не успевает заполниться на 100%, т.е. любой хэш выше 512MB уже изначально не будет "оптимальным".. При Depth(40) аналогично можно сказать, что любой хэш выше 8192MB уже изначально не будет "оптимальным".. В некоторых случаях и 4096MB на 100% заполнено не будет.. Зависит от позиции.. |
2 пользователя(ей) сказали cпасибо: | SergeyMZ (31.05.2020), Владимир001 (31.05.2020) |
31.05.2020, 15:09 | #5 |
Гроссмейстер
ТС
Регистрация: 28.05.2016
Сообщений: 3,184
Сказал(а) спасибо: 11,937
Поблагодарили 5,570 раз(а) в 2,288 сообщениях
Репутация: 614
|
Re: Тесты на влияние многопоточности, хэша и больших страниц памяти на анализ позиций
Цитата: Сообщение от Asunta
Во время анализа индикатор в оболочке показывает текущую заполненность хэша ( 0% ... 100% )
При Depth(30) хэш больше 512MB обычно не успевает заполниться на 100%, т.е. любой хэш выше 512MB уже изначально не будет "оптимальным".. При Depth(40) аналогично можно сказать, что любой хэш выше 8192MB уже изначально не будет "оптимальным".. В некоторых случаях и 4096MB на 100% заполнено не будет.. Зависит от позиции.. |
3 пользователя(ей) сказали cпасибо: |
31.05.2020, 15:14 | #6 |
Гроссмейстер
Регистрация: 10.07.2018
Сообщений: 1,406
Сказал(а) спасибо: 776
Поблагодарили 2,282 раз(а) в 935 сообщениях
Репутация: 230
|
Re: Тесты на влияние многопоточности, хэша и больших страниц памяти на анализ позиций
32 Gb --- это минимум Depth(55+) в одну линию...
Или Depth(45...50) в 8-16-24 линии... |
5 пользователя(ей) сказали cпасибо: | Borisk (31.05.2020), sergey1963 (31.05.2020), SergeyMZ (31.05.2020), Tagray (31.05.2020), Владимир001 (31.05.2020) |
31.05.2020, 15:19 | #7 |
Эксперт
Регистрация: 31.05.2016
Сообщений: 6,474
Сказал(а) спасибо: 10,473
Поблагодарили 6,624 раз(а) в 3,608 сообщениях
Репутация: 467
|
Re: Тесты на влияние многопоточности, хэша и больших страниц памяти на анализ позиций
ну-ну... 12гб- выдают уже за 60... за 2 минуты...
https://forchess.ru/showpost.php?p=1...postcount=3758 Цитата: Сообщение от SergeyMZ
То есть, ставить большой хэш, например 32 Гб, имеет смысл только когда анализ идет на очень больших глубинах (40-50+) в зависимости от позиции?
|
31.05.2020, 15:26 | #8 |
Гроссмейстер
Регистрация: 10.07.2018
Сообщений: 1,406
Сказал(а) спасибо: 776
Поблагодарили 2,282 раз(а) в 935 сообщениях
Репутация: 230
|
Re: Тесты на влияние многопоточности, хэша и больших страниц памяти на анализ позиций
Это при пустой доске : )
А я о позициях, где есть что анализировать... Например: r1bq1rk1/ppp3b1/3p1nn1/P1PPp1pp/1P2Pp2/2NN1P2/4B1PP/R1BQ1RK1 w - - 1 16 |
5 пользователя(ей) сказали cпасибо: | Borisk (31.05.2020), sergey1963 (31.05.2020), SergeyMZ (31.05.2020), Tagray (31.05.2020), Владимир001 (31.05.2020) |
31.05.2020, 15:53 | #9 |
Эксперт
Регистрация: 31.05.2016
Сообщений: 6,474
Сказал(а) спасибо: 10,473
Поблагодарили 6,624 раз(а) в 3,608 сообщениях
Репутация: 467
|
Re: Тесты на влияние многопоточности, хэша и больших страниц памяти на анализ позиций
info depth 40 seldepth 57 multipv 1 score cp 50 upperbound nodes 2584444777 nps 7905289 hashfull 967 tbhits 344 time 326926 pv b4b5 g5g4
5 минут- 4 ядра- 4 гига... только вот зачем анализировать 16 ход старушки? Nf2... ничего другого и нет... почти половина адвансовых партий- победа, остальные ничьи..., есть и в5- но мало... |
31.05.2020, 16:44 | #10 |
Гроссмейстер
Регистрация: 10.07.2018
Сообщений: 1,406
Сказал(а) спасибо: 776
Поблагодарили 2,282 раз(а) в 935 сообщениях
Репутация: 230
|
Re: Тесты на влияние многопоточности, хэша и больших страниц памяти на анализ позиций
По поводу 12 ядер или ( 12+12 )
Для простоты можно в более-менее сложной позиции ( в той же староиндийке ) сравнить время доезда в одну линию: 1. до Depth(36) при ( 12 ядер / 4Gb ) и ( 12+12 / 4Gb ) 2. до Depth(44) при ( 12 ядер / 8Gb ) и ( 12+12 / 8Gb ) 3. до Depth(56) при ( 12 ядер /16Gb ) и ( 12+12 /16Gb ) Может вдруг оказаться, что 24 потока в 1.5 раза быстрее добегут.. Просто при сравнении глубина должна хотя бы приблизительно соответствовать хэшу... |
2 пользователя(ей) сказали cпасибо: | SergeyMZ (31.05.2020), Владимир001 (31.05.2020) |
01.06.2020, 20:47 | #12 |
Гроссмейстер
ТС
Регистрация: 28.05.2016
Сообщений: 3,184
Сказал(а) спасибо: 11,937
Поблагодарили 5,570 раз(а) в 2,288 сообщениях
Репутация: 614
|
Re: Тесты на влияние многопоточности, хэша и больших страниц памяти на анализ позиций
Посмотрел варианты Майка с отключенной многопоточностью движком Эман 5.60:
1. A до Depth(36) при ( 12 ядер / 4Gb ) 1.34 min - ход Bd2 2. B до Depth(44) при ( 12 ядер / 8Gb ) 14.17 min - ход Bd2 15.03 min - ход Nf2 3. С до Depth(51) при ( 12 ядер /16Gb ) 1.19 h - ход Nf2 Чтобы набрать глубину в 56 полуходов в этой позиции необходимо около полсуток мне анализировать. Сейчас наблюдаю за Эманом 5.60 и анализом одной из своих партий. Миттельшпильная позиция, хэш 32 гигабайта, за 43 полухода хэш заполнен на 90 процентов. Что это значит: вопрос к знатокам? Что чем больше хэш даешь движку на длительном контроле, тем лучше? |
2 пользователя(ей) сказали cпасибо: | Asunta (02.06.2020), Владимир001 (01.06.2020) |
05.06.2020, 00:38 | #13 |
Гроссмейстер
ТС
Регистрация: 28.05.2016
Сообщений: 3,184
Сказал(а) спасибо: 11,937
Поблагодарили 5,570 раз(а) в 2,288 сообщениях
Репутация: 614
|
Re: Тесты на влияние многопоточности, хэша и больших страниц памяти на анализ позиций
|
2 пользователя(ей) сказали cпасибо: | Asunta (05.06.2020), sergey1963 (05.06.2020) |
05.06.2020, 05:54 | #14 |
Эксперт
Регистрация: 31.05.2016
Сообщений: 6,474
Сказал(а) спасибо: 10,473
Поблагодарили 6,624 раз(а) в 3,608 сообщениях
Репутация: 467
|
Re: Тесты на влияние многопоточности, хэша и больших страниц памяти на анализ позиций
Надоест- возвращайся... Мы тебя помним, любим и желаем всего наилучшего!
|
3 пользователя(ей) сказали cпасибо: |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|