Оцениваем ядра CPU для оптимизации - страница 5

 
Vladimir Pastushak:

Модель 2990WX отличается. Она состоит из четырёх кристаллов Zeppelin, вычислительных ядер 32. На платформе X399 AMD наложила на этот процессор некоторые ограничения, чтобы он не вредил продажам серверных чипов EPYC.

Главным из этих ограничений является наличие только четырёх контроллеров памяти. Хотя кристаллов Zeppelin на два больше, AMD называет их вычислительными. Это означает, что у них нет доступа к локальным PCIe или DRAM, для этого они должны через Infinity Fabric обращаться к компонентам ввода-вывода. Поскольку кристаллов в 2 раза больше, пропускная способность Infinity fabric в 2 раза меньше, около 25 Гб/с, если использовать память DDR4-3200.

Тут если и есть активная работа с памятью, то только эпизодически на чтение - прочитать 64 раза код советника из памяти - это очень быстро, и явно не занимает 100 секунд!

Не может 2990WX быть медленней FX-8350 при нагрузке равного числа ядер!

К тому же, мы с Вами нагружали этот процессор в R, и там производительность была значительно больше, чем у FX-8350, при этом каждый поток ел в районе 100 мегабайт.

Тут похоже на то, что компилятор заточен на какие то особенности Intel процессоров.

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

Если это так, то идеологию агентов пора менять, делая программу (советник) общей для всех ядер, а сам код исполнять синхронно - на большом количестве ядер это может оказаться быстрей, чем текущее асинхронное исполнение.

 

Build 2085
Debian9 Wine 4.0.1
Asus P8P67PRO
Intel@ Core i7-3770K CPU @ 3.50GHz
RAM 4х4 16Gb


Tree_Brut_TestPL

Pass: 8, Agent: 2

2019.08.12 07:30:47.921 Core 2  pass 4 returned result 1001000.00 in 0:01:37.923
2019.08.12 07:30:48.917 Core 1  pass 0 returned result 1001000.00 in 0:01:39.007
2019.08.12 07:32:28.151 Core 2  pass 5 returned result 1001000.00 in 0:01:40.231
2019.08.12 07:32:28.161 Core 1  pass 1 returned result 1001000.00 in 0:01:39.245
2019.08.12 07:34:07.317 Core 1  pass 2 returned result 1001000.00 in 0:01:39.156
2019.08.12 07:34:08.936 Core 2  pass 6 returned result 1001000.00 in 0:01:40.786
2019.08.12 07:35:46.231 Core 1  pass 3 returned result 1001000.00 in 0:01:38.914
2019.08.12 07:35:51.699 Core 2  pass 7 returned result 1001000.00 in 0:01:42.764
2019.08.12 07:35:51.699 Tester  optimization finished, total passes 8
2019.08.12 07:35:51.709 Statistics      optimization done in 6 minutes 42 seconds
2019.08.12 07:35:51.710 Statistics      shortest pass 0:01:37.923, longest pass 0:01:42.764, average pass 0:01:39.753
2019.08.12 07:35:51.710 Statistics      8000 frames (3.14 Mb total, 412 bytes per frame) received
2019.08.12 07:35:51.710 Statistics      local 8 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)

Pass: 8, Agent: 4

2019.08.12 07:39:22.201 Core 1  pass 0 returned result 1001000.00 in 0:01:38.523
2019.08.12 07:39:25.351 Core 4  pass 6 returned result 1001000.00 in 0:01:41.332
2019.08.12 07:39:27.966 Core 2  pass 2 returned result 1001000.00 in 0:01:44.256
2019.08.12 07:39:28.480 Core 3  pass 4 returned result 1001000.00 in 0:01:44.641
2019.08.12 07:41:00.476 Core 1  pass 1 returned result 1001000.00 in 0:01:38.275
2019.08.12 07:41:06.496 Core 4  pass 7 returned result 1001000.00 in 0:01:41.146
2019.08.12 07:41:09.869 Core 2  pass 3 returned result 1001000.00 in 0:01:41.903
2019.08.12 07:41:10.728 Core 3  pass 5 returned result 1001000.00 in 0:01:42.248
2019.08.12 07:41:10.729 Tester  optimization finished, total passes 8
2019.08.12 07:41:10.739 Statistics      optimization done in 3 minutes 27 seconds
2019.08.12 07:41:10.739 Statistics      shortest pass 0:01:38.275, longest pass 0:01:44.641, average pass 0:01:41.540
2019.08.12 07:41:10.739 Statistics      8000 frames (3.14 Mb total, 412 bytes per frame) received
2019.08.12 07:41:10.739 Statistics      local 8 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)

Pass: 8, Agent: 8

2019.08.12 07:47:10.314 Core 3  pass 2 returned result 1001000.00 in 0:03:45.744
2019.08.12 07:47:10.573 Core 8  pass 7 returned result 1001000.00 in 0:03:44.805
2019.08.12 07:47:15.145 Core 5  pass 4 returned result 1001000.00 in 0:03:50.281
2019.08.12 07:47:15.701 Core 7  pass 6 returned result 1001000.00 in 0:03:50.128
2019.08.12 07:47:15.765 Core 2  pass 1 returned result 1001000.00 in 0:03:51.302
2019.08.12 07:47:16.624 Core 6  pass 5 returned result 1001000.00 in 0:03:51.547
2019.08.12 07:47:17.686 Core 4  pass 3 returned result 1001000.00 in 0:03:53.025
2019.08.12 07:47:30.052 Core 1  pass 0 returned result 1001000.00 in 0:04:05.750
2019.08.12 07:47:30.052 Tester  optimization finished, total passes 8
2019.08.12 07:47:30.062 Statistics      optimization done in 4 minutes 07 seconds
2019.08.12 07:47:30.062 Statistics      shortest pass 0:03:44.805, longest pass 0:04:05.750, average pass 0:03:51.572
2019.08.12 07:47:30.062 Statistics      8000 frames (3.14 Mb total, 412 bytes per frame) received
2019.08.12 07:47:30.062 Statistics      local 8 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)


Tree_Brut_TestPL_F

Pass: 8, Agent: 2

2019.08.12 08:01:23.565 Core 1  pass 0 returned result 1001000.00 in 0:03:41.797
2019.08.12 08:01:28.112 Core 2  pass 4 returned result 1001000.00 in 0:03:46.278
2019.08.12 08:05:03.684 Core 1  pass 1 returned result 1001000.00 in 0:03:40.121
2019.08.12 08:05:13.202 Core 2  pass 5 returned result 1001000.00 in 0:03:45.092
2019.08.12 08:08:43.180 Core 1  pass 2 returned result 1001000.00 in 0:03:39.499
2019.08.12 08:08:56.696 Core 2  pass 6 returned result 1001000.00 in 0:03:43.497
2019.08.12 08:12:23.381 Core 1  pass 3 returned result 1001000.00 in 0:03:40.204
2019.08.12 08:12:38.250 Core 2  pass 7 returned result 1001000.00 in 0:03:41.557
2019.08.12 08:12:38.250 Tester  optimization finished, total passes 8
2019.08.12 08:12:38.260 Statistics      optimization done in 14 minutes 58 seconds
2019.08.12 08:12:38.260 Statistics      shortest pass 0:03:39.499, longest pass 0:03:46.278, average pass 0:03:42.255
2019.08.12 08:12:38.260 Statistics      8000 frames (3.14 Mb total, 412 bytes per frame) received
2019.08.12 08:12:38.260 Statistics      local 8 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)


Pass: 8, Agent: 4

2019.08.12 08:26:59.764 Core 1  pass 0 returned result 1001000.00 in 0:03:52.901
2019.08.12 08:27:00.641 Core 2  pass 2 returned result 1001000.00 in 0:03:53.639
2019.08.12 08:27:01.711 Core 3  pass 4 returned result 1001000.00 in 0:03:54.624
2019.08.12 08:27:02.128 Core 4  pass 6 returned result 1001000.00 in 0:03:54.908
2019.08.12 08:30:49.743 Core 2  pass 3 returned result 1001000.00 in 0:03:49.105
2019.08.12 08:30:50.377 Core 3  pass 5 returned result 1001000.00 in 0:03:48.668
2019.08.12 08:30:51.670 Core 1  pass 1 returned result 1001000.00 in 0:03:51.908
2019.08.12 08:30:54.910 Core 4  pass 7 returned result 1001000.00 in 0:03:52.785
2019.08.12 08:30:54.911 Tester  optimization finished, total passes 8
2019.08.12 08:30:54.921 Statistics      optimization done in 7 minutes 49 seconds
2019.08.12 08:30:54.921 Statistics      shortest pass 0:03:48.668, longest pass 0:03:54.908, average pass 0:03:52.317
2019.08.12 08:30:54.921 Statistics      8000 frames (3.14 Mb total, 412 bytes per frame) received
2019.08.12 08:30:54.921 Statistics      local 8 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)

Pass: 8, Agent: 8

2019.08.12 08:38:39.221 Core 8  pass 7 returned result 1001000.00 in 0:06:25.500
2019.08.12 08:38:51.812 Core 6  pass 5 returned result 1001000.00 in 0:06:38.644
2019.08.12 08:38:55.103 Core 2  pass 1 returned result 1001000.00 in 0:06:42.620
2019.08.12 08:39:04.616 Core 7  pass 6 returned result 1001000.00 in 0:06:51.090
2019.08.12 08:39:04.697 Core 4  pass 3 returned result 1001000.00 in 0:06:51.862
2019.08.12 08:39:07.278 Core 3  pass 2 returned result 1001000.00 in 0:06:54.651
2019.08.12 08:39:13.762 Core 1  pass 0 returned result 1001000.00 in 0:07:01.299
2019.08.12 08:39:19.159 Core 5  pass 4 returned result 1001000.00 in 0:07:06.182
2019.08.12 08:39:19.159 Tester  optimization finished, total passes 8
2019.08.12 08:39:19.169 Statistics      optimization done in 7 minutes 08 seconds
2019.08.12 08:39:19.169 Statistics      shortest pass 0:06:25.500, longest pass 0:07:06.182, average pass 0:06:48.981
2019.08.12 08:39:19.169 Statistics      8000 frames (3.14 Mb total, 412 bytes per frame) received
2019.08.12 08:39:19.169 Statistics      local 8 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)
 
Roman:
Debian9 Wine 4.0.1.
Asus P8P67PRO
Intel@ Core i7-3770K CPU @ 3.50GHz

RAM 4х4 16Gb


Tree_Brut_TestPL


Tree_Brut_TestPL_F

Спасибо за тесты - обновил рейтинг.

Тут видно, что без гипертрейдинга совсем плохо - медленней, чем Celeron G3900...

Думаю, то, что медленней целерона, то желательно уже менять...
 
Aleksey Vyazmikin:

Спасибо за тесты - обновил рейтинг.

Тут видно, что без гипертрейдинга совсем плохо - медленней, чем Celeron G3900...

Думаю, что медленней целерона, то желательно уже менять...

Тут ещё возможно тест не корректен из за Wine.
Так как из под Wine агенты показывают Intel Pentium 4  2.40 GHz
И не понятно какая конфигурация задействована по факту.
Возможно в рейтинг нужно добавить поправку на Wine.
Чуть позже попробую сделать тест на виртуальной машине в Windows10.

 
Roman:

Тут ещё возможно тест не корректен из за Wine.
Так как из под Wine агенты показывают Intel Pentium 4  2.40 GHz
И не понятно какая конфигурация задействована по факту.
Возможно в рейтинг нужно добавить поправку на Wine.
Чуть позже попробую сделать тест на виртуальной машине в Windows10.

А просто в Windows 7 /10 , без виртуальных машин опробовать нельзя?

 
Aleksey Vyazmikin:

А просто в Windows 7 /10 , без виртуальных машин опробовать нельзя?

У меня линукс основной системой стоит, сейчас из за теста переустанавливать ось, как то не камильфо ))
Но через время возможно сделаю тест, когда переустановлю ось обратно на винду, так как убедился, что Wine не особо подходит для mt5.

 
Roman:

У меня линукс основной системой стоит, сейчас из за теста переустанавливать ось, как то не камильфо ))
Но через время возможно сделаю тест, когда переустановлю ось обратно на винду, так как убедился, что Wine не особо подходит для mt5.

Если тесты будут на порядок лучше, то это повод иметь винду, хотя бы для тестов...

 

Виртуальная машина не помогла.
Скорее всего проблема в виртуализации, что на Wine, что на VM.
Потому что как то странно, что i7 4 ядра, уступает целерону 2 ядра.

Build 2093
Windows10 VM VirtualBox
Asus P8P67PRO
Intel@ Core i7-3770K CPU @ 3.50GHz
RAM 4х4 16Gb

Tree_Brut_TestPL

Pass: 8, Agent: 2

2019.08.12 09:26:18.494 Core 2  pass 4 returned result 1001000.00 in 0:01:45.727
2019.08.12 09:26:23.425 Core 1  pass 0 returned result 1001000.00 in 0:01:50.722
2019.08.12 09:28:03.437 Core 2  pass 5 returned result 1001000.00 in 0:01:45.554
2019.08.12 09:28:11.791 Core 1  pass 1 returned result 1001000.00 in 0:01:49.402
2019.08.12 09:29:47.937 Core 2  pass 6 returned result 1001000.00 in 0:01:44.503
2019.08.12 09:30:00.442 Core 1  pass 2 returned result 1001000.00 in 0:01:48.654
2019.08.12 09:31:33.388 Core 2  pass 7 returned result 1001000.00 in 0:01:45.454
2019.08.12 09:31:49.437 Core 1  pass 3 returned result 1001000.00 in 0:01:48.999
2019.08.12 09:31:49.437 Tester  optimization finished, total passes 8
2019.08.12 09:31:49.448 Statistics      optimization done in 7 minutes 17 seconds
2019.08.12 09:31:49.448 Statistics      shortest pass 0:01:44.503, longest pass 0:01:50.722, average pass 0:01:47.376
2019.08.12 09:31:49.448 Statistics      8000 frames (3.14 Mb total, 412 bytes per frame) received
2019.08.12 09:31:49.448 Statistics      local 8 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)

Pass: 8, Agent: 4

2019.08.12 09:36:41.044 Core 1  pass 2 returned result 1001000.00 in 0:01:49.154
2019.08.12 09:36:44.487 Core 3  pass 6 returned result 1001000.00 in 0:01:52.522
2019.08.12 09:36:44.793 Core 4  pass 0 returned result 1001000.00 in 0:01:52.905
2019.08.12 09:36:46.034 Core 2  pass 4 returned result 1001000.00 in 0:01:54.096
2019.08.12 09:38:31.290 Core 1  pass 3 returned result 1001000.00 in 0:01:50.251
2019.08.12 09:38:37.438 Core 3  pass 7 returned result 1001000.00 in 0:01:52.956
2019.08.12 09:38:39.069 Core 4  pass 1 returned result 1001000.00 in 0:01:54.280
2019.08.12 09:38:41.761 Core 2  pass 5 returned result 1001000.00 in 0:01:55.731
2019.08.12 09:38:41.761 Tester  optimization finished, total passes 8
2019.08.12 09:38:41.772 Statistics      optimization done in 3 minutes 50 seconds
2019.08.12 09:38:41.772 Statistics      shortest pass 0:01:49.154, longest pass 0:01:55.731, average pass 0:01:52.736
2019.08.12 09:38:41.772 Statistics      8000 frames (3.14 Mb total, 412 bytes per frame) received
2019.08.12 09:38:41.772 Statistics      local 8 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)

Pass: 8, Agent: 8

2019.08.12 09:45:29.276 Core 3  pass 1 returned result 1001000.00 in 0:04:06.742
2019.08.12 09:45:29.448 Core 7  pass 7 returned result 1001000.00 in 0:04:06.761
2019.08.12 09:45:29.760 Core 4  pass 5 returned result 1001000.00 in 0:04:07.075
2019.08.12 09:45:30.929 Core 6  pass 3 returned result 1001000.00 in 0:04:08.325
2019.08.12 09:45:30.963 Core 8  pass 4 returned result 1001000.00 in 0:04:08.323
2019.08.12 09:45:30.972 Core 2  pass 2 returned result 1001000.00 in 0:04:08.400
2019.08.12 09:45:31.038 Core 1  pass 0 returned result 1001000.00 in 0:04:08.553
2019.08.12 09:45:31.677 Core 5  pass 6 returned result 1001000.00 in 0:04:08.990
2019.08.12 09:45:31.677 Tester  optimization finished, total passes 8
2019.08.12 09:45:31.687 Statistics      optimization done in 4 minutes 09 seconds
2019.08.12 09:45:31.687 Statistics      shortest pass 0:04:06.742, longest pass 0:04:08.990, average pass 0:04:07.896
2019.08.12 09:45:31.687 Statistics      8000 frames (3.14 Mb total, 412 bytes per frame) received
2019.08.12 09:45:31.688 Statistics      local 8 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)


Tree_Brut_TestPL_F

Pass: 8, Agent: 2

2019.08.12 10:11:35.102 Core 1  pass 0 returned result 1001000.00 in 0:03:59.375
2019.08.12 10:11:38.365 Core 2  pass 4 returned result 1001000.00 in 0:04:02.605
2019.08.12 10:15:34.255 Core 1  pass 1 returned result 1001000.00 in 0:03:59.164
2019.08.12 10:15:39.553 Core 2  pass 5 returned result 1001000.00 in 0:04:01.198
2019.08.12 10:19:31.585 Core 1  pass 2 returned result 1001000.00 in 0:03:57.340
2019.08.12 10:19:39.795 Core 2  pass 6 returned result 1001000.00 in 0:04:00.252
2019.08.12 10:23:29.253 Core 1  pass 3 returned result 1001000.00 in 0:03:57.677
2019.08.12 10:23:39.829 Core 2  pass 7 returned result 1001000.00 in 0:04:00.043
2019.08.12 10:23:39.829 Tester  optimization finished, total passes 8
2019.08.12 10:23:39.840 Statistics      optimization done in 16 minutes 05 seconds
2019.08.12 10:23:39.840 Statistics      shortest pass 0:03:57.340, longest pass 0:04:02.605, average pass 0:03:59.706
2019.08.12 10:23:39.840 Statistics      8000 frames (3.14 Mb total, 412 bytes per frame) received
2019.08.12 10:23:39.840 Statistics      local 8 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)


Pass: 8, Agent: 4

2019.08.12 10:01:30.501 Core 4  pass 2 returned result 1001000.00 in 0:04:07.769
2019.08.12 10:01:31.482 Core 1  pass 4 returned result 1001000.00 in 0:04:08.725
2019.08.12 10:01:33.679 Core 3  pass 6 returned result 1001000.00 in 0:04:10.886
2019.08.12 10:01:33.751 Core 2  pass 0 returned result 1001000.00 in 0:04:11.076
2019.08.12 10:05:39.244 Core 4  pass 3 returned result 1001000.00 in 0:04:08.754
2019.08.12 10:05:40.932 Core 1  pass 5 returned result 1001000.00 in 0:04:09.460
2019.08.12 10:05:43.819 Core 3  pass 7 returned result 1001000.00 in 0:04:10.149
2019.08.12 10:05:44.517 Core 2  pass 1 returned result 1001000.00 in 0:04:10.777
2019.08.12 10:05:44.518 Tester  optimization finished, total passes 8
2019.08.12 10:05:44.528 Statistics      optimization done in 8 minutes 23 seconds
2019.08.12 10:05:44.528 Statistics      shortest pass 0:04:07.769, longest pass 0:04:11.076, average pass 0:04:09.699
2019.08.12 10:05:44.528 Statistics      8000 frames (3.14 Mb total, 412 bytes per frame) received
2019.08.12 10:05:44.528 Statistics      local 8 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)


Pass: 8, Agent: 8

2019.08.12 09:54:56.856 Core 1  pass 2 returned result 1001000.00 in 0:06:44.190
2019.08.12 09:54:58.155 Core 5  pass 3 returned result 1001000.00 in 0:06:45.405
2019.08.12 09:54:58.173 Core 7  pass 7 returned result 1001000.00 in 0:06:45.282
2019.08.12 09:55:00.715 Core 3  pass 1 returned result 1001000.00 in 0:06:48.091
2019.08.12 09:55:01.192 Core 6  pass 6 returned result 1001000.00 in 0:06:48.373
2019.08.12 09:55:02.774 Core 4  pass 4 returned result 1001000.00 in 0:06:50.014
2019.08.12 09:55:02.917 Core 8  pass 5 returned result 1001000.00 in 0:06:50.123
2019.08.12 09:55:02.977 Core 2  pass 0 returned result 1001000.00 in 0:06:50.408
2019.08.12 09:55:02.977 Tester  optimization finished, total passes 8
2019.08.12 09:55:02.988 Statistics      optimization done in 6 minutes 51 seconds
2019.08.12 09:55:02.988 Statistics      shortest pass 0:06:44.190, longest pass 0:06:50.408, average pass 0:06:47.735
2019.08.12 09:55:02.988 Statistics      8000 frames (3.14 Mb total, 412 bytes per frame) received
2019.08.12 09:55:02.988 Statistics      local 8 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)
 

Решил я поискать, какие инструкции различают процессоры - ну не может же на ровном месте быть такой прирост производительности у i7-8700, для сравнения взял 2990WX, FX-8350, E5-2670.

Вот карта инструкций, на которой:

Серый цвет - инструкции есть у всех.

Зеленый цвет - инструкции есть не у всех

Розовый цвет - аналогичные технологии/инструкции

Синий цвет - уникальные инструкции процессора

Желтый цвет - показано отсутствие инструкций у процессора по сравнению с i7-8700




Источник информации.

Видно, что у 2990WX присутствуют все инструкции, что присутствуют у FX-8350 и i7-8700, а значит производительность ядер должна быть сравнима для одной и той же задачи (пусть чуть медленней из-за частоты, но это в теории, если не учитывать прогресс построения микропроцессоров, чисто по наличию логики). В то же время у FX-8350 есть инструкции, от которых отказались в 2990WX, а может и не отказались, а просто дали другое название (маркетинг) - это хорошо бы проверить, тем, кто разбирается.

Дальше сравним i7-8700 с E5-2670 и обратим внимание на наличие у него инструкций и относительно FX-8350 - видно отсутствие инструкций, которые есть у других процессоров BMI1, F16C, FMA3 - за что они отвечают, и критично ли их отсутствие - вот в чем вопрос!


Сравнение процессоров
  • chaynikam.info
  • www.chaynikam.info
Особенности работы с таблицей В таблицу можно добавить не более 6 процессоров (кнопка "Добавить процессор"). Для ускорения поиска интересующего процессора пользуйтесь фильтром. Процессоры в таблице можно менять местами, перетаскивая их в нужное место с помощью мышки. "Ухватить" процессор для перетаскивания можно за ячейку с его названием...
 
Roman:

Виртуальная машина не помогла.
Скорее всего проблема в виртуализации, что на Wine, что на VM.
Потому что как то странно, что i7 4 ядра, уступает целерону 2 ядра.

Да, странностей тут не мало - нужно получить больше статистических данных для оценки ситуации.

У процессора i7-3770K нет инструкций BMI1, FMA3 - может и в этом причина.
Причина обращения: