Remix.run Logo
nl 7 hours ago

> you find that the GPU often sits idle, not for lack of work, but because the CPU hasn't told it what to do next yet. This phenomenon is called a GPU bubble.

This is true, but I've never heard anyone refer to this as a GPU bubble before.

I think most people hear "GPU bubble" and think of a financial bubble of some kind.

SCdF 7 hours ago | parent | next [-]

It appears to be a real term? https://docs.vulkan.org/tutorial/latest/Synchronization/Asyn...

Very odd, but perhaps more familiar to graphics programmers? I will say I'd probably call it a stall, which is exactly what the Vulkan docs call it moments later, so :shrug:

kibibu 7 hours ago | parent | next [-]

"bubble" used to be used a lot more when talking about very deep pipelines, eg Pentium 4 depth.

tux3 5 hours ago | parent [-]

Or in the case of my poor Verilog, even very short pipelines :(

alfiedotwtf 4 hours ago | parent [-]

And before that, graphics programmers called it vertical retrace :upsidedown:

7 hours ago | parent | prev [-]
[deleted]
spaqin 5 hours ago | parent | prev | next [-]

Pretty sure that would be "[GPU performance] bottlenecked [by the CPU]" in most common terms.

_zoltan_ 6 hours ago | parent | prev | next [-]

while the title is misreading, when reading GPU profiling data, we do call these bubbles - where the GPU _could_ do something, but it's idle.

any time your GPU is idle = you are losing $$$ = your TCO is going up. you don't want that.

cma 7 hours ago | parent | prev | next [-]

It's very common to call it a GPU bubble in gamedev, though not strictly for CPU induced bubbles.

vkazanov 7 hours ago | parent | prev | next [-]

I saw it in literature on cpu pipelines in quotes, never without.

IshKebab 6 hours ago | parent [-]

I've never seen it in quotes, but yeah it is a very common term in pipelined CPUs.

Eisenstein 2 hours ago | parent | prev | next [-]

I thought it was normal for the AI field to confuse people by repurposing other terms of art? To: "transformer", "lora", "diffusion", "hallucination", etc, we can now add "bubble".

nnevatie 7 hours ago | parent | prev | next [-]

Yes, the title seems off - I also thought I am going to be reading about the AI/pricing bubble.

rusk 7 hours ago | parent | prev [-]

The term I would use would be “underutilised”

barries11 7 hours ago | parent [-]

"stall" is the best term I can think of as in "pipeline stall".

Better term, anyone?

_zoltan_ 6 hours ago | parent | next [-]

it's not stalled, as that would imply that it waits for something, which is not necessarily the case with bubbles. most often it shows lack of proper pipelining or wrong pipeline dependencies (pipeline A waits for pipeline B, pipeline C waits for pipeline B, while pipeline B waits for an event X, now you've just made all three pipelines stalled on event X - not good).

rusk 6 hours ago | parent | prev [-]

When an engine stalls, the implication is that the chain reaction that drives it is failing - I don’t think that is the case with a GPU as it will quite happily sit there drawing watts til you give it things. In systems nomenclature the inverse term for bubble is utilisation. This or that link is or node is using x% of its capacity. Indeed, if you monitor your GPU with nvidia-smi you will see that very term in the instrumentation.