[SOLVED] Help picking CPU for processing intensive tasks (800$)- small form factor possible?

jayleonis

Honorable
Nov 18, 2018
108
0
10,590
I will be running CPU intensive algorithm calculations that max out all cores. Currently on my i7-8700 these take anywhere from 12min-1 hour. I am hoping with this upgrade I can get that down to 1-5 minutes per calculation. I am strongly considering the ryzen 5950 for as this is the most cores I can get in my budget ($800). Is there a better option out there for my purposes?

Ideally Id want a small form factor case. Given that Id be maxing out all cores do you think this is a possibility while providing proper cooling for these tasks? I am assuming Id need a 2-3 fan liquid cooling setup.

Would appreciate any comments, advice or suggestions! Thanks
 
Solution
I will be running CPU intensive algorithm calculations that max out all cores. Currently on my i7-8700 these take anywhere from 12min-1 hour. I am hoping with this upgrade I can get that down to 1-5 minutes per calculation. I am strongly considering the ryzen 5950 for as this is the most cores I can get in my budget ($800). Is there a better option out there for my purposes?

Ideally Id want a small form factor case. Given that Id be maxing out all cores do you think this is a possibility while providing proper cooling for these tasks? I am assuming Id need a 2-3 fan liquid cooling setup.

Would appreciate any comments, advice or suggestions! Thanks
Probably mATX motherboard form factor is the smallest to consider. A 5950...
I will be running CPU intensive algorithm calculations that max out all cores. Currently on my i7-8700 these take anywhere from 12min-1 hour. I am hoping with this upgrade I can get that down to 1-5 minutes per calculation. I am strongly considering the ryzen 5950 for as this is the most cores I can get in my budget ($800). Is there a better option out there for my purposes?

Ideally Id want a small form factor case. Given that Id be maxing out all cores do you think this is a possibility while providing proper cooling for these tasks? I am assuming Id need a 2-3 fan liquid cooling setup.

Would appreciate any comments, advice or suggestions! Thanks
Probably mATX motherboard form factor is the smallest to consider. A 5950 would be the most capable processor and the only one made with 16 cores and 32 threads that would fit on an mATX board (at least I don't think they make a TR-4 socketed motherboard in mATX to mount a Threadripper). Putting a 5950 on an mATX and running it hard on all-cores for extensive periods will need a board with a capable VRM...probably MSI B550M Mortar or Asus Tuf B550M Gaming Plus.

You'd also want to get a well ventilated mATX case, one that will fit a 280mm AIO in front if possible. A 280mm AIO drawing cool air across the radiator will keep a 5950 cool enough. You could also opt for a slightly larger mid-tower ATX case that would mount a 360mm AIO. If you're comfortable with a mid-tower size then you could fit any number of excellent B550 ATX boards: B550 Tomahawk, B550 Strix-F, Gigabyte B550 Aorus Master, but they can be considerably more expensive.
 
Last edited:
Solution
I am not sure. How would I know? Also, I only recently learned that the threads in the 16 core - 32 threads, doesnt really affect performance when processing 1 task and its more to help do two things at once.
Well, you won't know what will help more until you can answer this.

Try this, run a particular calculation with all cores on and time it. Then go into the bios and disable all but one core and run the exact same calculation again and time it. See which one is less time and report back here.
 

mikewinddale

Distinguished
Dec 22, 2016
290
55
18,940
What's the software you're using? We might be able to figure out whether that software is multi-threaded.

But a simple way to check is to make sure your desktop idles near 0% CPU usage, then run your software and watch your CPU usage. In Task Manager, right-click the CPU graph and choose Change graph to --> Logical processors. Watch all your CPUs and see if they all approach 100% usage. If all of your CPUs approach 100% usage, that is a good sign your software scales well with additional CPUs.

In any case, the Ryzen 5950 is the best you'll find in your budget.

However, even in the best case - where your software is perfectly multithreaded - you're not going to be able to reduce 12 min - 1 hour down to 1-5 minutes. Your current CPU is 6 cores, while the Ryzen 5950 is 16 cores. So under ideal conditions, it will be about 16/6 times faster, and take 6/16 as much time. That's approximately 3 times faster, and software execution will take 1/3 of the time. So you might be able to reduce 12 min - 1 hour down to 4-20 minutes.

Reducing 4-20 minutes with 16 cores down to 1-5 minutes would require about 4 times as many cores, meaning a 64 core CPU. A ThreadRipper can have 64 cores, but it would be way above your budget, and its motherboard (the TRX40 chipset) doesn't come in mATX. There are EPYC motherboards that are mATX, such as this ASRock ROMED6U-2L2T. However, an EPYC is definitely way beyond your budget.
 
I will be running CPU intensive algorithm calculations that max out all cores. Currently on my i7-8700 these take anywhere from 12min-1 hour. I am hoping with this upgrade I can get that down to 1-5 minutes per calculation. I am strongly considering the ryzen 5950 for as this is the most cores I can get in my budget ($800). Is there a better option out there for my purposes?

Ideally Id want a small form factor case. Given that Id be maxing out all cores do you think this is a possibility while providing proper cooling for these tasks? I am assuming Id need a 2-3 fan liquid cooling setup.

Would appreciate any comments, advice or suggestions! Thanks


This type of situation is almost always dictated by the software...you really need to investigate if the software is optimized for a particular CPU architecture. My feeling is it's likely to be Intel optimized, and as much as I would like to recommend a Ryzen or Threadripper, it would be wrong to recommend AMD if Intel will run better.

There are airflow and CPU cooler size constraints on almost all small form factor PCs....honestly for a CPU intensive work station I wouldn't recommend one. A better option would be something like the Lian Li Lan Cool 2 mid tower.
 
....
My feeling is it's likely to be Intel optimized, and as much as I would like to recommend a Ryzen or Threadripper, it would be wrong to recommend AMD if Intel will run better.
...
Good point. MatLAB is one such software commonly used for intensive mathematical simulations.

It's lack of optimizations for AMD architecture can be overcome, though, by setting some environmental variables.
 

kanewolf

Titan
Moderator
I will be running CPU intensive algorithm calculations that max out all cores. Currently on my i7-8700 these take anywhere from 12min-1 hour. I am hoping with this upgrade I can get that down to 1-5 minutes per calculation. I am strongly considering the ryzen 5950 for as this is the most cores I can get in my budget ($800). Is there a better option out there for my purposes?

Ideally Id want a small form factor case. Given that Id be maxing out all cores do you think this is a possibility while providing proper cooling for these tasks? I am assuming Id need a 2-3 fan liquid cooling setup.

Would appreciate any comments, advice or suggestions! Thanks
Describing the software to us will help most? Is it commercial or custom? Have you thought about renting a large (32+ core) Amazon cloud computer and seeing if your software scales ?
Have you actually profiled your software? It could be a memory or storage limitation rather than a CPU core limitation, especially when you scale up the CPUs. The other thing to look at is GPU offloading. Software like MATLAB might be able to use GPU processing if you have the proper toolbox.
Any upgrade means a motherboard and CPU replacement so you have to factor the motherboard cost in also.
You should also plan on a clean OS install with any motherboard swap.
 

jayleonis

Honorable
Nov 18, 2018
108
0
10,590
What's the software you're using? We might be able to figure out whether that software is multi-threaded.
In any case, the Ryzen 5950 is the best you'll find in your budget.

it’s a software that runs a bunch of calculations that emulate the different variables and outcomes of a game to solve for the most optimal outcome. They programmers of the software have said that more cores is better.

If that’s the case could this 24 core processor be a better fit for me even though it’s a few years older?

AMD YD297XAZAFWOF Ryzen Threadripper 2970WX 24 Core, 48 Thread Processor, Pack of 1 https://smile.amazon.com/dp/B07JBQJ...abc_X8CFGZDHXF7560ZXHVWQ?_encoding=UTF8&psc=1
 

mikewinddale

Distinguished
Dec 22, 2016
290
55
18,940
So the ThreadRipper 2970X is architecturally similar to a Ryzen 2000-series. Since the 2000-series, the 3000 and the 5000 have both improved IPC (instructions per clock).

So using CPU-L (on Android), I looked up Cinebench benchmark scores. The ThreadRipper 2970X doesn't have Cinebench scores, so I'm just going to use the Ryzen 7 2700X, which has 8 cores, and I'll multiply the multithreaded score by 3 to approximate what a 24 core ThreadRipper 2970X should get.

Cinebench R20:

Single-threaded:
Ryzen 9 5950X: 647
Ryzen 7 2700X: 434 (roughly equivalent to ThreadRipper 2970X in single-threaded)

Multi-threaded:
Ryzen 9 5950X: 10,428
Ryzen 7 2700X: 4,006 --> multiply by 3 --> 12,018 (approximation of 24 core ThreadRipper 2970X)

So the ThreadRipper 2970X will be a bit faster in multi-threaded apps than the Ryzen 9 5950X, but the advantage isn't as big as you'd think, because although you get 1.5 times more cores, you also lose out on two generations of IPC improvements.

And notice that the ThreadRipper 2970X has much lower single-threaded performance, because it lacks those IPC improvements.

Also, the Ryzen 5000 series supports PCIe 4.0, while the ThreadRipper 2000 series is only PCIe 3.0.

So if your only concern is multi-threaded apps, then get the ThreadRipper 2970X. But if you also occasionally run apps that cannot fully use 24 cores, such as videogames, then I think the Ryzen 9 5950X is a better overall balance of single- and multi-threaded performance.
 
...
They programmers of the software have said that more cores is better.
...
Be good to find out just how many cores/threads the software can actually utilize effectively though. Many coders assume something like 8 cores/16 threads is all anybody is likely to ever have and don't really optimize the code for up to 16...and more with Threadripper.
Unfortunately, Intel disabled that hack. On the other hand, Intel seems to be improving its recognition of AMD. See here.

Also, Matlab has made internal improvements that improve AMD performance regardless of what Intel's MKL does. See here.
I guess I shouldn't be surprised at Intel's behaviour. If you can't beat them with a better CPU, then beat them with poorly optimized compiler defaults.

As I understood it, all that's needed on MatLab's dev.s' part is to enable a few switches during the compile so it should have been an easy 'fix'. I'm sure a few other optimizations would help even more but that alone would have gotten enough return to bring performance parity at least.
 
Last edited: