News for hackers. Stuff that matters.
Re:AMD's Turin: 5th Gen EPYC Launched by smolder on Saturday October 12, 2024 @07:27AM (#41818326)
The weirdest one of the bunch is the AMD EPYC 9175F: 16 cores with 512MB of L3 cache! Presumably this is for customers trying to minimize software costs that are based on "per-core" licensing. It really doesn't make much sense to have so few cores at such an expense, otherwise. Does Oracle still use this style of licensing? If so, they need to knock it off.

The only other thing I can think of is some purpose like HFT may need to fit a whole algorithm in L3 for absolute minimum latency, and maybe they want only the best core in each chiplet? It's probably about software licenses, though.

Re:AMD's Turin: 5th Gen EPYC Launched by londons_explore on Saturday October 12, 2024 @07:33AM (#41818361)
Plenty of applications are single threaded and it's cheaper to spend thousands on a super fast CPU to run it as fast as possible than spend tens of thousands on a programmer to rewrite the code to be more parallel.

And like you say, plenty of times it is infeasible to rewrite the code because its third party code for which you don't have the source or the rights.

Re:AMD's Turin: 5th Gen EPYC Launched by RHab on Saturday October 12, 2024 @08:03AM (#41818489)
Abaqus for example is by core, I am severly limited, for me this makes totally sense.
Re:AMD's Turin: 5th Gen EPYC Launched by puzzlingcaptcha on Saturday October 12, 2024 @07:46AM (#41818419)
Windows server licensing starts at 16 cores
Re:AMD's Turin: 5th Gen EPYC Launched by bob1029 on Saturday October 12, 2024 @08:19AM (#41818557)
Another good example is any kind of discrete event simulation. Things like spiking neural networks are inherently single threaded if you are simulating them accurately (I.e., serialized through the pending spike queue). Being able to keep all the state in local cache and picking the fastest core to do the job is the best possible arrangement. The ability to run 16 in parallel simply reduces the search space by the same factor. Worrying about inter CCD latency isn't a thing for these kinds of problems. The amount of bandwidth between cores is minimal, even if we were doing something like a genetic algorithm with periodic crossover between physical cores.
Re:AMD's Turin: 5th Gen EPYC Launched by Jestzer on Saturday October 12, 2024 @08:40AM (#41818641)
MATLAB Parallel Server also does per-core licensing.

https://www.mathworks.com/products/matlab-parallel-server/li....

Re:AMD's Turin: 5th Gen EPYC Launched by forinti on Saturday October 12, 2024 @08:46AM (#41818668)
You can pin which cores you will use and so stay within your contract with Oracle.
Re:AMD's Turin: 5th Gen EPYC Launched by heraldgeezer on Saturday October 12, 2024 @09:54AM (#41819096)
Windows server and MSSQL is per core now. A lot of enterprise software is. They are switching to core because before they had it based on CPU sockets. Not just Oracle.
Re:AMD's Turin: 5th Gen EPYC Launched by bee_rider on Saturday October 12, 2024 @11:27AM (#41819795)
512 MB of cache, wow.

A couple years ago I noticed that some Xeons I was using had a much cache as the ram in the systems I had growing up (millennial, so, we’re not talking about ancient commodores or whatever; real usable computers that could play Quake and everything).

But 512MB? That’s roomy. Could Puppy Linux just be held entirely in L3 cache?

Re:AMD's Turin: 5th Gen EPYC Launched by hedora on Saturday October 12, 2024 @11:33AM (#41819831)
I wonder if you can boot it without populating any DRAM sockets.
Re:AMD's Turin: 5th Gen EPYC Launched by bee_rider on Saturday October 12, 2024 @11:50AM (#41819986)
I would be pretty curious about such a system. Or, maybe more practically, it might be interesting to have a system pretends the L3 cache is ram, and the ram is the hard drive (in particular, ram could disguise itself as the swap partition, to so the OS would treat is as basically a chunk of ram that it would rather not use).
Re:AMD's Turin: 5th Gen EPYC Launched by compressedgas on Saturday October 12, 2024 @12:01PM (#41820077)
Philip Machanick's RAMpage! (ca. 2000)

> The RAMpage memory hierarchy is an alternative to a conventional cache-based hierarchy, in which the lowest-level cache is managed as a paged memory, and DRAM becomes a paging device.

Re:AMD's Turin: 5th Gen EPYC Launched by afr0ck on Saturday October 12, 2024 @06:30PM (#41823284)
So, essentially, you're just doing cache eviction in software. That's obviously a lot of overhead, but at least it gives you eviction control. However, there is very little to do when it comes to cache eviction. The algorithms are all well known and there is little innovation in that space. So baking that into the hardware is always better, for now.
Re:AMD's Turin: 5th Gen EPYC Launched by edward28 on Saturday October 12, 2024 @06:56PM (#41823455)
Intel has such a CPU with the previous gen called the xeon AMX with up to 64gb of HBM on chip. It could use it a cache or just memory.
Re:AMD's Turin: 5th Gen EPYC Launched by lewurm on Saturday October 12, 2024 @01:50PM (#41820973)
Firmware is using cache as RAM (e.g. https://www.coreboot.org/images/6/6c/LBCar.pdf) to do early init, like DRAM training. I guess later things in the boot chain rely on DRAM being set up probably though.
Re:AMD's Turin: 5th Gen EPYC Launched by dmitrygr on Monday October 14, 2024 @03:06PM (#41840773)
That would require either rewriting drivers to never use DMA or making sure that all DMA controllers are able to write into and read from L3 directly.
Re:AMD's Turin: 5th Gen EPYC Launched by zamadatix on Saturday October 12, 2024 @02:25PM (#41821245)
CCDs can't access each other's L3 cache as their own (fabric penalty is too high to do that directly). Assuming it's anything like the 9174F that means it's really 8 groups of 2 cores that each have 64 MB of L3 cache. Still enormous, and you can still access data over the infinity fabric with penalties, but not quite a block of 512 MB of cache on a single 16 core block that it might sound like at first.

Zen 4 also had 96 MB per CCD variants like the 9184X, so 768 MB per, and they are dual socket so you can end up with a 1.5 GB of total L3 cache single machine! The downside being now beyond CCD<->CCD latencies you have socket<->socket latencies.

Re:AMD's Turin: 5th Gen EPYC Launched by edward28 on Saturday October 12, 2024 @06:54PM (#41823438)
It's actually 16 CCDs with a single core and 32MB each.
Re:AMD's Turin: 5th Gen EPYC Launched by bee_rider on Saturday October 12, 2024 @10:52PM (#41824794)
Hmm. Ok, instead of treating the cache as ram, we will have to treat each CCD as a node, and treat the chip as a cluster. It will be hard, but you can fit quite a bit in 64MB.
Re:AMD's Turin: 5th Gen EPYC Launched by nullc on Sunday October 13, 2024 @01:29PM (#41829805)
9684x is 1152 MB cache per socket, 12 CCDs * 96MB. A similar X series zen5 is planned.

Though I wish they did some chips with 128GB of high bandwidth dram instead of a extra sized sram caches.

Re:AMD's Turin: 5th Gen EPYC Launched by Aurornis on Saturday October 12, 2024 @03:20PM (#41821664)
Many algorithms are limited by memory bandwidth. On my 16-core workstation I’ve run several workloads that have peak performance with less than 16 threads.

It’s common practice to test algorithms with different numbers of threads and then use the optimal number of threads. For memory-intensive algorithms the peak performance frequently comes in at a relatively small number of cores.

Re:AMD's Turin: 5th Gen EPYC Launched by CraigJPerry on Saturday October 12, 2024 @04:09PM (#41822093)
Is this because of NUMA or is it L2 cache or something entirely different?

I worked on high perf around 10 years ago and at that point I would pin the OS and interrupt handling to a specific core so I’d always lose one core. Testing led me to disable hyperthreading in our particular use case, so that was “cores” (really threads) halfed.

A colleague had a nifty trick built on top of solarflare zero copy but at that time it required fairly intrusive kernel changes, which never totally sat well with me, but again I’d lose a 2nd core to some bookkeeping code that orchestrated that.

I’d then tasksel the app to the other cores.

NUMA was a thing by then so it really wasn’t straightforward to eek maximum performance. It became somewhat of a competition to see who could get highest throughout but usually those configurations were unusable due to unacceptable p99 latencies.

Re:AMD's Turin: 5th Gen EPYC Launched by afr0ck on Saturday October 12, 2024 @06:32PM (#41823304)
NUMA gives you more bandwidth at the expense of higher latency (if not managed properly).
Re:AMD's Turin: 5th Gen EPYC Launched by yusyusyus on Saturday October 12, 2024 @03:55PM (#41821965)
new vmware licensing is per-core.
Re:AMD's Turin: 5th Gen EPYC Launched by elil17 on Monday October 14, 2024 @09:59AM (#41837610)
Many computational fluid dynamics programs have per core licensing and also benefit from large amounts of cache.
Re:AMD's Turin: 5th Gen EPYC Launched by aecmadden on Monday October 14, 2024 @01:25PM (#41839683)
This optimises for a key vmware license mechanism "Per core licensing with a minimum of 16 cores licensed per CPU.".