LINUX.ORG.RU
ФорумTalks

Потестил Ryzen 3900X интеловским Linpack-ом

 , linpack,


1

1

Брал отсюда https://software.intel.com/en-us/articles/intel-mkl-benchmarks-suite

Взял package l_mklb_p_2019.6.004.tgz

$tar -xvzf l_mklb_p_2019.6.005.tgz
$cd l_mklb_p_2019.6.005/benchmarks_2019/linux/mkl/benchmarks/linpack/
$./runme_xeon64

Упс, не тут-то было. Оно не захотело теститься, выдав в ответ

This binary version of the SMP LINPACK benchmark is optimized for and runs on only genuine Intel processors

Пришлось немного пропатчить бинарник xlinpack_xeon64

В hex-editor-e (использовался банальный F3 в mc) заменил в нем первое вхождение строчки GenuineIntel на AuthenticAMD затем немного далее посмотрел и заметил, что в бинарнике уже есть строчка AuthenticAMD - на всякий случай ее просто испортил (чтобы по CPUID совпадений не было), затем вторую GenuineIntel тоже на AuthenticAMD заменил. В принципе, скорее всего проверка была только первый раз, а потом какая-то слинкованная либа что-то проверяла, но на всякий случай сделал, чтобы программа думала, что она точно на Intel исполняется.

Итог: нормально (хотя есть нюанс, потоков почему-то только 12 использовало, а не 24 как должно было) заработало и выдало следующие результаты, если кому интересно (компиляторы у Intel хорошие, годны и для AMD, хе-хе). Также можно сравнивать с Intel процессорами, таким образом.

Sample data file lininput_xeon64.

Current date/time: Sat May  2 21:32:01 2020

CPU frequency:    4.515 GHz
Number of CPUs: 1
Number of cores: 12
Number of threads: 12

Parameters are set to:

Number of tests: 15
Number of equations to solve (problem size) : 1000  2000  5000  10000 15000 18000 20000 22000 25000 26000 27000 30000 35000 40000 45000
Leading dimension of array                  : 1000  2000  5008  10000 15000 18008 20016 22008 25000 26000 27000 30000 35000 40000 45000
Number of trials to run                     : 4     2     2     2     2     2     2     2     2     2     1     1     1     1     1    
Data alignment value (in Kbytes)            : 4     4     4     4     4     4     4     4     4     4     4     1     1     1     1    

Maximum memory requested that can be used=16200901024, at the size=45000

=================== Timing linear equation system solver ===================

Size   LDA    Align. Time(s)    GFlops   Residual     Residual(norm) Check
1000   1000   4      0.004      149.3870 1.385558e-12 4.725110e-02   pass
1000   1000   4      0.005      145.3608 1.385558e-12 4.725110e-02   pass
1000   1000   4      0.005      146.4768 1.385558e-12 4.725110e-02   pass
1000   1000   4      0.004      150.8737 1.385558e-12 4.725110e-02   pass
2000   2000   4      0.018      289.4542 3.884559e-12 3.379091e-02   pass
2000   2000   4      0.018      291.1772 3.884559e-12 3.379091e-02   pass
5000   5008   4      0.218      381.6572 2.757233e-11 3.844740e-02   pass
5000   5008   4      0.217      384.9181 2.757233e-11 3.844740e-02   pass
10000  10000  4      1.470      453.8042 9.461698e-11 3.336291e-02   pass
10000  10000  4      1.499      444.9942 9.461698e-11 3.336291e-02   pass
15000  15000  4      4.651      483.8939 2.013405e-10 3.171147e-02   pass
15000  15000  4      4.773      471.4600 2.013405e-10 3.171147e-02   pass
18000  18008  4      8.052      482.9638 2.764764e-10 3.027757e-02   pass
18000  18008  4      7.959      488.6068 2.764764e-10 3.027757e-02   pass
20000  20016  4      10.840     492.0798 3.444116e-10 3.048797e-02   pass
20000  20016  4      10.921     488.4377 3.444116e-10 3.048797e-02   pass
22000  22008  4      14.274     497.3759 4.067934e-10 2.979601e-02   pass
22000  22008  4      14.274     497.3802 4.067934e-10 2.979601e-02   pass
25000  25000  4      20.902     498.4113 5.756929e-10 3.273759e-02   pass
25000  25000  4      20.977     496.6337 5.756929e-10 3.273759e-02   pass
26000  26000  4      23.410     500.5833 6.045771e-10 3.179048e-02   pass
26000  26000  4      23.380     501.2241 6.045771e-10 3.179048e-02   pass
27000  27000  4      26.175     501.3704 6.066660e-10 2.958412e-02   pass
30000  30000  1      35.478     507.4061 7.727572e-10 3.046217e-02   pass
35000  35000  1      56.047     510.0315 1.169540e-09 3.394997e-02   pass
40000  40000  1      82.851     515.0183 1.560079e-09 3.469669e-02   pass
45000  45000  1      117.600    516.6165 1.937528e-09 3.408877e-02   pass

Performance Summary (GFlops)

Size   LDA    Align.  Average  Maximal
1000   1000   4       148.0246 150.8737
2000   2000   4       290.3157 291.1772
5000   5008   4       383.2877 384.9181
10000  10000  4       449.3992 453.8042
15000  15000  4       477.6769 483.8939
18000  18008  4       485.7853 488.6068
20000  20016  4       490.2587 492.0798
22000  22008  4       497.3780 497.3802
25000  25000  4       497.5225 498.4113
26000  26000  4       500.9037 501.2241
27000  27000  4       501.3704 501.3704
30000  30000  1       507.4061 507.4061
35000  35000  1       510.0315 510.0315
40000  40000  1       515.0183 515.0183
45000  45000  1       516.6165 516.6165

Residual checks PASSED
★★★★★

Последнее исправление: praseodim (всего исправлений: 3)

Потестил Ryzen 3900X интеловским Linpack-ом

Добавь в теги ЖЖ и продолжай наблюдение.

devl547 ★★★★★
()

Пришлось немного пропатчить бинарник xlinpack_xeon64

Можешь опубликовать патч в виде скрипта (чтобы можно было и более новые версии им обрабатывать)?

aquadon ★★★★★
()

потоков почему-то только 12 использовало, а не 24 как должно было

Вангую, что с «синими» процессорами то же самое (поправьте, если ошибаюсь).

Korchevatel ★★★★★
()

потоков почему-то только 12 использовало, а не 24

линпак на SMP проседает заметно, до полутора раз.
поэтому его никто не гоняет на всех потоках - единственное применение линпака на всех потоках - это тестирование стабильности и прогревание процессора в потолок для тестирования системы охлаждения.

pekmop1024 ★★★★★
()
Ответ на: комментарий от pekmop1024

Когда-то экспериментировал с 4790K, при заявленном TDP 88 Вт легко утащил его за 140 Вт, дальше попавшийся под руку NH-C14 его банально не вытаскивал.

pekmop1024 ★★★★★
()
Ответ на: комментарий от praseodim

Я видел такое где-то, sed’ом заменяют нужные позиции в бинарнике.

aquadon ★★★★★
()
Ответ на: комментарий от gvlatyshev

А что тестировалось то? Работа системы охлаждения?

Производительность с оптимизированной под Intel программой. Учитывая, что программы, оптимизированные под AMD - это редкость, достаточно актуально

Я сделал export MKL_DEBUG_CPU_TYPE=5 и не скажу, что результат как-то сильно отличается, хотя немного вырос. Заодно я не стал патчить вторую проверку в бинарнике, видимо отказ генерирует только 1-я.

$ ./xlinpack_xeon64 -i lininput_xeon64
Sample data file lininput_xeon64.

Current date/time: Sun May  3 12:35:47 2020

CPU frequency:    4.290 GHz
Number of CPUs: 1
Number of cores: 12
Number of threads: 12

Parameters are set to:

Number of tests: 15
Number of equations to solve (problem size) : 1000  2000  5000  10000 15000 18000 20000 22000 25000 26000 27000 30000 35000 40000 45000
Leading dimension of array                  : 1000  2000  5008  10000 15000 18008 20016 22008 25000 26000 27000 30000 35000 40000 45000
Number of trials to run                     : 4     2     2     2     2     2     2     2     2     2     1     1     1     1     1    
Data alignment value (in Kbytes)            : 4     4     4     4     4     4     4     4     4     4     4     1     1     1     1    

Maximum memory requested that can be used=16200901024, at the size=45000

=================== Timing linear equation system solver ===================

Size   LDA    Align. Time(s)    GFlops   Residual     Residual(norm) Check
1000   1000   4      0.007      101.5310 1.029732e-12 3.511650e-02   pass
1000   1000   4      0.004      151.5913 1.029732e-12 3.511650e-02   pass
1000   1000   4      0.004      154.7105 1.029732e-12 3.511650e-02   pass
1000   1000   4      0.004      154.3868 1.029732e-12 3.511650e-02   pass
2000   2000   4      0.018      297.0534 3.991266e-12 3.471912e-02   pass
2000   2000   4      0.017      317.7125 3.991266e-12 3.471912e-02   pass
5000   5008   4      0.183      455.8109 2.436845e-11 3.397984e-02   pass
5000   5008   4      0.178      469.2654 2.436845e-11 3.397984e-02   pass
10000  10000  4      1.312      508.2806 9.326587e-11 3.288649e-02   pass
10000  10000  4      1.306      510.7859 9.326587e-11 3.288649e-02   pass
15000  15000  4      4.375      514.3553 2.066112e-10 3.254161e-02   pass
15000  15000  4      4.380      513.7584 2.066112e-10 3.254161e-02   pass
18000  18008  4      7.560      514.3747 3.038254e-10 3.327262e-02   pass
18000  18008  4      7.534      516.1403 3.038254e-10 3.327262e-02   pass
20000  20016  4      10.281     518.8268 3.709001e-10 3.283278e-02   pass
20000  20016  4      10.216     522.1393 3.709001e-10 3.283278e-02   pass
22000  22008  4      13.647     520.2415 4.439795e-10 3.251975e-02   pass
22000  22008  4      13.634     520.7464 4.439795e-10 3.251975e-02   pass
25000  25000  4      19.902     523.4641 5.712425e-10 3.248451e-02   pass
25000  25000  4      19.918     523.0524 5.712425e-10 3.248451e-02   pass
26000  26000  4      22.228     527.1996 6.026815e-10 3.169080e-02   pass
26000  26000  4      22.344     524.4585 6.026815e-10 3.169080e-02   pass
27000  27000  4      24.815     528.8495 6.825751e-10 3.328583e-02   pass
30000  30000  1      34.289     525.0005 8.257446e-10 3.255094e-02   pass
35000  35000  1      54.065     528.7277 1.073374e-09 3.115842e-02   pass
40000  40000  1      78.988     540.2037 1.536346e-09 3.416886e-02   pass
45000  45000  1      111.951    542.6855 1.823860e-09 3.208890e-02   pass

Performance Summary (GFlops)

Size   LDA    Align.  Average  Maximal
1000   1000   4       140.5549 154.7105
2000   2000   4       307.3829 317.7125
5000   5008   4       462.5382 469.2654
10000  10000  4       509.5332 510.7859
15000  15000  4       514.0569 514.3553
18000  18008  4       515.2575 516.1403
20000  20016  4       520.4831 522.1393
22000  22008  4       520.4940 520.7464
25000  25000  4       523.2582 523.4641
26000  26000  4       525.8291 527.1996
27000  27000  4       528.8495 528.8495
30000  30000  1       525.0005 525.0005
35000  35000  1       528.7277 528.7277
40000  40000  1       540.2037 540.2037
45000  45000  1       542.6855 542.6855

Residual checks PASSED

End of tests

https://www.pugetsystems.com/labs/hpc/How-To-Use-MKL-with-AMD-Ryzen-and-Threa...

Для сравнения интереснее другая статья там же

https://www.pugetsystems.com/labs/hpc/AMD-Ryzen-3950x-Compute-Performance-Lin...

Из нее видно, что у меня с интеловской программой и интеловской библиотекой MKL вышло вровень или даже чуть быстрее(!!!), чем у него с AMD-ными библиотеками и оптимизацией под Zen2. 542 GFlops моих супротив 539 GFlops его, впрочем.

Впрочем, без MKL_DEBUG_CPU_TYPE=5 разница не в мою пользу. 516 GFlops против 539. Как я понял, эта переменная включает AVX2. Прирост получается на 5% где-то.

P.S. Про систему охлаждения. Этот тест на короткое время разогревал ядра до 82 градусов, судя по Zenmonitor, хотя в среднем где-то было в течение теста 75-77. Даже не знаю хорошо или плохо. wPrime, кстати, сумел разогреть до 90 градусов. При этом температуры, частоты, и напряжения все время скачут.

praseodim ★★★★★
() автор топика
Последнее исправление: praseodim (всего исправлений: 2)
Ответ на: комментарий от pekmop1024

Там термопаста под крышкой, отчего больше нагрев, независимо от крутизны кулера. Чем больше нагрев, тем больше ток утечки, а значит ещё больше нагрев - положительная обратная связь.

nvidia
()
Ответ на: комментарий от nvidia

Есть такой момент. Что не отменяет трындежа штеуда на тему 88 Вт :)

pekmop1024 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.