CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Hardware (https://www.cfd-online.com/Forums/hardware/)
-   -   New AMD Ryzen cpus (https://www.cfd-online.com/Forums/hardware/184281-new-amd-ryzen-cpus.html)

epc1 February 27, 2017 05:34

New AMD Ryzen cpus
 
Hello all:

I've been considering building a home PC with one
of the new Ryzen cpus, the R7 1800x. Apparently they
don't support quad channel memory configurations, only
dual channel.

Would I be better off by buying an intel 6800k which
supports quad channel? or is it better to have the extra
two cores that ryzen has?

I intend to use my pc with open foam and Fluent.

Thanks in advance.

flotus1 February 27, 2017 10:37

There are still lots of rumors and uncertainties about AMDs Ryzen CPUs and their performance, especially when it comes to memory. So you will have to wait a few more days until they are released and independent testing is possible. Or better a few more weeks until the inevitable issues of the new platform are fixed.
However, it is highly unlikely that the R7 1800x will represent a better value for CFD workloads compared to an I7 6800k or I7 5820k. If I had to buy a cost-effective CFD workstation right now or in the near future using my own money, it would have a used I7-5820k processor.

Edit:
Now that a few independent tests are available I can definitely confirm: Stick to Intels X99 platform.

tombo March 2, 2017 19:02

I've been considering this too. My thoughts are that if this CPU can be made to work with 32 GB of ram at 3200MHz it could be interesting. Especially from a value for money perspective. From what I've read today, many reviewers are struggling to make the higher capacity memory units work even at 2400MHz, but that (on some boards at least) firmware upgrades are helping. I'll wait and see.

I take it is the memory bandwidth that is concerning you too? In my experience I need 2 channels operating at about 2400MHz per 6 cores (on recent intel Xeon) to avoid a bottleneck. That's my rough-and-ready justification for the 3200 MHz figure above. Of course it's a lot more complex than that, with the new architecture.

One CFD benchmark that I've managed to find (tom's hardware) is quite positive though, outperforming an overclocked 6900K. Others are pretty poor, performing worse that the desktop 4c/8t.

JeffreyB March 5, 2017 05:23

Quote:

Originally Posted by flotus1 (Post 638727)
There are still lots of rumors and uncertainties about AMDs Ryzen CPUs and their performance, especially when it comes to memory. So you will have to wait a few more days until they are released and independent testing is possible. Or better a few more weeks until the inevitable issues of the new platform are fixed.
However, it is highly unlikely that the R7 1800x will represent a better value for CFD workloads compared to an I7 6800k or I7 5820k. If I had to buy a cost-effective CFD workstation right now or in the near future using my own money, it would have a used I7-5820k processor.

Edit:
Now that a few independent tests are available I can definitely confirm: Stick to Intels X99 platform.



http://www.tomshardware.com/reviews/...u,4951-10.html


On this site the pre-Euler3D CFD (Computational Fluid Dynamics Benchmark) calculation shows that it's faster then the X99 platform.

Hope someone here can show us more.

flotus1 March 6, 2017 14:51

So let me clarify how I came to the conclusion that the Ryzen 7 CPUs are not a good value for CFD in general and why the results of this benchmark (euler3D CFD) might be misleading in particular:
  • The result of the euler 3d CFD Benchmark is usually given in Hertz, not in seconds. This leaves room for speculation: e.g. the benchmarks with Ryzen were unintentionally run with a different number of iterations. I will back up this bold claim later
  • The other benchmarks of the same suite crashed. This does not help building confidence in the results. Again, you will see what I mean later
  • The Ryzen CPU architecture has no characteristics that could explain where the superior performance for CFD applications is coming from. If anything, the opposite is true. I don't claim to be an expert on CPU architectures, this argument is solely based on my limited knowledge about hardware and the in-depth reviews I read about Ryzen. The dual-channel memory interface was already mentioned, the issues with the segmented L3 cache and high latencies further add to my doubts.
  • This particular benchmark does not favor AMD CPUs to say the least. You can read more about this topic in the description. So the exceptionally good results which lack of explanation become even more dubious.
But instead of theorizing even more, let us just look at the benchmarks. I found a Ryzen 7 owner who was kind enough to run a few Benchmarks for me, here are the results among a few other CPUs I could get my hands on:
Code:

#Ryzen 7 1800X@stock, 2x8GB DDR4-2133 CL 15 single-rank, dual-channel, SMT on
#threads  time/s  frequency/Hz
      1        -          1.555
      2        -          2.860
      3        -          3.806
      4        -          4.666
      8        -          6.750
      16        -          7.225

#Ryzen 7 1800X@stock, 2x8GB DDR4-2933 CL 16 single-rank, dual-channel, SMT on
#threads  time/s  frequency/Hz
      1        -          1.585
      2        -          2.868
      4        -          4.904
      8        -          7.219
      16        -          7.596

#I7-5960x@stock, 4x8GB DDR4-2133, quad-channel, SMT on
#threads  time/s  frequency/Hz
      16        -          12.04

#I7-6800k@4GHz, 4x4GB DDR4-3200 CL 16 single-rank, quad-channel, SMT on
#threads  time/s  frequency/Hz
      1  163.41          2.448
      2    90.38          4.426
      3    65.67          6.091
      4    53.62          7.459
      6    45.16          8.858
      12    35.35        11.317

#Xeon E5-2670@stock, DDR3-1600 CL 9, dual-channel, SMT on
#threads  time/s  frequency/Hz
      1  289.69          1.382
      4    85,53          4.676
      8    68,12          5.872
      16    48,30          8.282

#Xeon W3690@stock, 6x4GB DDR3-1333 CL 9, triple-channel, SMT off
#threads  time/s  frequency/Hz
      1  289.38          1.382
      2  155.95          2.565
      3  114.59          3.491
      4    93.44          4.281
      5    80.85          4.947
      6    74.28          5.385
      12    82.74          4.836

#I7-4790k@stock, 4x8GB DDR3-1866 CL 10, dual-channel, SMT on
#threads  time/s  frequency/Hz
      1  184.45          2.169
      2  106.83          3.744
      4    73.57          5.437
      8    62.37          6.413

#I7-4790k@stock, 4x8GB DDR3-1333 CL 9, dual-channel, SMT on
#threads  time/s  frequency/Hz
      1  198.05          2.020
      2  117.88          3.393
      4    86.43          4.628
      8    71.69          5.580

#I5-4670k@4.5 GHz, DDR3-1600 CL9, dual-channel
#threads  time/s  frequency/Hz
      4        -          5.495

Combine this with the results here http://www.legitreviews.com/intel-co...arked_181875/6 to get the complete picture. I highly doubt the validity of the results published by tomshardware because they do not match my results, those from other sources and are way off from what could be expected looking at the Ryzen CPU specifications.

Ryzen 7 is a good CPU that beats the competition in many applications despite its much lower price and I think it is pretty important for the CPU market itself.
But compared to Intels I7-CPUs with 6 cores and a focus on CFD, it is not my first choice, not even from a price/performance point of view.

epc1 March 6, 2017 15:02

Yes, my main concern was dual channel usage.

Thanks a lot for the feedback guys.

tombo March 6, 2017 17:14

Great to have some more data, thanks to you and your associate for running them. What kind of benchmark was it? The single core results are probably the most telling, the 1800X only achieving 73% of the performance of the 4790K, a 4th generation i7 from 2014! Interestingly, it does seem to scale quite well from 1 thread to 8, but from a low base.

flotus1 March 6, 2017 17:24

I was referring to the Euler3D CFD results from tomshardware. JeffreyB brought them up.
You can find it here: http://www.caselab.okstate.edu/resea...benchmark.html

tombo March 6, 2017 18:17

Thanks! It's the same benchmark that these guys used (they've done a nice graph including the 1800X) and some intel CPUs (but not the 6800K):

http://hothardware.com/reviews/amd-r...-review?page=7

I found a reference here that indicates the 6800K scores around 7.48 with this benchmark (at 3.3GHz). That is comparable to the 1800X (and around the same price in my country). Most users would overclock to 4GHz with the 6800K though, giving it perhaps a 10 - 15% advantage (at the cost of a substantial increase in power use and cooling requirements).

flotus1 March 7, 2017 02:22

Again, these results seem odd.
The results for the X99 Intel processors are much lower than what you would expect from a proper setup and way lower than the results reported here:
http://www.legitreviews.com/intel-co...arked_181875/6
I am still trying to get my hands on a X99 processor or at least some independent result to back up my hypothesis.

Quote:

at the cost of a substantial increase in power use and cooling requirements
Not necessarily. 4GHz core for an I7-5820k or I7-6800k is easily possible with a normal air cooler and often without even significantly increasing voltages. So "substantial increase in power use and cooling requirements:" no
But another difference: core frequency is not your only option. You would usually increase uncore frequency aswell and use DDR4-3200 Memory. Altogether you would gain quite a bit more than 10-15%.
The only way to use fast memory for Ryzen now are two single-rank DIMMs. Which restricts you to 16GB of memory in total. If you want to use more memory, you can only do it at much lower frequencies for now. This may change to some extent with newer bios versions.

Edit: I added a result for an I7-5960x@stock to my list: 12.04Hz on 16 Threads. And an I7-6800k.
This confirms my conclusion and the validity of the results in the source above.

tombo March 7, 2017 07:14

More data... I found this, a CFD comparison of the 1700X to a number of intel units, using ANSYS flow.

The 6850K beats out the 1700X by 11% in stock configuration. The performance of both configurations could be improved a lot with overclocking, but overclocking the 6850K is much better understood at present. I imagine the stock 1800X might come close to the stock 6800K in this test.

flotus1 March 8, 2017 02:02

From the same Benchmark, you could conclude that the I7-7700k is equal to the I7-6850k for CFD simulation. Which is clearly not the case.
Anyway, I added a few more processors to the list above. The call stands.

me3840 March 14, 2017 20:38

Flotus1, I don't understand your results or logic. Could you help me out by answering a few questions:

1. Your results for several processors include thread counts above what the physical processor has with SMT off. Can you explain this?

2. The results for your 5960X are far, far better than this review here:
http://hothardware.com/reviews/amd-r...-review?page=7
And it's better than an overclocked 6800? That makes little sense to me. That review above shows the 6900K better at stock speeds, which is slower than the 6800K.

3. Even if the AMD chip is 25% slower (which depending on the benchmark this is either reasonable or it should be less than 25%), it's so cheap you can get two of them for a single Intel chip with money to spare. This makes a really compelling case for a dual-CPU machine which is very cost-effective. I don't think boards for it exist at the moment, but due time.

Numerous other benchmarks show the AMD chips doing well in other scientific workloads. This may suggest something wrong with the Euler benchmark itself. What alarms me is that this benchmark (from the link you posted) shows greatly increased scores when using SMT/hyperthreading. This is very, very different from every hyperthreading benchmark I've ever seen. Every company who does HPC/CFD I've ever worked with has SMT disabled since it gives little benefit (single digit %), mostly detriment, and makes more heat.

Also if you can show the software setup for each case as well. I'm assuming these were all run on a bare Linux distribution to eliminate inconsistencies from Windows?

tombo March 14, 2017 21:38

One factor may not be helping the AMD processor out with respect to the Euler3D benchmark is the fact that is uses the Intel fortran compiler. The authors of the benchmark talk about that a little on their web page, but they have a point - if you're compiling your own CFD models using Intel, or using commercial packages compiled with Intel compilers, then that should be how the CPUs should be compared. That may not be a fair comparison in some ways, but it is a practical one. For me the scenario is different, as the models I use utilise a mix of intel and gcc.

I did some testing last week and correlated the performance of the Euler 3D benchmark (which I downloaded and ran) against my database of real-world model performance using one of my own benchmarking simulations. I can tell you that based on a number of platforms, I think Euler 3D is a reasonable but not perfect predictor of CFD performance (for my case, on windows platform, assuming intel cpus). I have a feeling that the Euler 3D model is slightly less scalable than my reference simulations, and may be more sensitive to memory performance, but I need more data to confirm that.

None of the models I've used show increased performance when the number of threads exceed the number of physical cores. I would not call this experience authoritative however, being limited to 3 commercial codes and one open source. While it's different to what I'm used to, there are many ways to code a program so I'm unwilling to dismiss this benchmark on that basis.

You would have seen that for some scientific calculations the Ryzen CPUs are fantastic, and at others it is pretty terrible (compared to the 6800K and 6900K). I don't know where it falls with respect to CFD right now, and I suspect the answer is 'it depends'. It is interesting enough to me that I'm constructing a workstation for testing. At the very least it will be an excellent code development workstation.

The AM4 platform does not allow multi-cpu configurations. However the soon to be released 'Naples' platform allows 2 sockets with up to a combined 64 cores and 16 memory channels. It is based on the same die as the Ryzen, hence my interest.

flotus1 March 15, 2017 02:27

Quote:

1. Your results for several processors include thread counts above what the physical processor has with SMT off. Can you explain this?
There is ONE such result. Run more threads than available. This has been done ever since the days of single-core CPUs and I was just curious.

Quote:

2. The results for your 5960X are far, far better than this review here:
http://hothardware.com/reviews/amd-r...-review?page=7
And it's better than an overclocked 6800? That makes little sense to me. That review above shows the 6900K better at stock speeds, which is slower than the 6800K.
As I have shown, published results for this benchmark are all over the place. This is why I got some help from other people to run the benchmark on various CPUs. To find out which results are plausible and which are not. The one you linked ended up on my "not plausible" pile for the reason you mentioned.
I don't see why an I7-5960x should not be slightly faster than an overclocked I7-6800k.

Quote:

3. Even if the AMD chip is 25% slower (which depending on the benchmark this is either reasonable or it should be less than 25%), it's so cheap you can get two of them for a single Intel chip with money to spare. This makes a really compelling case for a dual-CPU machine which is very cost-effective. I don't think boards for it exist at the moment, but due time.
The Ryzen 7 CPUs are not cheap. Well they are compared to Intels I7-6900k. But as far as CFD performance is concerned, the competitor in my opinion is at best the I7-6800k/I7-5820k or the I7-7700k which is even cheaper.
You will not get Ryzen CPUs running on a dual-socket motherboard and for the same reason there will not be dual-socket motherboards for Ryzen CPUs. Just like every other consumer CPU, they lack the interconect to do this. You will have to wait for Naples.

Quote:

Numerous other benchmarks show the AMD chips doing well in other scientific workloads.
No doubt about that.
Quote:

This may suggest something wrong with the Euler benchmark itself. What alarms me is that this benchmark (from the link you posted) shows greatly increased scores when using SMT/hyperthreading. This is very, very different from every hyperthreading benchmark I've ever seen. Every company who does HPC/CFD I've ever worked with has SMT disabled since it gives little benefit (single digit %), mostly detriment, and makes more heat.
My take on this if I had to guess: OpenMP parallelization and lack of optimization.
I see no benefit in Hyperthreading either as soon as a code has been sufficiently optimized.

Quote:

Also if you can show the software setup for each case as well. I'm assuming these were all run on a bare Linux distribution to eliminate inconsistencies from Windows?
Of course I can't. I did not run all the benchmarks myself.
The testing method was just as unreliable as looking at a single source on the internet that gives benchmark results ;)
I honestly don't know how I could get this benchmark to run on linux without introducing additional uncertainties. Care to elaborate?

mdgowhar March 15, 2017 03:32

Hi flotus1,

I could not able to find the memory bandwidth of Ryzen 1800x. Please share if you know it.

flotus1 March 15, 2017 03:50

They have a dual-channel DDR4 memory controller. The officially supported maximum speed (depending on the amount of DIMMs and ranks) is 2666 MT/s. Higher speeds seem to be difficult for now, but this will probably improve in the future.
Edit: this translates to a theoretical maximum bandwidth of 42.6 GB/s.

JoshuaB March 15, 2017 10:05

Knowing the Utilization of the cores is important
 
When I see things like the I7700 (4 core) beating the Ryzen 1800x (8 core), I always wonder what the CPU utilization is. When I am running my simulations I generally have above 90% utilization on each core, if the simulation is large enough.

So yeah, I can see an I7700 easily beating the Ryzen for small simulations, that is the Ryzen does not get up to high utilization loads on all the cores. The I7700 is a very fast chip, but limited in the number of cores. Both Ryzen and I7700 I believe have dual channel memory.

Now when it comes to the I6800 and up series, they have a quad channel memory architecture and this may help.

The reports I have seen that show multitasking tests, do not report on the % of time the CPUs are actually running the processes. If such things would be reported, it could even indicate whether or not the quad core channel is helping that much.

So if any of you are running benchmarks, please look and report on how many cores are committed to the simulation, and the the CPU utilization for each core committed. Ideally each CPU should have all cores committed or all but one committed if that makes the simulation too unstable to manage.

On all the different CPUs, should use the same exact simulation such that ALL the CPUs have as high a utilization as possible. That I believe would give usable data for deciding on a CPU.

Yeah, I would love to do this, but I have neither the time nor the money to buy all these pieces of hardware.

One final thought. The OS should be reported too. Some say Windows 10 has a known bug with Ryzen for the scheduler. Others dispute this and say the problem is in Ryzen itself. From what I understand in the Linux world one should run with kernel 4.10 or higher. I'm not sure how many distributions are supporting this kernel level yet. (Sadly, not debian, at least not in the stable release).

haze_1986 March 22, 2017 20:47

Get the 1700 and overclock it to close to 4ghz on a b350 chipset. I don't think you'll get any higher value than that. Also, you can and should get 16gbx2 3200 rams at least, scaling to 64gb in total in future.

tombo March 23, 2017 01:03

Yes, I'm still waiting for the dust to settle on the memory/motherboard compatibility issues before making a selection. 32GB of 3200 ram (2 sticks) is not officially supported on any motherboard I have access to. There are BIOS updates filtering through that look encouraging though. I do have an R7 1700 on my desk at present, it makes a good paperweight for now!


All times are GMT -4. The time now is 02:25.