News for hackers. Stuff that matters.
Re:AMD's 128-core Epycs could spell trouble for Ampere Compu... by awill on Saturday June 24, 2023 @09:16PM (#36464299)
It's not like there's that much magic to it. Ampere is just using off-the-shelf Arm-designed cores. Altra was an Arm Neoverse N1.

Presumably Altra-Next will just use Neoverse N2 (or N3).

Re:AMD's 128-core Epycs could spell trouble for Ampere Compu... by cjbprime on Saturday June 24, 2023 @09:49PM (#36464459)
I think I read that AmpereOne isn't Neoverse.
Re:AMD's 128-core Epycs could spell trouble for Ampere Compu... by rgbrenner on Saturday June 24, 2023 @10:06PM (#36464539)
No, they’re using their own designs for AmpereOne, and all chips going forward.
Re:AMD's 128-core Epycs could spell trouble for Ampere Compu... by awill on Saturday June 24, 2023 @11:19PM (#36464874)
Interesting. They they'd better be much faster than an off-the-shelf Arm core. That takes some serious investment. Qualcomm tried it, and eventually gave up. Isn't the only company outdoing Arm Apple?
Re:AMD's 128-core Epycs could spell trouble for Ampere Compu... by senttoschool on Saturday June 24, 2023 @11:31PM (#36464922)
Nuvia should outdo ARM - if the lawsuit preventing Qualcomm from using Nuvia cores fail.

I do expect Ampere to succeed in outperforming stock ARM core designs. Otherwise, there'd be no reason to have embarked on a very risky and expensive journey to have their own custom cores.

Re:AMD's 128-core Epycs could spell trouble for Ampere Compu... by jacquesm on Sunday June 25, 2023 @06:08AM (#36466588)
That's circular reasoning. They may simply not succeed because their risky and expensive journey didn't work out. They can't retro-actively redo their reasoning.
Re:AMD's 128-core Epycs could spell trouble for Ampere Compu... by awill on Sunday June 25, 2023 @10:50AM (#36468754)
Exactly.

They're doing it because they THINK they can outdo Arm.

Arm isn't standing still, and they would have had to start years ago.

Re:AMD's 128-core Epycs could spell trouble for Ampere Compu... by bee_rider on Saturday June 24, 2023 @11:45PM (#36464975)
Maybe they started with N2 as a baseline and improved from there. If if their 3 year old chips were performance/power competitive with the new AMD ones, then even if they only tweaked N2 a little bit they would seem to have a likely winner?
Re:AMD's 128-core Epycs could spell trouble for Ampere Compu... by 411111111111111 on Sunday June 25, 2023 @12:34AM (#36465162)
Weren't the tensor chips in the pixel phones based on arm too?

And in the Datacenter you've also got google and Amazon making their own arm based chips, not sure if MS does the same.

However, Apples M1 Chip had the biggest impact to consumers I think. The tensor chips aren't particularly better and we just don't have any interactions with hardware servers

Re:AMD's 128-core Epycs could spell trouble for Ampere Compu... by rgbrenner on Sunday June 25, 2023 @01:30AM (#36465351)
Google Cloud, Azure, and Oracle use Ampere Altra (ARM Neoverse)

AWS used Neoverse for Graviton.

Google Cloud is designing their own ARM chips: they're working on one design from Marvell (likely Neoverse), and their own custom design. These are in the design phase, and very unlikely to be produced this year.

Re: Google Tensor chips on phones: Those used ARM Cortex CPU and ARM Mali GPU, and a Google designed Tensor processing unit for machine learning. The google TPU replaces chips like Qualcomm Hexagon. The TPU does not use an ARM instruction set.

Re:AMD's 128-core Epycs could spell trouble for Ampere Compu... by KingOfCoders on Sunday June 25, 2023 @12:45AM (#36465201)
Apple does it mostly with the best fab tech (3nm next [0]), one generation ahead of everyone else, and with lots of cache (expensive, but they have the margins by being expensive and being vertically integrated), more than everyone else.

Apple doesn't do it with ARM design in this sense.

[0] https://www.macrumors.com/2023/02/22/apple-secures-tsmc-3nm-...

Re:AMD's 128-core Epycs could spell trouble for Ampere Compu... by pzo on Sunday June 25, 2023 @05:50AM (#36466486)
Current a15 is still in 5nm but outperforms latest snapdragon that’s on 4nm - those fastest android arm chips matching iPhone chips from 2 generations behind last time when checked Geekbench
Re:AMD's 128-core Epycs could spell trouble for Ampere Compu... by p_l on Sunday June 25, 2023 @08:52AM (#36467695)
The part where Apple can (or is courageous enough) to plop large caches and other otherwise "trivial but expensive" performance enhancements is the critical point. The vertical integration also means that they get to design the parameters of the planned device instead of how Qualcomm or Samsung end up making compromises for market share
Re:AMD's 128-core Epycs could spell trouble for Ampere Compu... by KingOfCoders on Sunday June 25, 2023 @12:05PM (#36469674)
Difficult to get information, seems like the A15 has 2x 3.2 ghz cores whereas the S8G2 has 1x 3.2 hgz core. Searched a little bit on Google but could not come up with detailed - only fragmented - information on L1/L2/L3 caches for the A15 and S2G2.

But I thought we were talking Server/Desktop chips, not phone chips (I have no clue about them, my MI11Ultra seems fast enough for everything, I'm not compiling on it).

And the M2 has massive caches (L1/L2/L3) https://en.wikipedia.org/wiki/Apple_M2

How much performance you get with caches are shown with the X3D models that - gaming performance - are faster than all than more expensive Intel/AMD chips.

            M2 Max   Ryzen 7900     
     Cores  12       12
     L1     320kb    64kb
     L2     32MB     12MB
     Last   48MB     64MB (32MB/chiplet)
Re:AMD's 128-core Epycs could spell trouble for Ampere Compu... by StillBored on Sunday June 25, 2023 @01:23AM (#36465329)
Right, its easy to name a half dozen companies that designed their own cores that turned out to be worse or no better than the arm offerings.

The real hubris at these companies is thinking they can build a team that can create a better chip in one generation. Apple is on what the 10th public generation of their own cores, from a team they acqihired that was already producing cpus? How many generations/respins did it take before they replaced the ARM ip with their own designs, and then how many generations was it before they were faster? Not only that but Arm seems to have gotten serious a few years ago and the IPC is within striking distance of the best amd/intel products. They are no longer doing obviously stupid things, so it seems odd a company like ampere doesn't have another respun Altra with a N2/V2 sitting on the sidelines as a fallback when their own design fails.

Re:AMD's 128-core Epycs could spell trouble for Ampere Compu... by celrod on Sunday June 25, 2023 @01:39AM (#36465384)
The ARM cortex x4 will have 10-wide dispatch: https://www.anandtech.com/show/18871/arm-unveils-armv92-mobi... It'll probably be roughly the same chip as one of their upcoming V chips.

The specs there sound seriously impressive to me, and like they might be getting ready to leave AMD and Intel behind in terms of IPC (for their highest performing chips).

ARM's clock speeds are much lower, so single core performance will probably be worse. But I'd guess server clock speeds may be similar.

Re:AMD's 128-core Epycs could spell trouble for Ampere Compu... by _a_a_a_ on Sunday June 25, 2023 @12:41PM (#36470073)
Having an N-wide dispatcher means nothing unless the software can use it, and server clock speeds tend to be lower than desktops.

Disclaimer: I don't know what I'm talking about

Re:AMD's 128-core Epycs could spell trouble for Ampere Compu... by celrod on Sunday June 25, 2023 @04:32PM (#36472311)
Given that the M1 and M2 perform similarly to AMD and Intel CPUs with far higher clock speeds, it seems most software can use wider dispatch.

Note that dispatch doesn't mean vector width, which is harder for software to take advantage of. It means how many uops the pipeline can handle/clock cycle.

Re:AMD's 128-core Epycs could spell trouble for Ampere Compu... by _a_a_a_ on Sunday June 25, 2023 @05:51PM (#36472990)
A basic block is usually taken to be about 6 instructions. I suppose if you take one or two speculated branches as well then you might easily get to your 10 dispatches possible. Perhaps.

As for higher clock speeds, there's a whole lot more that matters such as pipelining instructions, cache sizes, and any number of other things. Clock speed by itself isn't particularly revealing.

Re:AMD's 128-core Epycs could spell trouble for Ampere Compu... by celrod on Monday June 26, 2023 @03:31AM (#36476779)
FWIW, IIRC my Skylake-X CPU normally has around 2 instructions per clock when I run perf. It has a pipeline width of 4 uops internally. So it's falling far short of a typical basic block/clock cycle.

I would also not expect the X4 to utilize that full width in any real workload, but it only needs a fraction of its full width to get more IPC than the X64 competition.

But I'd expect it is a reasonably balanced chip (why waste silicon?), and thus the wide pipeline is an indicator of the chip itself being wide with immense out of order capability.

Branch prediction rates tend to be extremely high. The X4's frontend also has 10 frontend pipeline stages. Which means ideally, it'd be correctly predicting all branches at least 10 cycles into the future, so that on clock cycle `N-10`, the frontend can get started on the correct instructions that'll be needed on clock cycle `N`. The difference between 1 basic block/cycle and >1 basic block/cycle is really small; it already needs a long history of successful predictions to get 1. But of course, each mispredict is extremely costly.

As for bringing up clock speeds and the M1, my point there was that the M1 has already left Intel and AMD behind in terms of IPC; it achieves similar performance despite much lower clock speeds. My original comment said that the ARM Cortex X4 looks like it is starting to leave Intel and AMD behind in terms of IPC, and I used the width as an indicator. You responded saying that the software has to actually allow for this. Yet the M1 example shows that existing software does in fact allow for significantly more out of order execution than Intel and AMD CPUs achieve.

So you could argue that, unlike the M1, the Cortex X4 will not be able to realize such an advantage. While plausible, if it does fail to do so, we at least won't be able to blame the software, because the M1 is able to do so despite the software. It'd have to be some deficiency of the X4 relative to the M1 -- such as cache sizes, memory bandwidth... Hopefully it does turn out to be a great chip! But that remains to be seen.

Re:AMD's 128-core Epycs could spell trouble for Ampere Compu... by _a_a_a_ on Monday June 26, 2023 @07:35AM (#36478363)
I can't imagine getting every instruction in a basic block started at every clock. There is almost certainly dependencies within the block. I talked about basic blocks because that would mean that if you want to kick-off more instructions than in the block, you'd have to speculate about the branch taken. And I am sure can start executing instructions down are speculated jump, only I don't know how far. I also don't know if you can speculate past a write to RAM. I'd like to know.

> Yet the M1 example shows that existing software does in fact allow for significantly more out of order execution than Intel and AMD CPUs achieve

My point is, shortening the pipeline needed to execute an instruction would also get higher performance. Perhaps they invented a better cache, perhaps larger, perhaps more associative, perhaps…? There's more than one way of increasing performance besides IPC and clock.

Re:AMD's 128-core Epycs could spell trouble for Ampere Compu... by celrod on Monday June 26, 2023 @12:07PM (#36481618)
I'd say the ways to increase performance are 1. decrease the number of instructions needed (has to be done in software, but also dependent on ISA, e.g. using AVX512 can help a lot here, so long as you don't end up executing more scalar epilogue iterations). 2. increase IPC (obviously software can help a lot here) 3. increase clocks (not much software can do here; wider instructions are generally worth it, so if choosing between "1." and "3." in software, it's generally better to favor "1." (especially on more recent CPUs that don't have downclocking problems).

Design of the CPU can also influence all three of these. Things like better cache, better branch predictors and shorter pipelines, will all help IPC.

> My point is, shortening the pipeline needed to execute an instruction would also get higher performance.

This wouldn't increase throughput if 100% of branches are predicted correctly -- except for the the extra cycles before instructions start executing. It'd decrease branch mispredict penalties though, which is a big deal and would help in practice. The Cortex X4 did shave off a frontend pipeline stage relative to the Cortex X3 (11 -> 10). This is better than Intel Alder Lake. One contributor is probably that it is easier to decode ARM instructions in parallel without needing mutliple pipeline stages (e.g., one to find out where variable width instructions end before the instruction byte stream can be sent to decoders [not an issue if instructions are already in the uop cache]).

> There's more than one way of increasing performance besides IPC and clock.

I assume by "IPC" here you mean dispatch width? Things like a better cache for fewer misses, better prefetching, better branch prediction, larger reorder buffers so that it can speculate further ahead before stalling, all help IPC.

Zen1 CPUs (6 uops) were already wider than Intel Skylake (4 uops) and Ice/Tiger lake (5 uops), matching Alder Lake (6 uops). But they were obviously far behind in IPC (and Zen1 in particular also decoded AVX2 instructions into 2 uops).

Zen1 has SMT, which was part of the reason to go wide early on: the frontend wasn't good enough to feed that width with a single thread, but using two threads could mitigate that. Early on, Zen1 (and the Zen family) generally did better in multithreaded than single threaded benchmarks thanks to that approach.

The ARM Cortex X4 doesn't have SMT, so it's taking a different approach to performance.

A single number isn't going to be representative of performance across benchmarks or all the tasks you're interested in.

Unfortunately, I think it'll be more than a year before we can see the Cortex X4 (as it's aiming at TSMC N3E), but I'm definitely looking forward to deep dives into it's performance (and also that of Intel's Meteor Lake, Zen5, etc).

Re:AMD's 128-core Epycs could spell trouble for Ampere Compu... by wmf on Sunday June 25, 2023 @11:45AM (#36469427)
Ampere is on their fourth generation custom core but none of the earlier X-Gene cores were any good so I don't know if they're learning from their mistakes.
Re:AMD's 128-core Epycs could spell trouble for Ampere Compu... by tracker1 on Monday June 26, 2023 @01:23PM (#36482824)
Even then... in what ways are they actually faster, it seems that a lot of the custom (non-arm) custom processing units are what gives them the boost in a few cases, and compared to NVidia and AMD are still a bit behind there. There are a lot of ways to approach this, and in the Apple case, where they're really winning is the power utilization in terms of performance/watt.