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
siyabongazulu - Friday, October 2, 2009 - link
rennyathe one I was going to buy on the 24 was from ncix.com but shipping and handling was gonna be a bit too much. The fact that they had the cards on the launch date, 23 goes to show how a big liar silicondoc is. Plus his link on fudzilla, just like I said before, betrays him since it does not say that the model being shown is a working model. I can say I'm making a remote that can trump all other remotes on performance levels and will be the next big thing for gadget lovers. But if I come up with a supposed model and just flash it around, it doesnt mean that it's a working model unless I can prove that it is by using it. So until Nvidia shows the card at work and gives us numbers based on such task then we can talk about it. Hey don't forget that we also go for bang for buck, reason why I got the 5870. I have a feeling that when GT300 does launch, it will be big but also would like to see how ATI responds to that.
siyabongazulu - Friday, October 2, 2009 - link
rennyaI think we all get it. This guy is mentally ill. So I posted those links to refute his argument and he hasn't touched any. He knows he's lying and that his fudzilla link betrays him. So he'll keep on ranting. silicondoc has to remember this, all big companies that have a working model of an upcoming product do a demo and show the figures and they don't just give you paper work (which is what Nvidia is doing right now.) And it doesn't take a genius to see that GT300 w/e they wanna call it is not even close to be released unless you would want to call many sources such as tgdaily, the inquirer (http://www.theinquirer.net/inquirer/news/1052025/g...">http://www.theinquirer.net/inquirer/news/1052025/g... and ofcourse anand big liers then go ahead silicondoc..So until it comes out ( be it Nov, Mid Oct or Jan) then we can come back and talk performance. Have fun silicondoc and when GT300 performance trumps HD5870 then I'll sell 5870 for Gt300 card but don't forget we also need to see how much power that monster will be drawing. I call it monster because so far the on "paper" performance puts it that way
siyabongazulu - Friday, October 2, 2009 - link
by the way sorry I forgot to pass you the link where I got mine.. here you go http://www.canadacomputers.com/index.php?do=ShowPr...">http://www.canadacomputers.com/index.ph...=pd&... and here is another site they have had them in stock since the 23rd of sept just like predicted. Man you are full of shit..was gonna buy mine from there but decided to save the money on shipping and boom 3 days later it was in a store right next door.wwohoo..I just said bye bye to my nvidia card and if you wanna know it was yes you guessed it GTX 285 and glad I got almost full value for that!!siyabongazulu - Friday, October 2, 2009 - link
Here SD..And that's where I got mine you dumb prick.. now stop fussin and if you ask when I got it, well so just you know it was on the 29th you idiot and that is simply because I'm in Canada. So if Nvidia had it launched, wouldn't it be somewhere on the web now. by the way here is an article that refutes your claim that Radeon HD 5870 was a fud (http://www.engadget.com/2009/09/24/4-000-alienware...">http://www.engadget.com/2009/09/24/4-00...-benchma... Dell had it already. Here is another (http://www.engadget.com/2009/09/23/maingear-cyberp...">http://www.engadget.com/2009/09/23/main...-desktop.... And all of those pc makers had the cards prior to launch date. So I don't know how you can argue that. So if you Nvidia was to have its card as you claim by using fudzilla pictures, then please provide us with a link that shows any manufacture that is already selling a pc with your GT300 and here is another link that shows how dumb you are http://www.engadget.com/2009/09/23/ati-radeon-hd-5...">http://www.engadget.com/2009/09/23/ati-...o-the-sc... hope that helpsTA152H - Wednesday, September 30, 2009 - link
I agree, it shows sooooo much intelligence and class to curse! It's so creative! It's so wonderful! It's a real shame we don't have more foul mouths in positions of power, because it's just so entertaining!Yay!
yacoub - Wednesday, September 30, 2009 - link
I'm with you. Oh wait, don't forget the bold to make sure no one misses it!TA152H - Thursday, October 1, 2009 - link
Admin: You've overstayed your welcome, goodbye.I am beginning to think this site is lost. One thing I always liked about Anand was his tone was never harsh, even if I didn't agree with the content.
Now he's cursing. Yes, and as you said, in bold. Ugggh.
This and their idiotic pictorials of motherboards, then the clear bias towards Lynnfield. Again, I'm not complaining they liked it, so much as the way they lied about the numbers, and it took a lot of complaints to show the Bloomfied was faster. They were trying to hide that.
Their unscientific testing is also gotten to the point of absurdity.
I like their web page layout, but it's getting to the point where this site is become much less useful for information.
It's easy to get to the point where you do what people say they want. Yes, the jerks like to see curses, and think it's cool. I'm sure they got page reads from the idiotic pictorials of motherboards. Most of the people here did want to be lied to about Lynnfield, since it was something more people could afford compared to Bloomfield. It's tempting, but, ultimately, it's a mistake.
I'd like to see them do something that requires intelligence, and a bit more daring. Pit one writer (not Gary, he's too easy to beat) against another. Have, point and counterpoint articles. Let's say Anand is pro-Lynnfield, or pro-ATI card, or whatever. Then they use Jarrod to argue the points against it, or for the other card. Now, maybe Anand isn't so pro this item, or Jarrod isn't against it. Nonetheless, each could argue (anyone can argue and make points, because nothing in this world is absolutely good or bad, except for maybe pizza), and in doing so bring up the complexity of parts, rather than making people post about the mistakes they make and then have them show the complexity.
You think Anand would have put up those overblown remarks in his initial article on Lynnfield if he knew Jarrod would jump on him for it? I'd be more careful if I were writing it, so would he. I think the back and forth would be fun for them, and at the same time, would make them think and bring out things their articles never even approach.
It's better than us having to post about their inaccuracies and flaws in testing. It would be more entertaining too. And, people can argue, without disliking each other. Argument is healthy, and is a sign of active minds. Blind obedience is best relegated to dogs, or women :P. OK, I'm glad my other half doesn't read these things, or I'd get slapped.
ClownPuncher - Thursday, October 1, 2009 - link
Don't let the door hit you in the ego on the way out.the zorro - Wednesday, September 30, 2009 - link
this is a catastrophe.really, nvidia is finished.
this means four or five months of amd ruling.
seriously nvidia has nothing, nothing,zero, nada,
kaput nvidia is over.
Lifted - Wednesday, September 30, 2009 - link
Huh? Is that really all the troll you could muster for this article? SiliconDoc has you beat by a mile.