1

I would like a desktop computer which is fast and snappy for common "power user" workflows (eg. coding IDEs, 20+ Chrome tabs, Blender, Audio Editing, Web/File Server, Backup server) and also has the capability to run deep learning algorithms on it (one nVidia RTX 2080 ti to start, maybe another down the road). The problem, as I see it, is that Intel doesn't really offer any high-performance CPUs (>= 5GHz overclocked) with more than 16 PCIe lanes. I've seen different reports about whether NVMe drives use up these PCIe lanes or if they are routed through a different set of platorm PCIe lanes, but if they do use up some of these lanes then I am immediately dropped down to 8x performance on the graphics card. Even if not, it means dropping down to 8x performance once I have 2 graphics cards.

Bearing in mind that a setup like this will reasonably end up with 2 NVMe drives and 2 graphics cards, am I better off going with a lower clockspeed Xeon or AMD Threadripper so that I get the PCIe lanes?

I'm getting the impression, based on current hardware options, that I can have a fast desktop PC or a capable server / deep-learning platform, but not both.

9
  • There are definitely processors that can hit around 5 GHz and have more than 16 PCI-e lanes. I'm curious why you're targeting 5 GHz specifically though. In theory, the bandwidth for the GPU shouldn't be super duper important, since you really want to be minimizing the amount of swapping between system RAM and VRAM while training.
    – JMY1000
    Commented Oct 24, 2018 at 17:41
  • It's not 5GHz specifically, but it looks to me as though anything from Intel with >= 16 PCIe lanes drops down to 4.2GHz boost clock, and even then it costs $2000. The point is I want a PC which performs as a very responsive development desktop, while also being able to prototype deep learning models. I'd be open to AMD, but I'm not sure CPUs from AMD are advisable for scientific computation, their Threadripper options seem a bit quirky.
    – mboratko
    Commented Oct 24, 2018 at 18:22
  • 4.2 isn't exactly going to be an issue for almost any development work. Not really sure what you mean by "quirky."
    – JMY1000
    Commented Oct 25, 2018 at 1:43
  • It's hard to know without having the processor, all I know is that my current Xeon at 2.8GHz is showing its age, and I want something which is incredibly snappy. I can't foresee all the workloads I may do in the future, but there have been plenty of operations I have run currently where the CPU is pegged at 100% across all cores. As for what I mean by AMD being quirky, I mean (for example) how the 2990wx is actually worse than the 2950x for memory bandwidth sensitive workloads. I'm also wondering if getting an AMD means that I have to often compile libraries instead of using binaries, either..
    – mboratko
    Commented Oct 25, 2018 at 2:43
  • ... out of necessity or in order to get comparable performance. I know AMD is worse at AVX2, for example.
    – mboratko
    Commented Oct 25, 2018 at 2:45

1 Answer 1

1

It really depends on how deep you want to go when it comes to your deep learning projects, and how long you are willing to wait, which could be a long time- depending on your project and how much computing it requires to output qualitative results.

My primary workstation is a Dual E5-2697 v2, 128 GB RAM, Dual TITAN GPUs, and an 8x1TB SSD RAID 0 Array over SAS. It's a workhorse; the CPU rates 22000 using Passmark and is in the 99th Percentile. The 2X GPUs rate at 92nd Percentile...

That said, it's a heavy duty system (The original build was roughly $20,000- though it could be built now using the same components and buying used for far less)- but it even wouldn't really be a "great" system for workload heavy deep learning setups, such as video/image/audio projects.

Your best bet would be to buy a good system, I would say don't buy "best", but 6 months post release- it's so much cheaper that way. Go single processor, highest OC you can afford, and a decent GPU.

Then use the money saved to run your actual deep learning projects on Google Cloud Compute or Amazon's AWS.

You can build your VM Instance on Google's Cloud Compute Platform, keep it off which will only incur minimal charges for the IP and system image; then power it up with 1, 2, 4, or even multiple VMs running NVIDIA V100 GPUs.

The V100s will really give you the power you want and while the 2080 card may appear nearly as fast on benchmark charts, it simply can't do what a V100 can, such as FP64, it can host 32GB of RAM which vastly improves it's ability to handle large data sets rather than having to pipe in and out smaller subsets, and you can rent them at the pre-emptable price of roughly $0.80 per hour. (GPU only)

The 2080 may be touted as "80% as fast" as a V100 but if your project would benefit from FP64 and larger ram allocations, it will rip past what your 2080 can do- it's why the card costs 8 times what a single 2080 is priced at.

Add to that you can instantly launch a 2 x V100, or 4x V100 VM Instance, and suddenly you are machine learning speeds are 20x, 30x, or far more, than what your system could do.

Ultimately, it will boil down to: I can run this machine learning project on my system and obtain the results I want in 9 days, OR, I can launch a VM, pay $8.00 an hour, and get my results back in 7 hours.

Using this method you can build your projects on your system, then when you actually are ready to let the machine go to work and do the work, you can put your VM online, transfer your project and assets, and put the V100s to work for a few hours, or a few days.

But a high end deep learning system on Google's platform - using the pre-emptable price; may cost you $4 an hour; what it will be able to do in 12 hours will far surpass what you would be able to do in days, if not weeks and weeks of runtime.

The cost of one V100 is over $8000. Save the cash, rent the cards by the minute when you need them. And costs will drop as newer cards become available.

4
  • 1
    Thanks for the comprehensive response. My only thought is that, even if I eventually train my model in the cloud, having multiple GPUs locally might be useful for A/B testing ideas, in which case I'm worried about PCIe lanes once again, especially if I have 2 NVMe drives. It looks like the Xeon has a 2.3GHz base clock, is this not totally blown out of the water by a modern i7 for most typical desktop tasks?
    – mboratko
    Commented Oct 14, 2018 at 3:42
  • It also seems like the benchmarks I've seen are putting the 2080ti on par with the V100, albeit with less RAM.
    – mboratko
    Commented Oct 14, 2018 at 3:46
  • 1
    Less RAM, and the fact that the 2080 compute level doesn't support FP64, which may make all the difference in the end. As far as the XEONs, you can't overclock them, period. My 2697 v2s are 2.8 Core and 3.5GHz in Turbo Mode. Hyper-Threaded it runs at 48 cores with the dual setup. BUT, you have to consider that many applications will only process information on a single thread. In fact, a LOT of applications do not directly utilize multi-threading. So a 2600K I7 Processor Overclocked to 4.2GHz will be far faster at 4 core 8 HT, than my 48 Core HT Xeon when it comes to batch processing JPGs. Commented Oct 14, 2018 at 3:53
  • 1
    That seems to be my problem, high clock speed + more than 16 PCIe lanes doesn't seem to exist from anyone right now, with very few and expensive exceptions (eg. 7980xe, but that's $2000 for the CPU alone and only boosts to 4.2GHz, which feels like a rip when the 9900k is available for a quarter of that price and boosts to 5GHz but, of course, lacks the PCIe lanes)
    – mboratko
    Commented Oct 14, 2018 at 3:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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