News for hackers. Stuff that matters.
Re:2080 RTX performance on Tensorflow with CUDA 10 by mychael on Friday October 05, 2018 @09:33AM (#18147949)
Does anyone know why they are using Xeon processors instead of the AMD Threadripper? Is it the support for ECC memory? If so, why is it that so important?

Example: https://www.pugetsystems.com/nav/peak/tower_single/customize...

Re:2080 RTX performance on Tensorflow with CUDA 10 by celrod on Friday October 05, 2018 @09:51AM (#18148077)
The Xeon-W 2175 has avx-512. Threadrippers cannot compete in numbering work relative to price point on well optimized code.

sgemm on 5000x5000 matrices takes about 600ms on a Threadrippers 1950x, but only around 150ms on the comparatively priced i9 7900x. Vector libraries for special functions, eg Intel VML or SLEEF also provide a similar performance advantage there.

If you're mostly crunching numbers, and either compiling the code you run with avx512 enabled (eg, -mprefer-vector-width=512 on gcc, otherwise it's disabled) or using explicitly vectorized libraries, you will see dramatically better performance from avx512, regardless of any thermal throttling. Number crunching is what it's made for.

Granted, you should be offloading most of those computations to the GPU, which will be many times faster. But I'd you're in the business of ML or statistics, I'd still way that more heavily than the difference in how long it takes them to compile code.

Re:2080 RTX performance on Tensorflow with CUDA 10 by AnthonyMouse on Friday October 05, 2018 @12:38PM (#18149544)
> Granted, you should be offloading most of those computations to the GPU, which will be many times faster. But I'd you're in the business of ML or statistics, I'd still way that more heavily than the difference in how long it takes them to compile code.

I don't follow the logic. It sounds like you're saying that if you care about that specific type of highly vectorized computation being fast what you really want is a GPU rather than any particular CPU. So how should that have a major influence on which CPU you choose? Particularly when the CPU which is slower at that is faster at many other things that aren't suitable for a GPU.

Re:2080 RTX performance on Tensorflow with CUDA 10 by celrod on Friday October 05, 2018 @05:02PM (#18151723)
I'm saying there is a reason to favor a CPU with avx512. The reason may not apply to you / your work flow.

If your number crunching is just neural networks on your GPU, then the CPU doesn't matter.

But there's probably a lot of overlap between the folks who train neural networks, and those who may do linear algebra, MCMC, or traditional stats that are much better suited to the CPU. That is, conditioning on person A being someone who trains NNs, there is a higher probability that they're someone who would be interested in CPU intensive tasks that benefit from vectorization. If that isn't you, don't factor it into your decision.

I do most of my number crunching on the CPU, so my choice is clear. The reviews of avx512 are generally poor (disable it so you don't get thermal throttling!), while the Threadrippers receive a lot of praise. But within it's own niche (linear algebra, many iterative algorithms), the widest vectors are king.

Re:2080 RTX performance on Tensorflow with CUDA 10 by AnthonyMouse on Friday October 05, 2018 @06:20PM (#18152200)
Isn't linear algebra one of the other things GPUs are good at?

I think you're also looking at the release prices for the CPUs rather than the current ones. Using today's prices from Newegg, the Threadripper 1950X is $699, the (newer/faster) 2950X is $859, meanwhile the i9-7900X is $1275, up from its $989 release price presumably due to Intel's current manufacturing issues. And the AMD processors have 60% more cores/threads with, avx notwithstanding, generally equivalent performance per thread.

I expect you're right that there are niche workloads where avx512 is a real advantage, but it's starting from a pretty deep hole on the price/performance front in general.

Re:2080 RTX performance on Tensorflow with CUDA 10 by Erlich_Bachman on Friday October 05, 2018 @11:28AM (#18148890)
AMDs usually and historically supports ECC memory. In fact, in some ways it supports it more than Intel: Intel disables ECC support (for no other real reason than marketing efforts and because they can charge more money that way) on non-Xeon processors, while AMD keeps it enabled on most models, even desktop-oriented ones.
Re:2080 RTX performance on Tensorflow with CUDA 10 by zamadatix on Friday October 05, 2018 @09:38AM (#18147990)
The Xeon they are using is 14 cores in a single NUMA node so maybe that's it since a 16 core Threadripper is 2 separate nodes in one die. I'm pretty sure Threadripper supports ECC: "With the most memory channels you can get on desktop, the Ryzen™ Threadripper™ processor can support Workstation Standard DDR4 ECC (Error Correcting Mode) Memory to keep you tight, tuned and perfectly in sync." from https://www.amd.com/en/products/ryzen-threadripper
Re:2080 RTX performance on Tensorflow with CUDA 10 by simcop2387 on Friday October 05, 2018 @02:43PM (#18150657)
I can definitely confirm the ECC support on TR cpus. I've got one running right now and have had it report errors and corrections when trying to overclock things (I don't know what I'm doing with that so it's nice to have it warn me that I'm at the limit).
Re:2080 RTX performance on Tensorflow with CUDA 10 by mychael on Friday October 05, 2018 @03:59PM (#18151214)
How does that warning surface? From the underlying operating system?
Re:2080 RTX performance on Tensorflow with CUDA 10 by jamesblonde on Friday October 05, 2018 @09:38AM (#18147992)
Because it's a single-root pci complex. See here: https://www.servethehome.com/how-intel-skylake-sp-changes-im...
Re:2080 RTX performance on Tensorflow with CUDA 10 by scientist on Friday October 05, 2018 @10:51AM (#18148591)
Could you please explain your comment? The link that you have provided explains that with the new Intel Xeon Scalable generation it is difficult to implement single-root PCI complex on typically available motherboards, while according to [1] "the new Intel® Xeon® W processors are based on the Intel® Xeon® Scalable processor microarchitecture". Therefore, Intel Xeon W would have the same problems for supporting single-root PCI complex as the Xeon Scalable mentioned in the link you have provided.

[1] https://www.intel.com/content/www/us/en/processors/xeon/xeon...