Architecting Fermi: More Than 2x GT200

NVIDIA keeps referring to Fermi as a brand new architecture, while calling GT200 (and RV870) bigger versions of their predecessors with a few added features. Marginalizing the efforts required to build any multi-billion transistor chip is just silly, to an extent all of these GPUs have been significantly redesigned.

At a high level, Fermi doesn't look much different than a bigger GT200. NVIDIA is committed to its scalar architecture for the foreseeable future. In fact, its one op per clock per core philosophy comes from a basic desire to execute single threaded programs as quickly as possible. Remember, these are compute and graphics chips. NVIDIA sees no benefit in building a 16-wide or 5-wide core as the basis of its architectures, although we may see a bit more flexibility at the core level in the future.

Despite the similarities, large parts of the architecture have evolved. The redesign happened at low as the core level. NVIDIA used to call these SPs (Streaming Processors), now they call them CUDA Cores, I’m going to call them cores.

All of the processing done at the core level is now to IEEE spec. That’s IEEE-754 2008 for floating point math (same as RV870/5870) and full 32-bit for integers. In the past 32-bit integer multiplies had to be emulated, the hardware could only do 24-bit integer muls. That silliness is now gone. Fused Multiply Add is also included. The goal was to avoid doing any cheesy tricks to implement math. Everything should be industry standards compliant and give you the results that you’d expect.

Double precision floating point (FP64) performance is improved tremendously. Peak 64-bit FP execution rate is now 1/2 of 32-bit FP, it used to be 1/8 (AMD's is 1/5). Wow.

NVIDIA isn’t disclosing clock speeds yet, so we don’t know exactly what that rate is yet.

In G80 and GT200 NVIDIA grouped eight cores into what it called an SM. With Fermi, you get 32 cores per SM.

The high end single-GPU Fermi configuration will have 16 SMs. That’s fewer SMs than GT200, but more cores. 512 to be exact. Fermi has more than twice the core count of the GeForce GTX 285.

  Fermi GT200 G80
Cores 512 240 128
Memory Interface 384-bit GDDR5 512-bit GDDR3 384-bit GDDR3

 

In addition to the cores, each SM has a Special Function Unit (SFU) used for transcendental math and interpolation. In GT200 this SFU had two pipelines, in Fermi it has four. While NVIDIA increased general math horsepower by 4x per SM, SFU resources only doubled.

The infamous missing MUL has been pulled out of the SFU, we shouldn’t have to quote peak single and dual-issue arithmetic rates any longer for NVIDIA GPUs.

NVIDIA organizes these SMs into TPCs, but the exact hierarchy isn’t being disclosed today. With the launch's Tesla focus we also don't know specific on ROPs, texture filtering or anything else related to 3D graphics. Boo.

A Real Cache Hierarchy

Each SM in GT200 had 16KB of shared memory that could be used by all of the cores. This wasn’t a cache, but rather software managed memory. The application would have to knowingly move data in and out of it. The benefit here is predictability, you always know if something is in shared memory because you put it there. The downside is it doesn’t work so well if the application isn’t very predictable.

Branch heavy applications and many of the general purpose compute applications that NVIDIA is going after need a real cache. So with Fermi at 40nm, NVIDIA gave them a real cache.

Attached to each SM is 64KB of configurable memory. It can be partitioned as 16KB/48KB or 48KB/16KB; one partition is shared memory, the other partition is an L1 cache. The 16KB minimum partition means that applications written for GT200 that require 16KB of shared memory will still work just fine on Fermi. If your app prefers shared memory, it gets 3x the space in Fermi. If your application could really benefit from a cache, Fermi now delivers that as well. GT200 did have an L1 texture cache (one per TPC), but the cache was mostly useless when the GPU ran in compute mode.

The entire chip shares a 768KB L2 cache. The result is a reduced penalty for doing an atomic memory op, Fermi is 5 - 20x faster here than GT200.

A Different Sort of Launch A More Efficient Architecture
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