NVIDIA's Fermi: Architected for Tesla, 3 Billion Transistors in 2010
by Anand Lal Shimpi on September 30, 2009 12:00 AM EST- Posted in
- GPUs
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.
415 Comments
View All Comments
SiliconDoc - Thursday, October 1, 2009 - link
Plenty hard, but they GOT HER DONE, and here is the pic of herhttp://www.fudzilla.com/content/view/15762/1/">http://www.fudzilla.com/content/view/15762/1/
Yes, now about that fantasy paper anand was spewing on - yes he won't get one for two months, but AS I SAID, WE ALREADY KNOW IT BEATS the ati epic failure.
rennya - Thursday, October 1, 2009 - link
Where can I get that GPU? At least at my place I can get a 5870 GPU if I want to, but not so for this GPU.SiliconDoc - Thursday, October 1, 2009 - link
Well go get one.Now were down to the launch and paper lies in this article, were lies, as I've said. Bigger lies by the red texters. If I were Anand I'd be giggling at you fools.
rennya - Thursday, October 1, 2009 - link
Newegg link please. Or any other online retailer websites for the matter.Did I already said to stop it with the paper launch already? That only exists in your dreams you know. Or maybe America. But such thing is not true here. Just because America doesn't have enough unit it doesn't mean it is true everywhere else.
SiliconDoc - Thursday, October 1, 2009 - link
Oh, so sorry mi' lady, here is your newegg link, you'll see 2 greyted out 5850's and THAT'S IT.http://www.newegg.com/Product/ProductList.aspx?Sub...">http://www.newegg.com/Product/ProductLi...10679497...
Can't buy em. Paper, e-paper in this case, digital nothing.
--
Now if we only could send you some money, and you could trot over to your imaginary shops.... gee if only someone gave you some money, you could HAVE A PICTURE, because veryone knows handy little cameras are BANNED there, huh.
Gee, all those walks to work.. and not ten seconds to take a pic, and now it's really, too late LOL
ahhahahahahaaa
--
More of that wonderful "red rooster evidence".
ClownPuncher - Thursday, October 1, 2009 - link
I bought one, 5850 that is. They are popular, so they sell out. The same thing happened to me when the 8800GT's launched, bought 2 and they were sold out 15 minutes later.If people can buy them, it isn't a paper launch. Give it up. There were cards for sale from many etailers on launch day for the 5870 as well.
You're saying the 8800GT and 8800GTS g92 were paper launches also? They were selling out in minutes.
SiliconDoc - Friday, October 2, 2009 - link
Funny how you wait for the perfect post to claim your lie is true.You're a pure troll, nothing more, in every single post you've made here.
Of course I know you're lying.
rennya - Friday, October 2, 2009 - link
You are the one who are lying by claiming that 5870 is a paper launch, when availability at my place is pretty good. Then you claim that I do not actually come from a SE Asia country, but admins in this site can easily verify my IP and see where I come from. Accusing people of lying will not make you look good.SiliconDoc - Thursday, October 1, 2009 - link
Neither does europe, nor africa, nor SA, nor the ME, apparently the only spot is your walk to work. Congratulations, you're at ground zero. Just think how lucky you are.rennya - Friday, October 2, 2009 - link
I am not the who claims GT300 is available, you do with your fudzilla link. And that picture may only have mock-ups because nVidia doesn't have any working demo.At least Intel with its Larabee did showcase their unimpressive raytracing demo with Larabee in IDF.