Evaluating CPU cores for optimisation - page 5

 
Vladimir Pastushak:

The 2990WX is different. It consists of four Zeppelin chips, with 32 processing cores. On the X399 platform, AMD has imposed some restrictions on this processor so that it doesn't hurt sales of EPYC server chips.

Chief among these limitations is the presence of only four memory controllers. Although there are two more Zeppelin chips, AMD calls them compute chips. This means they don't have access to local PCIe or DRAM, for that they have to address I/O components via Infinity Fabric. Since there are twice as many crystals, the bandwidth of the Infinity fabric is twice as low, around 25Gb/s if DDR4-3200 memory is used.

Here, if there is any active memory handling, it's only occasional reading - reading 64 times the EA code from memory is very fast, and clearly doesn't take 100 seconds!

The2990WX cannot be slower than FX-8350 under load of equal number of cores!

Besides, you and I loaded this processor in R, and there the performance was significantly better than that of the FX-8350, with each thread eating up around 100 megabytes.

It looks like the compiler is tuned to some peculiarities of Intel processors.

Although, it could be that agents are independent of each other - it's like different programs and then they can load the bus with constant data overload to get new jobs (pieces of code for execution) for each agent, but I'm not an expert in this matter, obviously.

If this is true, then it is time to change the agent ideology by making the program (EA) common to all cores, and execute the code itself synchronously - on more cores this may be faster than the current asynchronous execution.

 

Build 2085
Debian9 Wine 4.0.1
Asus P8P67PRO
Intel@ Core i7-3770K CPU @ 3.50GHz
RAM 4x4 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 4x4 16Gb


Tree_Brut_TestPL


Tree_Brut_TestPL_F

Thanks for the tests - updated the rating.

Here you can see that without hypertrading it's not good at all - slower than Celeron G3900...

I think anything slower than a Celeron should be changed...
 
Aleksey Vyazmikin:

Thanks for the tests - updated the rating.

Here you can see that without hypertrading it's not good at all - slower than the Celeron G3900...

I think that slower than the Celeron, it's advisable to change already...

Maybe the test is not correct because of Wine.
Because under Wine the agents show Intel Pentium 4 2.40 GHz
It's not clear what configuration was actually used.
Perhaps we should add Wine correction into the rating.
I will try to do a test on a virtual machine in Windows10 a bit later.

 
Roman:

It is possible that the test is not correct because of Wine.
Under Wine the agents show Intel Pentium 4 2.40 GHz
And it is not clear what configuration is actually used.
Perhaps we should add Wine correction into the rating.
I will try to do a test on a virtual machine in Windows10 a bit later.

Can't you just try it in Windows 7 /10 , without virtual machines?

 
Aleksey Vyazmikin:

Can't you just try it in Windows 7 /10 , without virtual machines?

I have linux as my primary system, now because of the test to reinstall the operating system, as it is not kamilfo)).
I may try it after some time, when I reinstall it back to Windows because I am convinced that Wine is not suitable for mt5.

 
Roman:

I have linux as my primary system and I'm not really comfortable reinstalling the OS for testing purposes )).
I may have done that after some time, after reinstalling the system I should switch back to wine. I am convinced that Wine is not suitable for mt5.

If the tests are any better, it's a good reason to have a Windows system, at least for testing purposes...

 

The virtual machine didn't help.
Most likely the problem is virtualization, both on Wine and VM.
Because it's kinda weird that an i7 4 cores, is inferior to a celeron 2 cores.

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

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%)
 

I decided to look into what instructions differentiate between processors - well there can't be such a performance boost for an i7-8700 out of the blue, so for comparison I took the 2990WX, FX-8350, E5-2670.

Here's a map of the instructions on which:

Grey - instructions are all there.

Green colour - instructions are not available for all

Pink - similar technologies/instructions

Blue - unique processor instructions

Yellow - shows lack of instructions compared to i7-8700




Source of information.

We see that 2990WX has all instructions which are present in FX-8350 and i7-8700, which means the performance of cores should be comparable for the same task (may be a little bit slower due to frequency, but it's in theory, if we ignore the progress of microprocessors, purely on the availability of logic). At the same time FX-8350 has instructions which were dropped in 2990WX, and maybe not dropped, but just gave another name (marketing) - it's good to check, for those who understand.

Further, let's compare i7-8700 with E5-2670 and pay attention to its instructions presence and relatively to FX-8350 - we see that other processors have no instructions BMI1, F16C, FMA3 - what are they responsible for, and is their absence critical - that's the question!


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

The virtual machine has not helped.
Most likely the problem is in virtualisation, both on Wine and VM.
Because it seems odd that an i7 4 cores, is inferior to a celeron 2 cores.

Yes, there are some oddities here - we need to get more statistical data to assess the situation.

Thei7-3770K has no BMI1, FMA3 instructions - maybe that's the reason.