Live data from Hacker News

GPU advancements in M3 and A17 Pro [video]

developer.apple.com

121–130 of 148 posts

Re: GPU advancements in M3 and A17 Pro [video]

#121
post #78

Earlier quoted context omitted.

Missing the games on XBox and Cloud offerings? Also many developers support even more than 2, as you are fogetting Playstation and Switch, both of which with their own APIs, 2 for Playstayon (GNM and GNMX), 3 for Switch (NVN, Vulkan and OpenGL).

There are 480k games on iOS. Yes, most of them are bad. But it's a fact that there are more games running on Metal than DirectX. >Also many developers support even more than 2, as you are fogetting Playstation and Switch, both of which with their own APIs, 2 for Playstayon (GNM and GNMX), 3 for Switch (NVN, Vulkan and OpenGL). I didn't imply that developers only support 2.

It’s pretty weird to count the number of games. Wouldn’t it be better to count the number of players? Many of those games will have close to zero players.

Re: GPU advancements in M3 and A17 Pro [video]

#122

Earlier quoted context omitted.

There are 480k games on iOS. Yes, most of them are bad. But it's a fact that there are more games running on Metal than DirectX. >Also many developers support even more than 2, as you are fogetting Playstation and Switch, both of which with their own APIs, 2 for Playstayon (GNM and GNMX), 3 for Switch (NVN, Vulkan and OpenGL). I didn't imply that developers only support 2.

It’s pretty weird to count the number of games. Wouldn’t it be better to count the number of players? Many of those games will have close to zero players.

Mobile gamers dwarf the number of console and PC gamers.

Re: GPU advancements in M3 and A17 Pro [video]

#124
post #9

It’s amazing how bad the competition is. The A17 pro has 2 performance cores and 4 efficiency cores. The Google G3 has 9 cores of 3 different types, the fastest being slower than Apple’s performance cores, the most efficient being less efficient than apple’s efficiency cores. And it’s a phone so you don’t take advantage of the extra parallelism. You just get the worst of both worlds. no wonder these android phones ha…

I don't know about your facts, but "Is it that hard to just copy the winning formula?" yes it is, thanks to IP law. And back in the day Steve Jobs already wanted thermonuclear war on Samsung, because he felt their flagship at the time was too close to the IPhone.

To be fair, there was a moment when Samsung was in full copy mode. All the way down to having their own version of the dock connector and a retail box that closely mimicked Apple. In retrospect, a bit embarrassing for a company we know is capable of much more.

Re: GPU advancements in M3 and A17 Pro [video]

#125

Earlier quoted context omitted.

Sorta, yeah! Also, your "128 cuda cores" of Skylake variety run at higher frequencies and work off of much bigger caches, so they are faster (in serial manner)... ...until they are slower, because GPU's latency hiding mechanism (with occupancy) hides load latencies very well, while CPU just stalls the pipeline on every cache miss for ungodly amounts of time... ...until they are faster again when the shader program us…

Thank you! > ...until they are slower, because GPU's latency hiding mechanism (with occupancy) hides load latencies very well, while CPU just stalls the pipeline on every cache miss for ungodly amounts of time... Is the GPU latency hiding mechanism equivalent to SMT/Hyperthreading, but with more threads per physical core? Or is there more machinery? Also, how akin GPUs "stream multiprocessors"/cores are to CPUs ones…

As you state, GPU latency hiding is basically equivalent to hyper threading, just with more threads per core. For example, for a 'generic' modern GPU, you might have:

A "Core" (Apple's term) / "Compute Unit" (AMD) / "Streaming Multiprocessor" (Nvidia) / "Core" (CPU world). This is the basic unit that gets replicated to build smaller/larger GPUs/CPUs

* Each "Core/CU/SM" supports 32-64 waves/simdgroups/warps (amd/apple/nvidia termology), or typically 2 threads (cpu terminology for hyperthreading). ie, this is the unit that has a program counter, and is used to find other work to do when one thread is unavailable. (this blurred on later Nvidia parts with Independent Thread Scheduling.)

* The instruction set typically has a 'vector width'. 4 for SSE/NEON, 8 for AVX, or typically 32 or 64 for GPUs (but can range from 4 to 128)

* Each Core/CU/SM can execute N vector instructions per cycle (2-4 is common in both CPUs and GPUs). For example, both Apple and Nvidia GPUs have 32-wide vectors and can execute 4 vectors of FP32 FMA/cycle. So 128 FPUs total, or 256 FMAs/cycle Each of these FPUs what Nvidia calls a "Core", which is why their core counts are so high.

In short, the terminology exchange rate is 1 "Apple GPU Core" == 128 "Nvidia GPU Cores", on equivalent GPUs.

Re: GPU advancements in M3 and A17 Pro [video]

#127
post #113

Earlier quoted context omitted.

> Wonder why it is not problem with Intel Macs and if M3 fixes those bugs? Let’s guess: maybe they have different drivers? Would be far from surprising, given that they’re running on different processors.

But Apple support blames that Dell makes shitty monitors and it is not their problem :D They advised me to buy Apple Display.

To be fair Apple usually follow specs to a fault- the problem they have when tying into non-Apple ecosystems is when de facto standards others follow are widespread- they often don’t implement/test those and don’t consider it their problem when encountered…

Re: GPU advancements in M3 and A17 Pro [video]

#128

Earlier quoted context omitted.

Unfortunately, hardly. Ampere's (Nvidia 3000 series), Ada's (Nvidia 4000 series), and RNDA 3's (AMD 7000 series) GPUs have doubled up their FP32 units in ways that differ in implementation (between AMD and Nvidia) but are relatively similarly poor in their ability to be utilized properly at rates much higher than pre-doubling (Nvidia is doing better than AMD in that, but very far from great). The formal TFLOPS compar…

Those statements have to be made carefully. A lot of the time the GPU is memory-bandwidth bound, so a increase in FLOPS does nothing. Doesn't mean they're worthless.

Even if you're not memory bandwidth bound, leveraging these 2x FLOPs on recent designs is hard, often due to issues like register bank clashes.

They are low utilization, but apparently still worth it because process node changes have made more ALUs take relatively little area. So doubling the ALU count, even with low utilization is still apparently an overall benefit (ie, there wasn't something better to spend that die space on).

Re: GPU advancements in M3 and A17 Pro [video]

#129
If you're interested in more background about one user-visible problem being directly attacked by this new GPU architecture, that could be "shader compilation stutter" (although there are many others).

These are two excellent posts that go deep on this:

The Shader Permutation Problem - Part 1: How Did We Get Here?

The Shader Permutation Problem - Part 2: How Do We Fix It?

In particular, the second post has the line:

  We probably should not expect any magic workarounds for static register allocation: if a callable shader requires many registers, we can likely expect for the occupancy of the entire batch to suffer. It’s possible that GPUs could diverge from this model in the future, but that could come with all kinds of potential pitfalls (it’s not like they’re going to start spilling to a stack when executing thousands of pixel shader waves).
... And some kind of 'magic workaround for static register allocation' is pretty much what has been done.

https://therealmjp.github.io/posts/shader-permutations-part1...

https://therealmjp.github.io/posts/shader-permutations-part2...

Re: GPU advancements in M3 and A17 Pro [video]

#130
post #26

Earlier quoted context omitted.

What Apple calls a GPU core seems to be roughly the same as what Nvidia calls a “stream multiprocessor”. For example a 1080 GTX GPU has 20 stream multiprocessors (SM), each containing 128 cores, each of which supports 16 threads. Meanwhile Apple describes the M1 GPU as having 8 cores, where “each core is split into 16 Execution Units, which each contain eight Arithmetic Logic Units (ALUs). In total, the M1 GPU contai…

If the architecture is vastly different, these comparisons become sort of meaningless, though. The ultimate performance is determined by all the tiny little bottlenecks, like how quickly the architecture can move data between different types of cores, memory, cache, etc. Apple has always been really good at parallelism, which is why they get so much performance from less power consumption.

Yeah, it’s completely meaningless to compare but HN loves specs & seemingly hasn’t learned—after about 15 years of it being true—that direct spec comparisons are meaningless.

I see if with every major product announcement, the worst are usually Apple threads but it’s not constrained only there.

Post reply on HN