2

Which CPU would be better: a Ryzen 3950X or an Intel 10920X for mechanical engineering?

The application is numerical computations and simulations, including fluids. My main considerations are memory bandwidth and usage of AVX512 as both could tip the scales over in favor of Intel, while otherwise I prefer.

2

Disclaimer: the question is rather general, and so will be my answer. It will not be relevant to every single software and algorithm used for fluid and structural simulation. Instead, I will try to be relevant to the vast majority of computational methods used in this field. This includes for example Finite Volumes, Finite Elements, Lattice Boltzmann and Spectral Elements. There will always be exceptions.

Short answer
Intel I9-10920X is the better choice overall. In single- and lightly-threaded applications often encountered during pre- and post-processing, it is pretty much on par with a Zen2 Ryzen CPU like the Ryzen 9 3950X. Where it really shines is better parallel performance thanks to higher memory bandwidth.

Does AXV-512 have anything to do with that?
Not much. You might get that impression when reading statements like this https://www.ansys.com/about-ansys/partner-ecosystem/high-performance-computing-partners/intel-corporation or whitepapers from Intel and their partners.

Ansys helps customers turn their design concepts into successful, innovative products. The combination of Ansys Mechanical software running on the current 2nd Generation Intel® Xeon® Scalable Processors and taking advantage of both the Intel® Solid State Drive and the Intel® AVX-512 really boosted performance to amazing levels compared to the previous generation processors.

Independent testing reveals that a CPU without AVX-512 instructions can still beat the latest and greatest Intel CPUs core-for-core, despite a clock speed disadvantage: https://www.cfd-online.com/Forums/hardware/223929-xeon-gold-cascade-lake-vs-epyc-rome-cfx-fluent-benchmarks-windows-server-2019-a.html
Higher memory bandwidth (and to some extent huge L3 caches) make the difference.

How come? isn't fluid and structural simulation computationally expensive, so more cores=more better?
Expensive in the sense that even top-end workstations can take hours to days to solve a problem. But what matters is code balance vs. machine balance
https://www.cc.gatech.edu/~echow/ipcc/hpc-course/HPC-proclevel.pdf
Simply put, the ratio of floating point operations vs. memory transfers is rather small for many of the algorithms used here. Making matters worse, machine balance has been steadily decreasing over the years. The increase in memory bandwidth did not keep up with the increase in floating point performance. The Ryzen 9 3950X is an extreme example of that gap: only two DDR4 memory channels to feed 16 fast CPU cores with data. It should also become clear why AVX-512 can not help in this situation. It only increases the peak floating point performance, without changing the memory bandwidth.

Got any examples for that?
Take a look at these OpenFOAM fluid benchmarks with Ryzen CPUs:
https://www.cfd-online.com/Forums/hardware/198378-openfoam-benchmarks-various-hardware-14.html#post763993
https://www.cfd-online.com/Forums/hardware/198378-openfoam-benchmarks-various-hardware-14.html#post766573
Strong scaling stops at around 8 cores. The second link also illustrates how memory performance has a huge impact on performance.

Isn't that just parallel overhead? A larger model might do better
No. You can take a look at some of the other benchmarks in that thread. It shows much better strong scaling and total performance on different CPUs, up to much higher core counts than 8. AMD Epyc CPUs fare particularly well thanks to 8 memory channels per CPU.
A rule of thumb in the industry is choosing CPUs with 2-4 cores per memory channel, to avoid paying for cores that can't be used effectively. The lower end of this range is for software with high per-core license fees. When the hardware costs less than the software licenses for a year, better operate in a range where scaling is almost linear. The upper end is a better ballpark figure for free software like OpenFOAM.

| |
  • Thank you :) this is a good reference to point people to. – Jan Dorniak Apr 23 at 20:51
1

The AVX512 instruction set is included in multiple Skylake-X CPUs and Xeon-Phi GPUs, but not in any AMD product, so if your application makes heavy use of AVX512, the Intel CPUs will outperform equivalent AMD Ryzens.

You may also wish to consider adding used Intel computational Xeon-Phi GPU cards if your OS will support them.

| improve this answer | |
  • Yep. Folks do sell them at highly reduced prices, as you will see in the 3rd link I posted in the 1st sentence of the answer above. – K7AAY Apr 21 at 21:29
  • 1
    Support for Xeon Phi in CAE software has been spotty at best, and it will only go downhill from here. Advancements in GPUs and CPUs made them pretty much obsolete outside of niche applications. – user13807 Apr 23 at 13:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.