G80

Hi,
G80 has 16 multiprocessors and each multiprocessor has 8 cores and each cores has 16 hardware threads. So 8 half warps can be run at the same time. Is it?

Yixun

“At the same time” is a vague definition!
Every clock tick, every multiprocessor advances the state of one half-warp.
So perhaps the answer is “16 half warps executed at the same time.”

But one part of vagueness comes from the fact that warp executions are interleaved… on G80, you can have 24 warps all running interleaved on one multiprocessor, so your answer would be “768 half warps are all running at the same time.”

And that’s not even talking about the fact that there’s a multistage compute pipeline, that’s pretty much abstracted away.

why is 16? You mean only one half warp is running on one multiprocessor each clock tick?
If each multiprocessor has 8 cores and each cores has 16 hardware threads. 8 half warps should run at each clock tick. Is it?

i suggest you read the paper “NVIDIA Tesla:…” by Erick Lindholm et al.

Each multiprocessor has eight processing units. Those are scalar cores, though, not sixteen-way SIMD like you seem to think. I’d definitely read Lindholm’s paper, but if you can’t find it, hopefully this can shed some light.

I get it.
Thanks!