A More Efficient Architecture

GPUs, like CPUs, work on streams of instructions called threads. While high end CPUs work on as many as 8 complicated threads at a time, GPUs handle many more threads in parallel.

The table below shows just how many threads each generation of NVIDIA GPU can have in flight at the same time:

  Fermi GT200 G80
Max Threads in Flight 24576 30720 12288

 

Fermi can't actually support as many threads in parallel as GT200. NVIDIA found that the majority of compute cases were bound by shared memory size, not thread count in GT200. Thus thread count went down, and shared memory size went up in Fermi.

NVIDIA groups 32 threads into a unit called a warp (taken from the looming term warp, referring to a group of parallel threads). In GT200 and G80, half of a warp was issued to an SM every clock cycle. In other words, it takes two clocks to issue a full 32 threads to a single SM.

In previous architectures, the SM dispatch logic was closely coupled to the execution hardware. If you sent threads to the SFU, the entire SM couldn't issue new instructions until those instructions were done executing. If the only execution units in use were in your SFUs, the vast majority of your SM in GT200/G80 went unused. That's terrible for efficiency.

Fermi fixes this. There are two independent dispatch units at the front end of each SM in Fermi. These units are completely decoupled from the rest of the SM. Each dispatch unit can select and issue half of a warp every clock cycle. The threads can be from different warps in order to optimize the chance of finding independent operations.

There's a full crossbar between the dispatch units and the execution hardware in the SM. Each unit can dispatch threads to any group of units within the SM (with some limitations).

The inflexibility of NVIDIA's threading architecture is that every thread in the warp must be executing the same instruction at the same time. If they are, then you get full utilization of your resources. If they aren't, then some units go idle.

A single SM can execute:

Fermi FP32 FP64 INT SFU LD/ST
Ops per clock 32 16 32 4 16

 

If you're executing FP64 instructions the entire SM can only run at 16 ops per clock. You can't dual issue FP64 and SFU operations.

The good news is that the SFU doesn't tie up the entire SM anymore. One dispatch unit can send 16 threads to the array of cores, while another can send 16 threads to the SFU. After two clocks, the dispatchers are free to send another pair of half-warps out again. As I mentioned before, in GT200/G80 the entire SM was tied up for a full 8 cycles after an SFU issue.

The flexibility is nice, or rather, the inflexibility of GT200/G80 was horrible for efficiency and Fermi fixes that.

Architecting Fermi: More Than 2x GT200 Efficiency Gets Another Boon: Parallel Kernel Support
Comments Locked

415 Comments

View All Comments

  • rennya - Thursday, October 1, 2009 - link

    Here in SE Asia, 5870 GPU is available in abundance in retail channels. If you PayPal me USD450, I can go straight to any of the computer shops I passed when I go to work, so that I can buy the card (and a casing that will fit the full length card), then I can take pictures and show it to you.

    Stop it with the claims that the 5870 launch is just a paper launch. That patently isn't true, and will only make you look stupid.
  • SiliconDoc - Thursday, October 1, 2009 - link

    I'm sure your email box is overflowing with requests, and I'm sure your walk to work will serve all the customers around the world.
    Thanks for that great bit of information for those walking to work with you in SE asia, I bet they're really happy.
    ---
    Maybe you should get a Reseller ID, and make that millionaire dream of yours come true, and soon when rooster central flaps it up again, you can prove to the world dry as a bone ain't rice paper.
    ---
    No, one cannot really fathom the insanity, and red rooster doesn't describe the thickness of skull properly at all, merely the size of it's contents.
  • rennya - Friday, October 2, 2009 - link

    Nope, my inbox is not overflowing with requests, because after all, anyone who wants a 5870 GPU, will be able to get it.

    If you cannot prove that 5870 is a paper launch, maybe you should shut up your shop?
  • Sozo - Thursday, October 1, 2009 - link

    If we are "red roosters" what does that make you? The green grizzly?
  • SiliconDoc - Thursday, October 1, 2009 - link

    Actually the first person to offer any thought on the matter suggested green goblin, which was a decent attempt, since grizzly bears aren't green, and goblins have a much better chance of being so.

    Howver, if you'd the actual nvidia equivalence of what you ati red roosters are, I'd be happy to provide some examples for you, which I have not done as of yet, and of course you're all too stupid rah-rah to even fathom that. That's pretty sad, and only confirms the problem. I'm certain you can't understand, so don't bother yourself.

    http://www.fudzilla.com/content/view/15762/1">http://www.fudzilla.com/content/view/15762/1
  • silverblue - Thursday, October 1, 2009 - link

    What sort of rooster are we talking? I mean, a Sussex rooster is almost exclusively not red. Can I be that one, please?

    Now THAT's trolling.
  • Natfly - Thursday, October 1, 2009 - link

    I'm thinking a green goober.
  • SiliconDoc - Thursday, October 1, 2009 - link

    If you even believed your own pile of fud, you'd go to page 2 I believe it is in the article and see where anand says " sorry that's all we know about the GT300 the game card, nvidia won't tell us anymore"
    What he was told is IT'S FASTER THAN 5870, and the cores have already been cut, and the cards already under test.
    So we already know, if we aren't a raging red doofus, and of course, that is very difficult for almost everyone here.
    Also, this was not an official launch date for NVidia, they never declared it as such, just Anand delcared it in his article.
    The official launch date for GT300 already spoken about multiple times by the aithors of this website is !!! > THE RELEASE DATE OF WINDOWS 7...
    Now, wether nvidia changes their official launch date before then or not, or where the authors got that former information, one can surmise, but changing their AT tune about nvidia in an article title, for a conference and a web video atttendance, in order to appease the shamed and embarrased 3rd time in a row paper launching ati, 4870,4770, 5870, is not "unbiased" nor is it honest, no matter how much you want it to be.
    If a person wants to claim it's a planned LEAK to showcase upcoming tech ( nvidia did this AFTER the GT300 gpu cores reported GOOD YIELD) - and combat fools purchasing the epic failure 5870 instead of waiting for the gold, ok.
  • siyabongazulu - Friday, October 2, 2009 - link

    WOw wow wow!! You sir must be the most ignorant, manipulative, underappreciating, bastard.. sorry for tearing your world but you deserve such credentials and a lot more that can be given to people who display your kind of behaviour.

    You have been crying bias for no reason at all. If Anand says its paper launch, and if tgdaily says its paper launch (http://www.tgdaily.com/content/view/44157/135/)">http://www.tgdaily.com/content/view/44157/135/) and fudzilla (http://www.fudzilla.com/content/view/15762/1/)">http://www.fudzilla.com/content/view/15762/1/) which seems to be your favourite source so far doesn't even speak of anything but a display model that only confirms that GT300 is under construction.

    So the only source you can come up with is yourself and you said it here and I quote "If you even believed your own pile of fud, you'd go to page 2 I believe it is in the article and see where anand says " sorry that's all we know about the GT300 the game card, nvidia won't tell us anymore"
    What he was told is IT'S FASTER THAN 5870, and the cores have already been cut, and the cards already under test. " Those are your words, not NVIDIAs, no Anand, not Fudzilla, not from any other reviwers but yours.

    Therefore, can you please STFU and stop trying to label everyone a red nosed rooster or whatever the f*** u call them.

    P.S Not everyone appreciate your level of stupidity and before you can go and say geez there goes another one, FIY I'm running my system on Nvidia card and will buy ATI and snould NVIDIA "Physically Launch" GT300 and prove it to be better then already launched and benchamrked 5870 then you can come back and start your ranting. Until then plug that sh** hole of yours
  • MonkeyPaw - Thursday, October 1, 2009 - link

    Dude, you take this way too personally. Do you have the same burning passion for real problems?

Log in

Don't have an account? Sign up now