News for hackers. Stuff that matters.
Re:Ryzen Threadripper Pro 3995WX Spotted by Uehreka on Friday July 10, 2020 @02:14AM (#23788677)
I feel like 64 cores is getting rather close to a tipping point: What workloads are so massively parallel that they can use 64 cores of x86 but can’t use the thousands of CUDA cores on a Quadro card? I’m sure right now there are workloads that just need particular x86 instructions, but that feels like a temporary problem.

Am I wrong about that being a temporary problem (that would feel frustrating)? Are these cores just that much faster than CUDA cores? What else am I missing here?

I often hear people talk about getting CPUs like this for deep learning research, but all the deep learning work I’ve done goes straight to CUDA and lands on my GPU.

Re:Ryzen Threadripper Pro 3995WX Spotted by ajross on Friday July 10, 2020 @06:59AM (#23790204)
> What workloads are so massively parallel that they can use 64 cores of x86 but can’t use the thousands of CUDA cores on a Quadro card?

Building software, for one. C compilers and python interpreters don't run on a GPU. Lots of stuff doesn't run on a GPU. In fact in practice the only things that run on a GPU are the tiny handful of known subproblems that the industry has collectively decided are "GPU problems".

Like it or not general purpose scalar software is, has always been, and will always remain the standard mechanism by which computing hardware is applied to new problems. Everything else is an optimization around the edges.

Re:Ryzen Threadripper Pro 3995WX Spotted by lallysingh on Friday July 10, 2020 @09:15AM (#23791131)
.. and chrome and your IDE. They're very bursty, but those bursts can go smoothly over many cores or slowly over a few.
Re:Ryzen Threadripper Pro 3995WX Spotted by waltpad on Friday July 10, 2020 @03:18PM (#23795221)
Disclaimer: I am not a HW designer, I could very well be wrong.

It is true that there are tasks where threading matters, but still require a CPU rather than a GPU. I wonder however if these tasks do need full SSE/AVX etc. Couldn't these extensions be removed of the CPU cores and instead have the necessary work performed by the GPU?

It would be interesting to produce statistics on how much these extensions are used in these scenario. Imagine how much space and complexity could be saved on a CPU die by making stripped down versions. That space could in turn be used for more cores!

I read a little about the Xeon PHI cpus, which iirc, is a multicore CPU with a very small ISA, but I wonder why x86 makers aren't trying to go in that direction: isn't there plenty of dedicated workloads which would happily run on these (eg, web servers), or is this just a (too) simplistic view?

Re:Ryzen Threadripper Pro 3995WX Spotted by dragontamer on Friday July 10, 2020 @06:15PM (#23797209)
> It is true that there are tasks where threading matters, but still require a CPU rather than a GPU. I wonder however if these tasks do need full SSE/AVX etc. Couldn't these extensions be removed of the CPU cores and instead have the necessary work performed by the GPU?

SSE/AVX shares an L1 cache that's damn near instantaneous to access for the CPU core. Total L1 bandwidth is on the scale of TB/s.

PCIe -> GPU takes 1-microsecond to 10-microseconds per access, and operates only at 50GB/s (or 1/20th the speed of L1 bandwidths).

------------

Case in point: Memset is very commonly AVX'd to clear out L1 cache and initialize ~1kb to 32kb of data to 0 as quickly as possible.

There's no way for "memset" to move from CPU to GPU unless you feel like obliterating the entire point of L1, L2, and L3 cache. If you moved a "memset" to GPU, it'd operate only at 15GB/s (the speed of PCIe 3.0 x16 lanes), far, far slower than L1 cache AVX-loads/stores.

SIMD units, like SSE and AVX, are highly "local" and have huge advantages.

Re:Ryzen Threadripper Pro 3995WX Spotted by TinkersW on Friday July 10, 2020 @09:32PM (#23798609)
I think the opposite is where things need to go. Having a wide SIMD ALU quickly accessible from your CPU core is very useful, especially as it shares the same memory system and a much more flexible programming model that allows you to do everything in a single source.
Re:Ryzen Threadripper Pro 3995WX Spotted by waltpad on Saturday July 11, 2020 @04:57AM (#23800621)
The programming model is not very flexible at the lowest level: one has to create all the software infrastructure to communicate with the GPU (which boils down to sending commands and receiving response). There are languages (like futhark, julia, or even python), which handle all that boilerplate transparently.

The main problem is, afaik, that there is not enough control about where the code will run in these languages. At some point, one will want to describe all the algorithms using a single language, and somehow describe how the workload will have to be distributed across all the processors, or at least that's what I've been thinking about for a while. Once you have that level of control, the need for a versatile CPU is less clear. Note that nowadays people seems happy with hybrid solutions where the code is scattered across several languages (eg, one for the main program and one for the shaders, or for the client side UI), so my position is maybe not very strong.

HW-wise, is it possible that integrated GPUs are the first steps toward an architecture where CPU and GPU have better interconnections (ie, larger communication bandwidth and smaller latency) to the point where SIMD becomes moot? There is also the SWAR approach, where one doesn't rely on intrinsic SIMD instructions, but instead emulate them (though it's probably not very realistic for floating point computation).

Some other ideas:

- Apple has this neural engine in their latest chips, which is basically dedicated HW for neural networks

- In the wild, people are getting more and more interested in building their custom ASICs to cut software's middle-man cost: for them, the CPU solution is not good enough

- Intel recently introduced a new matrix ops extension in their CPUs: maybe at some point they'll introduce full GPU capabilities directly baked in the CPU? I am a little worried about the resulting ISA.

Anyway, I am not an HW engineer, nor a very good software one. I only have a limited view of the difficulties in writing good, CPU or GPU efficient code. My first post was prompted by remembering the first "large scale" multicores CPUs 15 years ago (specifically the Ultrasparc T1) which wheren't SIMD heavy. The direction naturally shifted as progress was made on SIMD to try to compete with GPUs, when it seems to me that originally CPUs and GPUs were complementary.

I tend to support modular solutions, but I don't know how costly that would be in term of efficiency at the HW level.

Re:Ryzen Threadripper Pro 3995WX Spotted by waltpad on Monday July 13, 2020 @10:36AM (#23821191)
Ooops, I didn't mean Xeon PHI, I meant an older design with many small x86 cores.

Xeon PHI on the other hand was the first host of AVX-512 instruction set. Sorry.

Re:Ryzen Threadripper Pro 3995WX Spotted by scotty79 on Friday July 10, 2020 @07:04AM (#23790245)
Interesting. Is there a compiler, that runs on GPU?
Re:Ryzen Threadripper Pro 3995WX Spotted by the_pwner224 on Friday July 10, 2020 @07:15AM (#23790310)
GPUs are mainly good at doing matrix multiplication and other math with little branching. Compilers have a lot of if/else statements; training neural networks does not. IIRC (and I may be wrong) the architecture is something like many GPU cores share things like the code cache and branch prediction, so if the different cores have to execute different code paths there is a big performance decrease.

Edit: another reply to this top level comment: https://news.ycombinator.com/item?id=23788755

Re:Ryzen Threadripper Pro 3995WX Spotted by Symmetry on Friday July 10, 2020 @10:58AM (#23792120)
Also GPUs really like predictable memory access patterns so that they can load the data that'll be needed next ahead of time into registers or dedicated caches explicitly. They don't have cache hierarchy features a CPU has to minimize the average disruption from only partially predictable memory accesses and they don't have out of order windows to paper over the occasional low level cache miss.
Re:Ryzen Threadripper Pro 3995WX Spotted by FpUser on Friday July 10, 2020 @12:06PM (#23792942)
Not to counter the main argument but CPU loves it some predictable patterns as well.

pattern like the one below will execute up to 10 times faster if array is sorted due to data locality and branch prediction

  sum: float
  a: float array[some_huge_number] 
  fill_array(a, random(1))
  
  for f in a
      if a[i]>0.5
          sum=sum+f
Re:Ryzen Threadripper Pro 3995WX Spotted by raphlinus on Friday July 10, 2020 @10:01AM (#23791523)
A really interesting exploration is Co-dfns [1]. This is indeed a compiler that runs on the GPU, but it's also extremely out of the mainstream.

IMHO this is an area ripe for more exploration. If I were working on it, I might look to linking first before compilation, because the basic link task is more similar to what GPUs are good at (advanced stuff such as LTO is a different story, though).

[1]: https://github.com/Co-dfns/Co-dfns

Re:Ryzen Threadripper Pro 3995WX Spotted by BiasRegularizer on Friday July 10, 2020 @07:30AM (#23790419)
Also, GPU has VERY limited memory and no virtual memory.
Re:Ryzen Threadripper Pro 3995WX Spotted by rational_indian on Friday July 10, 2020 @07:51AM (#23790563)
> VERY limited memory and no virtual memory

This is incorrect.

Re:Ryzen Threadripper Pro 3995WX Spotted by zdw on Friday July 10, 2020 @09:41AM (#23791370)
Compared to 2-4TB max in a 2 socket server system, the 16 or 32GB/card you get on a GPU is pretty small.

The other issue is loading that memory - PCIe 4 is still the transfer time bottleneck between GPU and main memory.

Re:Ryzen Threadripper Pro 3995WX Spotted by atq2119 on Friday July 10, 2020 @02:54PM (#23794948)
The part about no virtual memory is kind of incorrect though. It doesn't work exactly like on the CPU, but still.
Re:Ryzen Threadripper Pro 3995WX Spotted by zdw on Saturday July 11, 2020 @10:40PM (#23808280)
I'm not totally up to speed on modern GPU's - do they have a MMU that handles page faults on non-resident pages like a CPU would?

My understanding is that the GPU memory models are different enough that what an OS traditionally calls "virtual memory" couldn't be implemented in the same way.

Re:Ryzen Threadripper Pro 3995WX Spotted by baybal2 on Friday July 10, 2020 @07:49AM (#23790549)
> Building software

Well, the problem with that is that no make system can utilise so much core. Even linux kernel, probably the biggest C project in mainstream use, can not consistently load even 16 cores with mostly handwritten makefiles.

P.S.

I do not say that building software is not CPU parallelisable in principles, I'm saying that regular make systems have trouble handing big number of parallel tasks in practice, even in big, well run projects that use handwritten makefiles.

Re:Ryzen Threadripper Pro 3995WX Spotted by ajross on Friday July 10, 2020 @07:52AM (#23790572)
That's... not true at all. A kernel build will be as parallelizable as you like. I do kernel builds fairly regularly on 56 and 64 core hosts and in fact the build time is quite linear with core count. (The ramdisk packing provided by the distro at "make install" time tends to be what hurts scaling, FWIW).

And my day job involves lots of iterations over the Zephyr test suite, which builds and runs hundreds of individual test apps X dozens of platforms. This is almost a pure build-time problem and scales very linearly indeed.

Re:Ryzen Threadripper Pro 3995WX Spotted by CrazyStat on Friday July 10, 2020 @08:56AM (#23790990)
CPU-parallelizable and GPU-parallelizable are different problems. CPU cores are independent. GPU cores are SIMD--every core does the same operation, but with different data. That works really well for things like matrix multiplication where you need to multiply a million times and then add a million times, because you can have all 3000 CUDA cores multiplying and then all 3000 CUDA cores adding. It doesn't work for compiling software.
Re:Ryzen Threadripper Pro 3995WX Spotted by monocasa on Friday July 10, 2020 @11:02AM (#23792174)
It's not that SIMD for GPUs. It'll be 64 or 32 GPU threads together generally sharing the dispatch and control logic. So if you have a 4096 "CUDA core" GPU, it'll be 64 of what would be called cores on the CPU side, each with a 64 lane vector processor.
Re:Ryzen Threadripper Pro 3995WX Spotted by baybal2 on Friday July 10, 2020 @08:54AM (#23790971)
Not in my experience, from time to time it does boost to 40+ compile tasks, especially on drivers code, but it mostly hover at around 10 tasks.
Re:Ryzen Threadripper Pro 3995WX Spotted by emidln on Friday July 10, 2020 @07:56AM (#23790595)
Bazel utilizes the cores near linearly. It even makes use of remote cores in an efficient manner for compiling c++. 128 thread and 256 thread machines are great if you also have enough ddr4 to let each gcc/clang do their thing.
Re:Ryzen Threadripper Pro 3995WX Spotted by pdimitar on Saturday July 11, 2020 @09:41AM (#23802133)
The rumoured Threadripper Pro 3995WC (64c/128t but with 8-channel memory support) might solve that problem.
Re:Ryzen Threadripper Pro 3995WX Spotted by jchw on Friday July 10, 2020 @09:15PM (#23798515)
Something is wrong on your end, you can parallelize the build of typical C and C++ software almost infinitely. The reason why is because most C and C++ software do not have 'happens-before' dependency relationships due to the way translation units work, so basically every translation unit in a module can be compiled 100% independently of any other translation unit. In practice that means you can easily scale up to 1000+ processes with no issue, and in fact, this has been accomplished in combination with AWS Lambda:

https://stanford.edu/~sadjad/gg-paper.pdf

Actual screencast of it in action compiling FFMPEG:

https://asciinema.org/a/257545

(Perhaps the issue is you are bottlenecking on I/O or some other resource?)

Re:Ryzen Threadripper Pro 3995WX Spotted by staticfloat on Friday July 10, 2020 @02:21AM (#23788716)
One big difference is memory availability; the amount of RAM directly accessible from a 64-core CPU is much larger than that of the thousands of CUDA cores on a Quadro card. Perhaps for many workloads intelligent use of the PCIE bus can make up for that, streaming datasets in/out of the card, but for others, having random access to hundreds of GBs of data may be non-negotiable.

I'd be interested to know what workloads truly require that; most simulation solvers that I can think of that require large amounts of RAM are working on a discretized spatial grid, and the physical laws they're simulating are fairly "local"; e.g. you can process one area then move on to the next, in a nice stencil operation. This lends itself well to both parallelization and a sort of data-locality, so you can stream the necessary pieces of data in to the cores in an orderly fashion. I don't know what kinds of massively parallelizable workloads require much more random access of memory.

Re:Ryzen Threadripper Pro 3995WX Spotted by tromp on Friday July 10, 2020 @06:31AM (#23789996)
The CuckatooN Proof-of-Work puzzle [1] requires 2^N bits of randomly accessed memory for efficient solving which parallelizes very well. In practice the random access is so slow that an alternative solver using 32 times more memory and mostly sequential access is much faster.

[1] https://github.com/tromp/cuckoo

Re:Ryzen Threadripper Pro 3995WX Spotted by vosper on Friday July 10, 2020 @04:36AM (#23789406)
I’m not sure about “require”, but we use multi-hundred-gigabytes or RAM instances for our Elasticsearch coordinator nodes, which seems to work well.
Re:Ryzen Threadripper Pro 3995WX Spotted by CSDude on Friday July 10, 2020 @04:41AM (#23789442)
Elasticsearch recommends <32GB because of 32-bit per their doc, is it different for coordinator nodes?
Re:Ryzen Threadripper Pro 3995WX Spotted by Xylakant on Friday July 10, 2020 @06:05AM (#23789844)
The underlying reason is that at around 32GB the JVM internally shifts from 32bit pointers for HEAP management to 64bit. The feature is called compressed object pointers (compressed oops) The increased pointer size uses substantial amounts of RAM, a reasonable estimate is that you need at least ~45GB to not have a loss in total available HEAP. Also, GC cycles get longer the more HEAP you have. However, some workloads may require more heap to even be possible and there’s pauseless garbage collector implementations able to handle substantial amounts of memory, so it is possible. It’s just not something you should be doing unless you know exactly what you are doing.

See https://wiki.openjdk.java.net/display/HotSpot/CompressedOops

Re:Ryzen Threadripper Pro 3995WX Spotted by reitzensteinm on Friday July 10, 2020 @06:24AM (#23789956)
Lacking value types, larger pointers will probably penalize JVM programs more than their peers.
Re:Ryzen Threadripper Pro 3995WX Spotted by SomewhatLikely on Friday July 10, 2020 @09:04AM (#23791041)
While there are no JEP 169 style Value Types, you can still layout your data in a way that significantly reduces the number of pointers. For example using parallel arrays of primitives. It's not as clean, but it is one mitigation.
Re:Ryzen Threadripper Pro 3995WX Spotted by behohippy on Friday July 10, 2020 @08:29AM (#23790798)
A "perfect" ES node has 64 gig of memory. 32 to heap and 32 for off heap as well as 8-12 cores for executing queries. Heap is mostly used for internal operations and the inverted index stuff (fielddata), off-heap was used for the columnar data store (docvalues). Most server class machines exceed this nowadays, so we would recommend containerizing multiple instances of ES on a single machine and using the rack awareness feature to make sure shards didn't replicate onto the same physical host. It's been a while since I worked at Elastic, so this info might be out of date by now, but we're still using this formula for our ECE setups where I work now.
Re:Ryzen Threadripper Pro 3995WX Spotted by adamtulinius on Friday July 10, 2020 @05:10AM (#23789573)
That recommendation is only for the JVM heap to my knowledge.
Re:Ryzen Threadripper Pro 3995WX Spotted by Xylakant on Friday July 10, 2020 @06:17AM (#23789919)
For coordinator nodes, only the HEAP is relevant, excess RAM for disk buffers is only of interest for data holding nodes.
Re:Ryzen Threadripper Pro 3995WX Spotted by choeger on Friday July 10, 2020 @02:24AM (#23788736)
DAE and ODE simulators do not work with that spatial distribution.
Re:Ryzen Threadripper Pro 3995WX Spotted by ATsch on Friday July 10, 2020 @06:55AM (#23790181)
Although graphics companies like to talk about "cores" or "processors" to make their GPUs sound powerful, they are really just counting ALUs. If you marketed this chip similarly, you'd end up with something silly like "1024 AVX Core CPU".

A closer analogue of x86 cores is what Nvidia calls a "Streaming Multiprocessor" and AMD calls a "Compute Unit". There's generally only up to 64-80 of those on the highest end GPUs too. However the difference is that each of those cores is able to perform 40-64 SIMD operations at once, compared to x86's puny 8 or 16 or so.

Re:Ryzen Threadripper Pro 3995WX Spotted by dTal on Friday July 10, 2020 @04:34AM (#23789396)
CPUs are much more general! Unscientifically, on my 2950X/1070Ti workstation, Cycles takes approximately the same amount of time to raytrace a scene on the CPU vs the GPU. I think this is a great example of a highly parallel workload that is challenging for GPUs due to lack of coherence - extreme props to the Cycles team for making it work on GPU at all.

Also, year-on-year performance increases for nVidia GPUs are relatively boring, while Threadrippers routinely double in performance. I have just built a 3970X/RX5700XT workstation, and while I have not benchmarked it yet I expect the CPU to smash the GPU for Cycles raytracing.

Also worth noting that CUDA is a proprietary architecture from a single company - targeting it locks you in, and you need to run proprietary blobs to make it work.

All in all, CUDA works well now but I think it's ultimately a dead-end architecture - hugely parallel CPU architectures will eclipse it.

Re:Ryzen Threadripper Pro 3995WX Spotted by esperent on Friday July 10, 2020 @05:18AM (#23789606)
Not only that but there are features in Blender that cannot be rendered using Cycle GPU mode but work fine using Cycles CPU mode.

On the other hand, wasn't GPU mode added much later than CPU mode? Maybe there has been less development time put into it.

Re:Ryzen Threadripper Pro 3995WX Spotted by thdrdt on Friday July 10, 2020 @05:57AM (#23789805)
I'm not sure your CPU will be faster. I'm using Blender on a Ryzen 9 3900x with a RTX 2070S.

The CPU is never faster than the GPU. CPU + CUDA is way faster, but when I use OptiX (RTX) it is unbelievable how fast it is.

The GPU Raytracer just shines here.

The Blender benchmarks: https://opendata.blender.org/

Re:Ryzen Threadripper Pro 3995WX Spotted by dTal on Friday July 10, 2020 @06:37AM (#23790053)
I don't know, the 3970X has nearly 3 times as many cores as your 3900X. You may be right if pitted against an OptiX GPU, but that's a bit unfair since that entire generation's raison d'etre is raytracing-specific hardware - my point concerned GPGPU, with raytracing as an incidental example. nVidia can't redesign their GPUs for every workload that GPUs struggle with.
Re:Ryzen Threadripper Pro 3995WX Spotted by thdrdt on Friday July 10, 2020 @06:52AM (#23790150)
If you look at the Blender benchmarks you see that the 64 core Threadripper is faster than any GPU. But the price is steep for that CPU (almost $4000). So while CPU's can be faster the question is if it is relevant. Because you still need a GPU next to that Threadripper for some graphics (if you need graphics).
Re:Ryzen Threadripper Pro 3995WX Spotted by nl on Friday July 10, 2020 @11:43AM (#23792693)
That's an interesting benchmark.

There's quite considerable variation in the device ranking if you look at each scene render time - the GPU is faster on the quicker-to-render (sub 1 min) scenes, but slower on the slower-to-render scenes (1+ min).

I wonder why that is? I see the 3990X is hugely faster than anything at these slow scenes, which is pretty interesting.

I'm not familiar with rendering, but in the deep learning world it is moderately easy to get considerable speed-ups by using multiple GPUs. Is the same possible here?

Re:Ryzen Threadripper Pro 3995WX Spotted by thdrdt on Friday July 10, 2020 @12:39PM (#23793314)
I am not sure if this is true for the benchmarks but last week they fixed a bug in (I believe) hair rendering. Render times went from 45 to 5 minutes.

So it all depends in what is being rendered and how a render core is optimized for it.

Also things like b-tree calculations and other algorithms might influence this.

Re:Ryzen Threadripper Pro 3995WX Spotted by govg on Friday July 10, 2020 @06:34AM (#23790022)
The Nvidia 2xxx series are optimized for ray tracing though, so not sure if comparing with their 1xxx cards make sense.
Re:Ryzen Threadripper Pro 3995WX Spotted by Yizahi on Friday July 10, 2020 @06:53AM (#23790168)
They are not "optimized" strictly speaking. Thousands of CUDA cores on them don't do ray tracing, it is done on a separate hardware which just happens to sit on the same chip. Add RTX cores to Threadripper crystal and you will get the same result.
Re:Ryzen Threadripper Pro 3995WX Spotted by thdrdt on Friday July 10, 2020 @06:53AM (#23790161)
Well the comparison is between CPU and GPU. Will there come a point that an affordable CPU is faster than a GPU?

Maybe that time will come but I am not sure if that will happen soon.

Re:Ryzen Threadripper Pro 3995WX Spotted by jacquesm on Friday July 10, 2020 @04:47AM (#23789468)
The people that use CUDA don't care about the underlying architecture, they need results. Which ever manufacturer will deliver those results will get the $.

Raytracing is not an ideal match workload wise for a GPU, too much divergence, but there are plenty of workloads where GPUs will have an edge for along time to come.

Re:Ryzen Threadripper Pro 3995WX Spotted by qayxc on Friday July 10, 2020 @04:54AM (#23789499)
It's more than that - NVIDIA invested massively in their software ecosystem and mindshare (e.g. by a huge sponsoring program that saw universities flooded with their hardware).

AMD cards offer comparable compute performance and are sometimes even better. What AMD lacks, though, are ready-to-use software packages like CUDA, cuDNN, cuBLAS, and the like.

NVIDIA basically bought their way into the research community and solidified their strong foothold by keeping CUDA proprietary.

It's fascinating how other companies (Microsoft) get bashed on a regular basis for using the exact same tactics (see Direct3D vs OpenGL on Windows), while people are perfectly fine with NVIDIA doing it...

Re:Ryzen Threadripper Pro 3995WX Spotted by rhn_mk1 on Friday July 10, 2020 @05:13AM (#23789588)
> people are perfectly fine with NVIDIA doing it

I assure you, the affected scientists who have to fight tooth and nail for funding are less than impressed that they are dependent on the mercy of a single vendor.

Re:Ryzen Threadripper Pro 3995WX Spotted by dpwm on Friday July 10, 2020 @05:11AM (#23789576)
> a huge sponsoring program that saw universities flooded with their hardware

This is really important, and I don't think people quite realise the scale. I was doing a Physics MSc in 2012 and it seemed that almost everybody in computational physics was doing some variant of reimplementing Y with CUDA.

That's not to say it was the wrong tool for many of the jobs – though for some it apparently was, judging by the levels of stress – but I did find it a bit weird how this was an approach to research that pretty much completely ignored vendor lock-in.

Re:Ryzen Threadripper Pro 3995WX Spotted by jacquesm on Friday July 10, 2020 @05:05AM (#23789549)
Because NVIDIA did not do anything illegal - so far. MS is a convicted monopolist that actively went after competitors rather than just to let the market decide. What NVIDIA has done so far is perfectly fine in my book, paying companies not to use competitor hardware, funding third party lawsuits and stealing IP, the browser wars and so on are things that Microsoft has done.
Re:Ryzen Threadripper Pro 3995WX Spotted by BadInformatics on Friday July 10, 2020 @12:11PM (#23792991)
AMD does have ROCm/HIP, hipDNN and hipBLAS (which mirror their counterparts), but these and the rest of their modern GPGPU stack suffer from a lack of polish, ineffective evangelism and subpar documentation. It's difficult to justify using them unless you work at somewhere like ORNL where folks are building new infrastructure using exclusively AMD GPUs.
Re:Ryzen Threadripper Pro 3995WX Spotted by lattalayta on Friday July 10, 2020 @05:53AM (#23789771)
At the moment, offline rendering is still massively parallel, but you run into memory limitations when trying to render on the GPU. High end VFX scenes using Renderman or Arnold can push up to 100 GB+ of memory and run for multiple hours on standard 12-24 core machines. I believe some GPU renderers can do "out-of-core" rendering, but not all of them support that yet.

The high end renderers usually split up a large image into "buckets" and then perform path tracing on those regions of an image, and combine the results together. If you have more cores, you can increase the number of simultaneous buckets to evaluate.

To put this in perspective, a lot of the recent news around real-time raytracing is when a game engine does 1-4 samples per pixel and then aggressively denoises (in 2D) the result. That's why you often see splotches or errors. On the other hand, high end VFX renders will end up doing hundreds or even thousands of samples per pixel to get a clean, high quality, physically plausible result.

Re:Ryzen Threadripper Pro 3995WX Spotted by hyperbovine on Friday July 10, 2020 @11:00AM (#23792152)
I see this response often and I have to say, "just throw it on the GPU" is phrase only uttered by someone who has never personally attempted to do that. The simplicity of CUDA and `pip install tensorflow-gpu` belie a huge amount of engineering prowess; go look at the source for XLA (https://github.com/tensorflow/tensorflow/tree/master/tensorf...) if you don't believe me. To answer your question, tons of scientific computing tasks parallelize nicely and are a horrible fit for a GPU, because they involve branching, or non-deterministic runtimes, or need a lot of memory bandwidth, or rely on highly optimized legacy numerical code that is written in Fortran, or any one of a number of other reasons. Deep learning is a very narrow use fact and, in fact, GPUs and DL symbiotically co-evolved over the last 15 years to the point where GPU hardware is essentially designed to efficiently train neural nets. (And run games.)
Re:Ryzen Threadripper Pro 3995WX Spotted by bobjordan on Friday July 10, 2020 @03:50AM (#23789165)
I'm using a 22 core / 44 thread xeon workstation for development and my primary joy using it is being able to run my pytest test suites in parallel. I went from ~45 minutes to run the test suite to about a minute. It is also pretty sweet to be able replicate our three physical servers for bomquote.com, locally.
Re:Ryzen Threadripper Pro 3995WX Spotted by elorant on Friday July 10, 2020 @08:18AM (#23790732)
Honest question because I'm interested for something similar, why did you go for a Xeon and not an Epyc rig?
Re:Ryzen Threadripper Pro 3995WX Spotted by bobjordan on Friday July 10, 2020 @12:58PM (#23793566)
I bought the xeon from Ebay at a discount about three years ago, when it was still fairly new. It was some sort of engineering sample and I paid about $3K for it while the list price was at least a multiple higher. We used it for CPU rendering for several years and I've only recently repurposed it for a development workstation, as we moved to software that can utilize GPU rendering. These days I almost certainly buy an AMD Threadripper or Epyc for a development workstation.
Re:Ryzen Threadripper Pro 3995WX Spotted by jdboyd on Friday July 10, 2020 @11:19AM (#23792374)
You can go to Dell, HP, or Lenovo to get a premade Xeon workstation. Getting Epyc premade requires rather more research to find and qualify a vendor, and that vendor may not make it easy to configure and but from the web site with or having to enter a relationship with a sales rep.
Re:Ryzen Threadripper Pro 3995WX Spotted by zumachase on Friday July 10, 2020 @03:44AM (#23789132)
Surprised databases haven’t been mentioned. Anything stateful is still far easier to scale vertically. Otherwise you have to go multi master and start sharding across smaller instances. A massive chip like this can let you keep a pretty simple master/follower architecture for HA without having to share.
Re:Ryzen Threadripper Pro 3995WX Spotted by jarvist on Friday July 10, 2020 @07:35AM (#23790449)
Almost all scientific computing. In spite of considerable effort, there are relatively few workloads that use GPUs well, and even for codes which do work on GPU, you tend to end up with partial functionality, and a very restrictive region of parameter space where they work efficiently. (And often you run out of memory very quickly - scientific workloads typically run multi-node and share RAM across the nodes via Global Arrays or equivalent. Using multiple terabytes of memory is absolutely normal.) The computation in deep learning is actually quite simple (matrix-vector operations), and still it has taken considerable effort to develop efficient kernels (such as cuDNN).

The next UK supercomputer is based around AMD's 64 CPU chips for this reason. One concern is that we may now be limited by the shared memory bandwidth. https://www.nextplatform.com/2019/10/18/amd-cpus-will-power-...

Re:Ryzen Threadripper Pro 3995WX Spotted by mschuetz on Friday July 10, 2020 @05:10AM (#23789574)
Two reasons why I can't do my stuff with CUDA even though I've got thousands of work packages that are independent of each other:

* I'm splitting data sets into batches of around 50-300MB, but each individual batch must be processed sequentially. Each batch loops through the data (multiple times), and every single iteration of a loop depends on state from previous iterations.

* Altough each batch essentially does the same thing, it does not operate in lockstep. Lot's of ifs, different execution paths, differently sized sub-problems, etc.

I'd benefit from having 200 CPU cores and enough RAM to fit the batches, but I can't let individual GPU threads run through batches of 50MB, each.

Re:Ryzen Threadripper Pro 3995WX Spotted by hellofunk on Friday July 10, 2020 @06:15AM (#23789907)
There’s such a huge difference in the programming paradigm between writing for multi cores on a GPU versus a CPU. It’s really a very different kind of software architecture. I think it’s unfair to compare the two.

And with such a huge CPU core counts, a lot of the very difficult work of organizing an algorithm to run well on a GPU can be avoided because the CPU approaches the same benefits with a more logical architectural design.

Re:Ryzen Threadripper Pro 3995WX Spotted by imtringued on Friday July 10, 2020 @02:42AM (#23788835)
GPUs can't run the same code you would have written on a CPU. If you had the choice between an equally performing CPU and GPU you would always use the CPU.
Re:Ryzen Threadripper Pro 3995WX Spotted by achempion on Friday July 10, 2020 @03:31AM (#23789079)
Why? Isn't the CPU will cost more than GPU because of more general instruction set?
Re:Ryzen Threadripper Pro 3995WX Spotted by pjc50 on Friday July 10, 2020 @05:57AM (#23789798)
Not really: the CPU costs more and can handle more workloads because it has more complicated control flow.

These days, arithmetic is cheap and control flow is expensive. GPUs and SIMD achieve high throughput by tying a set of arithmetic units together with the same control flow. As soon as you get complicated data-dependent workflows - as soon as you put "if" in your code or a virtual method - the GPU starts getting less efficient.

It's very much a "train vs car" argument: a train can deliver a large number of execution units , provided they're all going to the same place, whereas a car can re-route far more easily.

Re:Ryzen Threadripper Pro 3995WX Spotted by neatze on Friday July 10, 2020 @02:08PM (#23794449)
"train vs car" argument - really nice analogy.
Re:Ryzen Threadripper Pro 3995WX Spotted by jacquesm on Friday July 10, 2020 @04:50AM (#23789484)
On a per-flops basis yes. But it all depends on your workload, for some workloads GPUs are a better match than CPUs and vice-versa.
Re:Ryzen Threadripper Pro 3995WX Spotted by dragontamer on Friday July 10, 2020 @02:27AM (#23788755)
> What workloads are so massively parallel that they can use 64 cores of x86 but can’t use the thousands of CUDA cores on a Quadro card?

Thread divergence.

CUDA-cores are linked and take if-statements and for-loops together. This means that if one CUDA core takes a for-loop 1-million times, 31-other CUDA cores will take the 1-million loop with them. (32-cores per NVidia SM). EDIT: CUDA keeps things semantically correct per thread by "throwing away work" (execution mask is disabled, so those 31-other threads effectively execute NOPs), but the cores are wasted.

Worst case scenario, your CUDA cores accomplish 1/32th the work they could do, as they spin idle waiting for the last 1 thread to complete a for loop or its unique combination of if-statements.

Matrix multiplication doesn't have any thread divergence, because all threads loop the same amount of times on all workitems. This means that Tensors / Deep Learning simply ignores the problem, because they're written as matrix multiplication problems.

Avoiding thread-divergence, or mitigating its effects, is possible, but requires advanced programming skill that few have.

--------

Examples:

Chess -- Traditional multithreaded chess algorithms have every thread check out a different branch of the chess search tree. But because each branch has different positions and moves, its very difficult to code it in such a way that all threads are doing useful work.

Web Servers -- If every thread is handling a different request, then every thread probably traverses a different set of if-statements and loops. This is a thread-divergence nightmare.

Databases -- SQL Databases traditionally have each thread running a different, independent SQL query. Like web-servers, its difficult to imagine parallelism from a high-level.

-------

However, elements of Chess, Web-servers, and Databases can probably be efficiently parallelized onto GPUs.

Chess -- This github repo demonstrates that enumerating positions can be done GPU-parallel: https://github.com/ankan-ban/perft_gpu

Web-servers -- Text parsing, Regex, and many other problems common to Web-servers have been parallelized on GPUs. The main question for me, is whether or not the PCIe traversal would be worthwhile (lower bandwidth than RAM, high latency). Web-servers tend to be I/O heavy and less compute heavy... probably not dense enough to benefit from GPU compute.

Databases -- Merge-join and Hash-join probably can be parallelized to GPUs.

Figuring out the optimal CPU + GPU team is going to be a research problem over the next 10, maybe 20 years.

Re:Ryzen Threadripper Pro 3995WX Spotted by ericbarrett on Friday July 10, 2020 @06:52AM (#23790153)
You have nailed it; I agree this is the biggest reason why the idea of CPU scaling matching current GPU chips is exciting.

Many other replies speak of the difference between “GPU” and “CPU” without describing it—it’s thread divergence. Processing stream-like data (network streams; compilers and other parsers; human input devices) can branch often and unpredictably using normal algorithms. Think for example how you would tokenize JSON without branching. A single GPU core is quite slow for the general case anyway. They are mostly good at math and bitwise operations. They were able to get this way because of the assumption that there would not be thread divergence for the primary workload, i.e. matrix math on contiguous blocks of memory, which harkens back to their origin as actual Graphics Processing Units.

If thread divergence weren’t such a killer for branching programs, you could probably write anything in CUDA. It’s not very limited; you can write most anything that can be expressed in non-exotic C. A lot the work has to do with schlepping textures around, which is an artifact of the expectation that your code will run at a distance from the messy, branching, unpredictable main program state, so everything (textures, shaders, etc.) should be loaded, processed, and ready to go when it’s frame-buffer time.

Re:Ryzen Threadripper Pro 3995WX Spotted by asah on Friday July 10, 2020 @05:53AM (#23789774)
Re:Ryzen Threadripper Pro 3995WX Spotted by pengaru on Friday July 10, 2020 @02:59AM (#23788932)
Compiling large projects like the linux kernel is an obvious one.
Re:Ryzen Threadripper Pro 3995WX Spotted by swiley on Friday July 10, 2020 @04:25AM (#23789354)
Yes. Even the cheaper zen processors make this so much more convenient.

Gentoo is actually a usable distro again and most of the packages (even things like mono) install decently fast.

Re:Ryzen Threadripper Pro 3995WX Spotted by sradman on Friday July 10, 2020 @05:03AM (#23789542)
> What workloads are so massively parallel that they can use 64 cores of x86 but can’t use the thousands of CUDA cores on a Quadro card?

Column stores like SAP HANA. Compressed bitmap indexes leverage SIMD but not floating point matrix math GPUs. The workstation vs server case is narrower though; benchmarking, dev testing, and local MS PowerPivot like analysis on large in-memory datasets.

Re:Ryzen Threadripper Pro 3995WX Spotted by pandaman on Friday July 10, 2020 @04:21PM (#23795994)
What they call "cores" in CUDA is different from CPU cores. On GPU "cores" and "threads" refer to the ways in a SIMD ALU. Under this classification a 64 core CPU with AVX-256 like Threadripper is at least 512 cores. So 4K "CUDA cores" translates to 128 "CPU cores" when you are not doing massively parallel computations. 128 cores still is no joke but those are not Zen cores, unfortunately. On top of running off much lower clock (7nm GPUs are at ~2Ghz, 14nm is ~1Ghz) their IPC is nowhere close to that of a CPU, add advanced caches and memory controllers, branch prediction, speculative execution etc and CPU cores are much faster. A GPU will beat any CPU on a SIMD-friendly payload but it won't be any good for serving webpages or compiling code or doing any other task you cannot nicely lay out for a SIMD.
Re:Ryzen Threadripper Pro 3995WX Spotted by slewis on Friday July 10, 2020 @11:33AM (#23792552)
In reinforcement learning, you typically need to run many copies of an environment (an Atari emulator for example) to collect experience for your agents. Environment code usually makes more sense on a CPU, because it’s a lot more branchy and stateful.

Think of two agents that run for awhile and end up in different parts of a virtual world, that require very different code to execute. This might be pretty difficult to parallelize on a GPU.

After collecting a bunch of experience, you update whatever function you’re optimizing. This could be something like a neural network that is the brain of your agents. The update step can happen on a GPU.

But then we need to go collect a lot more experience again, so we’re back in CPU land.

Experience collection often dominates overall compute time in reinforcement learning. Which means you want a lot of CPUs.

Re:Ryzen Threadripper Pro 3995WX Spotted by photon12 on Friday July 10, 2020 @02:15AM (#23788687)
Running multiple parallel VMs with Xen or KVM is a plausible example.
Re:Ryzen Threadripper Pro 3995WX Spotted by CyberDildonics on Friday July 10, 2020 @09:05AM (#23791049)
GPUs are good for split join parallelism. They don't even really have real branching and you mostly have to loop a constant amount of times. Meanwhile any data without dependencies can be dealt with on a CPU core.

Not only that, huge amounts of software could use a lot more concurrency if it was structured differently. Even a web browser (to my knowledge) doesn't split up DOM layout, parsing individual files, decompressing images, decompressing video etc. into separate threads for each file.

Re:Ryzen Threadripper Pro 3995WX Spotted by satai on Friday July 10, 2020 @08:14AM (#23790713)
Almost anything, that doesn't move lots of data in lockstep (specially - anything with lots of it - then - elses) is much better to run on CPU cores.
Re:Ryzen Threadripper Pro 3995WX Spotted by cptskippy on Friday July 10, 2020 @10:06AM (#23791564)
> Are these cores just that much faster than CUDA cores? What else am I missing here?

Comparing GPU/CUDA/TPU Cores to CPU Cores is like comparing a riding lawnmower to an automobile. A GPU/CUDA/TPU Core is optimized to handle a different type of workload than a CPU.

Just because your riding lawnmower can cut your grass faster than your car, doesn't mean your lawnmower is the best thing for highway driving.

Re:Ryzen Threadripper Pro 3995WX Spotted by choeger on Friday July 10, 2020 @02:25AM (#23788744)
One use case that comes to mind is compilation of languages like C/C++, where you have many heterogeneous, independent, long-running tasks.
Re:Ryzen Threadripper Pro 3995WX Spotted by MaxBarraclough on Friday July 10, 2020 @12:57PM (#23793557)
> What workloads are so massively parallel that they can use 64 cores of x86 but can’t use the thousands of CUDA cores on a Quadro card?

I'm a bit behind on GPU architecture, but presumably workloads which are branch-heavy, lack coherent execution within a warp (see dragontamer's comment), and don't make use of floating-point.

GPUs are not the equivalent of manycore CPUs.

Re:Ryzen Threadripper Pro 3995WX Spotted by fock on Friday July 10, 2020 @03:41AM (#23789117)
like all of the legacy quantum chemical and FEM codes or anything else you run in HPC (which are a lot of codes, which are not ported from one day to the other by an army of self-declared ML-pros). Part of them can be GPU-accelerated, but then you can easily eat TBs of memory with the right system and GPUs still have a way to go there.
Re:Ryzen Threadripper Pro 3995WX Spotted by zubspace on Friday July 10, 2020 @04:13PM (#23795908)
We process, merge and create PDF files. Sometimes large multi-GB PDF files. We try to adjust and optimize them in parallel, but often we also need to merge different files into one for further processing, for example printing or archival. We need a lot of ram and it takes a lot of time. The more CPU, the better.
Re:Ryzen Threadripper Pro 3995WX Spotted by api on Friday July 10, 2020 @11:25AM (#23792443)
Tasks that involve branching, for one. GPU's are fundamentally different kinds of processors. They are for applying similar transforms to vast amounts of data.

There are other area where big general purpose X64 or ARM cores excel too, like bit twiddling, memory random access, etc., but branching logic is the fundamental one.

Re:Ryzen Threadripper Pro 3995WX Spotted by michaelt on Friday July 10, 2020 @08:57AM (#23790994)
> What workloads are so massively parallel that they can use 64 cores of x86 but can’t use the thousands of CUDA cores on a Quadro card?

Servers serving multiple independent requests, VMs or Docker containers.

In other words, the same thing people were doing with four 16-core servers, just now it takes up less space :)

Re:Ryzen Threadripper Pro 3995WX Spotted by loser777 on Friday July 10, 2020 @02:25AM (#23788740)
In a single workstation form-factor, once you get enough powerful GPUs, it takes a good amount of CPU power to feed them, even for pure CNNs that GPUs are supposed to be great at. Think data augmentation for training, etc.
Re:Ryzen Threadripper Pro 3995WX Spotted by glogla on Friday July 10, 2020 @06:03AM (#23789834)
A large SQL database running queries from many users, say a data warehouse or a backend DB for web app like internet banking or something.

You can run on multiple nodes, but that brings its challenges, see Jepsen.

Re:Ryzen Threadripper Pro 3995WX Spotted by 0xfaded on Friday July 10, 2020 @02:56AM (#23788909)
Photogrammetry algorithms that process multiple images independently and then combine the results. Unfortunately they tend to be CPU heavy, and what can be is done with GPU help.
Re:Ryzen Threadripper Pro 3995WX Spotted by EvgeniyZh on Saturday July 11, 2020 @09:41AM (#23802137)
In deep learning, preprocessing can be pretty heavy, and then you find yourself CPU-bounded and not making full use of your 4x2080 Ti.
Re:Ryzen Threadripper Pro 3995WX Spotted by lmilcin on Friday July 10, 2020 @03:45AM (#23789141)
Cuda and x86 are different things.

I do not personally, but I work with another team that uses tens of thousands of cores for calculations. Just day to day business.

Re:Ryzen Threadripper Pro 3995WX Spotted by smichel17 on Friday July 10, 2020 @10:31AM (#23791803)
My understanding of these problems is totally naive, but I wonder if you could mitigate speculative execution vulnerabilities (meltdown, spectre, yes I know the former does not apply to amd) by using the excess cores to speculate enough that a cache hit is no longer meaningful data.
Re:Ryzen Threadripper Pro 3995WX Spotted by syntheticcorp on Friday July 10, 2020 @02:48AM (#23788869)
Fuzzing programs is really a CPU task, although it can usually be horizontally scaled across multiple boxes.
Re:Ryzen Threadripper Pro 3995WX Spotted by dragontamer on Friday July 10, 2020 @02:55AM (#23788900)
Someone wrote a SIMD-fuzzer across AVX512.

Its quite possible that someone figures out an x86 emulator on GPUs that fuzzes register values, similar to AVX512 fuzzing. https://gamozolabs.github.io/fuzzing/2018/10/14/vectorized_e...

------

Fuzzing is unique in that 99% of code probably traverses the same set of if-statements or branches. Whenever code significantly diverges (usually defined by Fuzzers as a significantly different instruction-pointer path of some kind), you've successfully fuzzed a new result.

Fuzzers... strangely enough... are programs I'd expect to run pretty well on GPUs or SIMD. If enough R&D research effort were put into it.

Re:Ryzen Threadripper Pro 3995WX Spotted by bitL on Friday July 10, 2020 @02:23AM (#23788731)
Reinforcement Learning, in-memory databases, number crunching, raytracing/animation.
Re:Ryzen Threadripper Pro 3995WX Spotted by aden1ne on Friday July 10, 2020 @03:33AM (#23789091)
Such workloads are typical in bioinformatics, as the majority of tools do not support running on GPUs. Data parallelization (e.g. run the same tool on every chromosome independently) is a common strategy used in that field.
Re:Ryzen Threadripper Pro 3995WX Spotted by k_bx on Friday July 10, 2020 @05:21AM (#23789625)
Any compiler that can properly use multiple cores could potentially benefit. Rust (and Haskell's GHC) uses all 8 cores I have during a sub-period of recompilation, so I'd guess it could as well use more.
Re:Ryzen Threadripper Pro 3995WX Spotted by rowanG077 on Friday July 10, 2020 @05:28AM (#23789665)
I know GHC can become slower with more cores so be carefull.
Re:Ryzen Threadripper Pro 3995WX Spotted by bob1029 on Friday July 10, 2020 @07:05AM (#23790253)
This is a point I have been trying to make for a few years now to ever-decreasing amounts of criticism. I think the reality is starting to set in that x86 is actually incredibly powerful, and when you have 64+ parallel copies of that computational facility, you can perform some insane magic. Especially when you start to consider the memory/computation domain you are operating within on CPU when contrasted with a GPU:

With a GPU in the loop, there is an extremely painful hop across PCIe before you can experience any degree of cache coherency. There are protocols, buffering and driver stacks involved. Latency is much higher. You have to plan ahead and think about what memory the GPU needs to mutate vs what memory the CPU needs to mutate. You have to split your application, language, and frameworks across 2 computational domains. How we have tolerated this for so long is beyond me. I think most people who get caught up in it are chasing shiny marketing a lot of the time. This criticism aside, I do think GPUs are still very useful for many applications and users.

With just a CPU, you are looking at L3 as the typical worst case for cache coherency domain. And L3 is getting to be ridiculously large. If your high-performance application's binary image cannot entirely fit within L3 of a modern x86 CPU, you are probably doing something very wrong. The other big advantage with just a CPU is you have 1 cache-coherent memory domain and a single instruction set to answer to. This means you can write 100% of your software in a single language/framework. Well-architected x86 applications can push instructions many times faster than their core clock speed would seem to indicate possible. Using special frameworks that have sympathy with this memory model mean that just a single x86 core can be made to push tens of millions of logical business transactions per second. And then you have 63 other cores to play with. Extremely deep pipelining and OoO execution are what allow for x86 to chew through general purpose computation so easily. Anything with a lot of recursive depth (e.g. raytracing) benefits massively from this style of processor.

I think the next big revolution is developers realizing that they can start porting GPU applications to CPU. Things like raytracing are much better suited for the memory model offered by a pure x86 domain. Sure, a GPU can accelerate some aspects of raytracing, but then you then need to shuttle that information back and forth over a higher latency link, and also fight with 2 completely different technical stacks. Needing to know how to write code for both GPU and CPU is easily the biggest problem with all of this. Especially when you consider how fast GPU APIs move relative to x86. Performance is not the only constraint when dealing with software, especially software as complex as AAA game engines and 3d modeling software. Someone still has to reason with and maintain this stuff over time.

Re:Ryzen Threadripper Pro 3995WX Spotted by secondcoming on Friday July 10, 2020 @05:17AM (#23789601)
The impending doom that is WASM will mean that 'dynamic' and 'interactive' adverts will use all these cores.
Re:Ryzen Threadripper Pro 3995WX Spotted by CyberDildonics on Friday July 10, 2020 @09:20AM (#23791183)
wasm can only do what javascript can already do, but faster. What specifically do you think wasm will change?
Re:Ryzen Threadripper Pro 3995WX Spotted by secondcoming on Friday July 10, 2020 @10:17AM (#23791683)
Threads. There's going to be a lot of 'throw threads at it and hope performance issues go away'-type solutions.

https://github.com/WebAssembly/proposals/issues/14

Re:Ryzen Threadripper Pro 3995WX Spotted by johncalvinyoung on Friday July 10, 2020 @11:11AM (#23792279)
As someone working with cutting-edge CAD in the browser, I badly want to throw more threads at problems.
Re:Ryzen Threadripper Pro 3995WX Spotted by secondcoming on Friday July 10, 2020 @11:29AM (#23792505)
And that's fine, and I'd imagine people using your service voluntarily would have no problem with that.

It's the ads though, and the calibre of people who create ads...

Re:Ryzen Threadripper Pro 3995WX Spotted by CyberDildonics on Friday July 10, 2020 @03:32PM (#23795411)
To be clear, you are saying you don't want something powerful and fundamental to be added because you don't want to learn how to turn a feature off or learn how install an adblocker?

Not only that, but better performance is what pushes you over the edge, not popups, connection slow downs, auto playing videos or tracking?

[dead]
Re:Ryzen Threadripper Pro 3995WX Spotted by kevin_thibedeau on Friday July 10, 2020 @09:51AM (#23791447)
Your ad blocker is going to filter a private web socket link funneling ads and content together? It's going to patch the WASM?
Re:Ryzen Threadripper Pro 3995WX Spotted by CyberDildonics on Friday July 10, 2020 @03:35PM (#23795442)
Why would it be difficult to turn off web sockets or turn off multi-threading? Multiple threads already run on single cores all the time, there is no reason a web browser couldn't just put them all on one core.
Re:Ryzen Threadripper Pro 3995WX Spotted by throwaway_pdp09 on Friday July 10, 2020 @12:41PM (#23793348)
It's your broswer.

If you have any tech chops you can make it what you want. If.

Re:Ryzen Threadripper Pro 3995WX Spotted by secondcoming on Friday July 10, 2020 @06:50AM (#23790134)
Yes.
Re:Ryzen Threadripper Pro 3995WX Spotted by throwaway_pdp09 on Friday July 10, 2020 @07:02AM (#23790235)
Well... upvoted for the honesty.
Re:Ryzen Threadripper Pro 3995WX Spotted by RandyRanderson on Friday July 10, 2020 @02:42PM (#23794833)
"Plain old" (not neural net) machine learning tasks would be sooo much faster.
Re:Ryzen Threadripper Pro 3995WX Spotted by MR4D on Saturday July 11, 2020 @12:48AM (#23799587)
Chrome. Once chrome is setup for this, I’ll be ready for 128 cores.
Re:Ryzen Threadripper Pro 3995WX Spotted by airocker on Friday July 10, 2020 @10:28PM (#23798953)
Split it into 32 4 core VMs and rent it out for 30$ a month?
Re:Ryzen Threadripper Pro 3995WX Spotted by gameswithgo on Friday July 10, 2020 @08:10AM (#23790691)
a server providing 64 virtual machines in the cloud
Re:Ryzen Threadripper Pro 3995WX Spotted by mirekrusin on Friday July 10, 2020 @05:16AM (#23789598)
Chrome?
Re:Ryzen Threadripper Pro 3995WX Spotted by ckluis on Friday July 10, 2020 @09:28AM (#23791260)
Give me 1 core for the Chrome shell and then 1 core per tab :)
Re:Ryzen Threadripper Pro 3995WX Spotted by flywheel on Friday July 10, 2020 @04:03AM (#23789238)
I mainly write nodejs code, and now that it supports threads I've been hammering my CPU with all kinds of parallel tasks. One common thing I do is crunch a few thousand 16MB+ JSON files in parallel. Multiple cores saves quite a bit of time parsing huge JSON payloads. Sure, people may crap on me for using Javascript, whatever... It's what I prefer to use, and 64 cores would only help do all sorts of things in parallel, saving me time.

There's all kinds of other things I do that utilize multiple cores.

I also run a lot of VMs.