Subscribe to this thread
Home - General / All posts - Tradeoffs for Computer Hardware
dchall8
685 post(s)
#23-Jan-20 01:35

I don't want to make the mistake I made last month and buy new hardware that's already obsolete. In looking at some of the other topics here some mention is made of AMD CPU cores with regard to NVIDIA GPU cores. We don't have access to all your plans, and maybe you don't either as hardware evolves, but here are some thoughts. It's easier for me to look at graphs, so here are three.

The one above compares AMD CPU prices versus the number of threads supported. It shows newer technology and older tech. All prices are from Amazon, so I didn't do any serious shopping.

This one shows GPU prices for EVGA RTX video cards with price vs CUDA cores. Those to the left are 8GB of onboard RAM. Those on the right have more RAM and CUDA cores.

This last one is simple RAM.

Here's the issue. We users don't know which direction you're going with programming for speed. Looking at the GPU graph, a user could buy two RTX 2060 GPUs for a total of 4,400 CUDA cores and 16GB of RAM and still be way under the price for the RTX 2080 Black with 4,400 CUDA cores and 11GB of RAM.

Looking at the CPU chart, it seems there is a price crash with the older technology 1950X CPU with 32 threads. Is there a big advantage to the newer technology 2950X with the same thread count? Or even an advantage to the 3900X with only 16 threads at the same price? If I could save $200 on the CPU by using a 1950X, where would I want to put that, GPU or CPU RAM? Do you see other, better tradeoffs?

Attachments:
CPU Comparison.jpg
GPU Comparison.jpg
RAM Comparison.jpg

Dimitri


5,753 post(s)
#23-Jan-20 07:59

Hardware is very much a moving target given how often new products come out and old products are repriced. For example, the 16 core / 32 thread AMD Ryzen 9 3950X is now out and available for around $795, and Gen 3 Threadrippers are out with the 24 core 3960x at $1390 and 32 core 3970x at $1950. The 64 core / 128 thread 3990x will be $3990.

The other issue is how long a given buy will be supported by either motherboard vendors or drivers, in the case of NVIDIA GPUs.

In terms of basic performance, there is good advice in the Performance Tips topic and in the GPGPU topic, both of which should be read carefully by anyone thinking about spending big on GPU cards. Takeaways from those topics:

1. GPU does nothing for tasks that are not sufficiently computationally demanding to be worth dispatching to GPU.

2. Competition for GPU parallelism is CPU parallelism. Having lots of CPU cores means even fewer jobs will be worth dispatching to GPU. So in general purpose GIS work, the new wave of inexpensive manycore CPUs means there's even less reason to overspend on GPU.

3. Don't overspend on GPU while spending less on CPU, SSD and main memory. For most people, there's probably no point in spending more than $500 on a GPU card. If you are into gaming, then of course spend what you think is cool for gaming. It will almost certainly be way more powerful than you'll ever come close to utilizing in GIS. As the Performance Tips topic puts it, "multi-thousand dollar GPU cards are far past the point of diminishing returns."

There's no one-size-fits-all rule that says "this is what you should buy" because it all boils down to the many variations in exactly what you are doing. Doing a lot of work involving no computation but lots of shuffling from file to file? Better to invest into faster SSD. Doing a mix of general purpose work in a Windows system that has the usual mess of other stuff running in background? Get plenty of RAM, a good SSD and a manycore CPU. Spending time doing exceptionally mathematically complex computations on rasters? Probably worth it to spend $500 instead of $100 on your GPU.

For most people, there is not much point in overspending on CPU, either. As reported in other threads in this forum, Manifold is now in the process of tuning for huge thread counts on the desktop. Today, there's not much point in spending $4000 to get 128 threads, because those likely won't be all that much faster than, say, 32 or 48 threads. That will certainly improve in the months ahead but still, there are lots of other parameters, like having enough memory bandwidth for 128 seriously active threads to be able to work with memory. For most of us, what we do on a daily basis doesn't involve the sorts of tasks where it's useful for 128 threads to go to work given the architecture of everything else that is going on.

If you have endless money than sure, just buy the best and even if you rarely use all the capability you'll know it's there.

Manifold's approach, though, is mainly aimed at trying to help users get the most out of a limited budget, a bang for the buck approach. While none of this is precise, and this all will change probably tomorrow as prices and products change, my own best guess for "sweet spots" for new machines would be:

1. Professional workstation: AMD 3900X (12 core / 24 thread) with 1 TB or 2 TB M.2 Gen 4 PCIe SSD in the motherboard, 64 GB RAM, 3 monitors and $200 to $350 spent on the GPU card.

2. "Hot" workstation: AMD 3950x (16 core / 32 thread) or Threadripper 3960x (24 core / 48 thread), with dual 2 TB M.2 Gen 4 PCIe SSDs in a RAID configuration (if the motherboard permits), 128 GB RAM, 3 monitors and around $500 spent on the GPU card.

I'd avoid prior generation Threadrippers because the motherboards for those don't support Gen 4 PCIe M.2 SSDs, where you get twice the speed of Gen 3 SSDs with much lower costs. As always, "data access is the ball and chain of parallel processing" (Rotow's Law).

In terms of upgrading existing systems, the following is a useful set of priorities in which to spend/upgrade:

1. Use 64 bit Windows, if currently stuck at 32 bits.

2. Install at least 16 GB RAM. 32 GB is better.

3. Install an SSD. If you don't have an M.2 slot on your motherboard, at least get an SATA SSD.

4. A GPU card, at least a cheapo $100 or $150 card, if you don't have one.

5. Upgrade the CPU if you can plug a CPU with more cores into your motherboard.

When buying CPUs, it's better to spend money on more cores, more RAM and faster SSD than it is to spend disproportionately more on CPUs with higher clock speeds but fewer cores. If you are rich, than sure, a faster CPU clock with faster memory is fun to have, but most of the time you won't notice any difference.

Dimitri


5,753 post(s)
#23-Jan-20 13:49

Forgot to mention in the other post: don't feel bad if you don't have the budget to spend thousands on a machine. Release 9 is really fast even with six or eight cores. A Ryzen 5 3600 with 6 cores and 12 threads is under $190.

Get a newer motherboard where you can install a fourth gen PCIe M.2 SSD. At around $110 for 1 TB those are a steal, and you get 5000 MB/s reads... amazing! Get an inexpensive conventional hard disk for lots of cheap storage. Plug in 32 GB of RAM, a $150 GPU card and you'll have a really outstanding system for doing GIS.

drtees90 post(s)
#23-Jan-20 17:53

Wow! I really appreciate this explanation. Thank you! I have also been feeling like achieving "useful" performance out of my current computer configuration was potentially unobtainable due to costs. I hadn't realized that having multiple cores could be hampered by insufficient memory (computer manufacturers seem to skimp on memory when advertising their machines).

My current computer is likely sufficient for the levels of GIS computing I do on a daily basis. However, extending the useful life of this computer may only involve doubling its memory and, possibly, putting in a newer CPU. All of this is within the realm of possibility and inexpensive enough to prevent the boss from choking.

Dimitri


5,753 post(s)
#23-Jan-20 18:13

Also, get an SSD if you don't already have one. Can make a night and day difference and they've become very affordable. :-)

dchall8
685 post(s)
#06-Feb-20 16:01

Please feel free to delete this post if it looks too much like advertising. I will understand.

For what it's worth, I have always found Newegg's prices to be higher than Amazon. Then I subscribed to their e-blast promotions. I get a message once a day pertaining to the products I've clicked on in their website. Today's deal, for example, is 45% off the AMD RYZEN 5 2600 6-Core 3.4 GHz (3.9 GHz Max Boost) Socket AM4 65W YD2600BBAFBOX Desktop Processor. The subscriber price through tomorrow is $120. Amazon's price today is $180. Newegg has these deals every day. I've seen CPU, GPU, memory, motherboards, cases, PSU, SSD - everything you need to build a decent workstation for Manifold. If you are not in a hurry to buy it all TODAY and build it, you could likely save a bundle by buying piecemeal and assembling it next month when all the parts have arrived.

tjhb
9,095 post(s)
#07-Feb-20 02:28

Great price, but compare Passmark scores first.

Here's an example comparing Intel i7-4790K vs AMD Ryzen 5 2600 vs AMD Ryzen 9 3900.

I have the 4790K. Still great though nearly 6 years old. It has proved a good investment.

I haven't upgraded to the Ryzen 9 3900 (or 3950) yet, but it does make sense, because I would be getting nearly three times the multicore performance (or a squeak over three times for the 3950). And crucially, somewhat better single-thread performance as well--which matters just as much for real-world use.

By contrast it would not make sense for me to "upgrade" to the Ryzen 5 2600.

You could replace the 4790K with your current CPU, and check both figures for your own case. You can compare up to 3 CPUs at a time.

tjhb
9,095 post(s)
#07-Feb-20 05:42

Sorry, I see the comparison link I posted depends on a local cookie, or it doesn't work. They need their advertising and user tracebacks I suppose. If you can stand that...

The generic link is https://www.cpubenchmark.net/singleCompare.php.

Start typing the name of the first CPU for comparison, slowly enough to trigger automatic recognition (names must be exact). Then accept the exact name.

Repeat for up to two more CPUs.


Given my mistake about the link being shareable, here is the result I meant to attach.

Attachments:
Comparison 1.PNG

tjhb
9,095 post(s)
#07-Feb-20 07:30

Oh Lordy, my eyesight. Better with my glasses off.

That was... well you can see. The middle spec should have been Ryzen 5 2600, not 3600.

Sorry for my big mess.

Attachments:
7785AF92-6705-4724-9EC7-0F2DC061F22F.jpeg

StanNWT
159 post(s)
#07-Feb-20 05:44

You're right Tim,

I have my Threadripper 3970X up and running, obviously a totally different kettle of fish vs. a 3900X or a Ryzen 5 2600, but I wouldn't trade it for anything. Given the maximum clocks I'm getting on all threads of 4.1 - 4.2 GHz it demolishes Seti@Home and Einstein@Home. I know I'm horrible for not having migrated my Manifold 8 and 9 licences to my new workstation yet, I will soon, I've been enjoying all the processing I've been able to do for those science projects. I can sustain all 64 threads at 4.1-4.2 GHz for easily over 18 hours straight, I've not run it for a continuous weekend without shutting it down or disabling BOINC, but it's a powerhouse.

If you're interested how I keep a 3970X and two 2080Tis cool in an EATX case, I can reply in here. Suffice to say given Manifolds current ~24 core / thread limit, I have tons of CPU compute power left do do blender rendering.

ON that note, did you know there's a GIS add-on for blender. Just do a google search for "blender gis", it's on git hub. Very cool features. Might be worth exploring utlizing the 3D / 2.5D features in blender with Manifold? Since currently there's no 2.5D or 3D features in Manifold?

tjhb
9,095 post(s)
#07-Feb-20 05:48

ON that note, did you know there's a GIS add-on for blender.

Nope! Thanks!

FWIW, here is a Passmark comparison, Intel i7-4790K vs AMD Ryzen 9 3900 vs AMD Ryzen Threadripper 3970X.

Still using my 4790K as a baseline, very selfish!

Make sure you notice the single-thread numbers as well, and also the maximum power consumption (TDP, i.e. allowable heat).

If you're interested how I keep a 3970X and two 2080Tis cool in an EATX case, I can reply in here

Well, I am. You pump snow?

Attachments:
Comparison 2.PNG

StanNWT
159 post(s)
#07-Feb-20 19:31

I'm using the Thermaltake Level 20 GT Plus case, it has 2 x 200mm front fans, 1 x 140mm rear fan. I'm using the Thermaltake Floe Riing 360 TR4 edition AIO cooler, it has 3 x 120mm fans. I've mounted the AIO inside the case above the motherboard. The large VRM heatsink presses somewhat tight against the fans but the nice thing is that I have 3 x 120mm fans that push the air through the radiator and coincientally past the VRM keeping it cool. On the top of the frame underneath the glass top (there's a space for fans up there), I have 3 x 120mm thermaltake fans that pull the air up through the rad. So 6 x 120mm fans running at 2000 rpm in performance mode in the thermaltake software.

All fans are running in performance mode when I'm processing data with all 64 threads maxed out at 4.1-4.2 GHz. I'm running 64 GB of Corsaid Vengence RGB PRO 3200 MHz RAM. I bought a 128 GB kit but have yet to get to run at 3200 MHz in the UEFI settings at 3200 MHz it keeps wanting to downclock to 2133 MHz, so until I get that worked out I'll run 64 GB RAM.

I have two ASUS Strix 2080 Ti OC cards running in SLI and two Samsung 970 EVO 2TB drives. I wanted to keep the thermals down on the M.2 drives and I've seen too many benchmarks where people have massive performance regression on the drives when they have sustained workloads creating alot of heat build up despite the heat sinks and spreaders being used. I'm using a Corsaid AX1600i power supply. I've got the CPU installed in the ASUS Zenith II Extreme motherboard. At least the RGB light show is nice!

It's very fast and the sustained clock speed on all cores is more than sufficient. I might try PBO, but it's not important if it meets my needs.

I've seen some initial reviews of the 3990X and in some workloads it looks very impressive.

Dimitri


5,753 post(s)
#08-Feb-20 04:28

That sounds like it looks really great. Post a photo! :-)

StanNWT
159 post(s)
#14-Feb-20 03:58

More photos.

Attachments:
20200213_204445.jpg
20200213_204700.jpg
20200213_204747.jpg
20200213_204817.jpg

StanNWT
159 post(s)
#14-Feb-20 03:58

A few photos

Attachments:
20200213_204852.jpg

Dimitri


5,753 post(s)
#14-Feb-20 07:04

Love it! Thanks for posting!

Dimitri


5,753 post(s)
#07-Feb-20 15:42

given Manifolds current ~24 core / thread limit

Sounds like a great system! But, there's no 24 core limit. You can run 128 cores if you want, no problem. It's just that optimization isn't likely going to gain you anything much beyond 24 or 36 cores. The objective first off is to not lose any speed when many more threads are used, with optimizing more and more cases to use more cores more effectively. It's all function dependent anyway, with different functions being able to use more or fewer cores more effectively.

By the way, it's interesting to see how in the new video posted today there's a shot of 48 threads all being used even for something that takes just a second or so to run. Wild!

dchall8
685 post(s)
#23-Jan-20 20:57

Thanks for the insight. In doing the research for the CPUs I came across a comment that if you're going to use one of the latest from AMD, you really need a modern motherboard. Apparently AMDs advancements caught some motherboard sellers with large inventories of the older ones. The older ones need a firmware upgrade to work with the new CPUs.

Manifold User Community Use Agreement Copyright (C) 2007-2019 Manifold Software Limited. All rights reserved.