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 - Friday, October 2, 2009 - link

    Go ask the administrator to check my IP and they can verify that my IP comes from a SE Asia country. Are you accusing me of lying for claiming that I come from a nirvana where 5870 GPU is plentiful?

    Is that all you can do?

    Fact - 5870 is not paper launch. You cannot even deny this.

    Ah, BTW, English in SE Asia is the same as the ones used in America and Europe.
  • Totally - Friday, October 2, 2009 - link

    Seriously, what are you on? It has to be some good stuff. I want some.

    I like how you go on and on spouting nonsense about how GT300 has 50% more theoretical bandwith, but without clock speeds there is no way to gauge how much of it will be saturated. In plain speak: Without hard numbers BANDWIDTH ALONE MEANS NOTHING. Sure nvidia has tons of road but we have no idea what they are going to drive on it.

    About the 5870 being a paper launch, my best friend had his since the 30th. Day the 5850 launched, took a look over at newegg at 7 in the evening they where there available to order. And still you can order/go to the store and purchase either right now!!! That's not a paper launch. Last time I checked a paper launch is when a product goes live and it's unavailable for over a month.
  • lyeoh - Friday, October 2, 2009 - link

    Doesn't look like good stuff to me. You'd probably get brain damage or worse.

    Should be banned in most countries.
  • SiliconDoc - Wednesday, September 30, 2009 - link

    When anand posts the GD bit width and transistor count, and mem, then CLAIMS bandwith is NOT DOUBLE, it is CLEAR the very simple calculation you 3rd graders don't know is AVAILABLE.
    ---
    IT'S 240 GB !
    4800x384/8 !

    duhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh

    It's not FUD, it's just you people are so ignorant it's EASY to have the wool pulled over your eyes.
  • Lightnix - Wednesday, September 30, 2009 - link

    4800mHz x 384 / 8 = 230400mB/s = 230.4GB/s

    Or 50% faster than 153GB/s - still a big gap but clearly not even nearly double.

    It's not FUD, it's just you trolls are so bad at maths you can't even use a calculator to do basic arithmetic with it's EASY to have the wool pulled over your eyes.
  • SiliconDoc - Wednesday, September 30, 2009 - link

    The author claimed not double the former GT200, sir.
    In the 5870 review just the other day, the 5870 had a disappointing 153+ bandwith, vs the 115 of the 4780 or 124 of the 4890.
    --
    So you can see with the 5870 it went up by not much.
    --
    In this review, the former GT200 referred to has a 112, 127, 141, or 159 bandwith, as compared to the MYSTERY # 240 for the GT300.
    So the author claims in back reference to the ati card the nvidia card "also fails" to double it's predecesor.
    --
    I have a problem with that - since this new GT300 is gonig to be 240 bandwith, nearly 100 GB/sec more than the card the author holds up higher and gioves a massive break to, the one not being reviewed, the ati 5870.
    --
    It's bias, period. The author could fairly have mentioned how it will be far ahead of it's competition, and be much higher, as it's predecessor nvidia card was also much higher.
    Instead, we get the cryptic BS that winds up praising ati instead of pointing out the massive LEAD this new GT300 will have in the bandiwth area.
    I hope you can understand, but if you cannot, it's no wonder the author does such a thing, as it appears he can snowball plenty with it.
  • UNCjigga - Thursday, October 1, 2009 - link

    STFU you stupid moron. There's no "bias". The 5870 has a full, in-depth, separate review with full benchmarks. The author didn't do direct comparisons because THERE IS NO CARD TO COMPARE IT WITH TODAY. FERMI ONLY EXISTS ON PAPER--the mere existence of engineering samples doesn't help this review. The author even indicated he wished he had more info to share but that's all Nvidia allowed. How about we wait until a GT300 ships before we start making final judgements, ok?
  • SiliconDoc - Thursday, October 1, 2009 - link

    Good job ignoramus.

    http://www.fudzilla.com/content/view/15762/1">http://www.fudzilla.com/content/view/15762/1

    Oh, look at that, you're 100% INCORRECT.

    Another loser idiot with insults and NOTHING ELSE but the sheepled parrot mind that was slammed into stupidity by the author of this piece.

    Great job doofu.
  • ufon68 - Thursday, October 1, 2009 - link

    Wow, you must be the biggest fanboy i've ever seen. It would be funny if it wasn't so sad you're vasting so much energy on such insignificant issue and everyone around here just thought to themselves..."what a total failure".

    But hey, on the bright-side, you made me jump off that fence and register, so you might not be as useless as you seem.
  • monomer - Thursday, October 1, 2009 - link

    Wow, your proof that Fermi exists is a photo of Huang holding up a mock-up of what the new card is going to look like?

    If that was a real card, and engineering samples existed, why isn't it actually in a PCI-e slot running something? Why were no functioning Fermi cards actually shown at the conference? Why was the ray-tracing demo performed on a GT200?

    Finally, why did Huang say that cards will be ready in "a few short months", if they are actually ready now?

    You need to calm down a little. You also need to work on your reading skills and to stop making up controversies where none exist.

    Yes, Anand pointed out that the memory bandwidth did not double, but in the very same sentence, he mentions that it did not double for the 5870 either.


Log in

Don't have an account? Sign up now