ECC Support

AMD's Radeon HD 5870 can detect errors on the memory bus, but it can't correct them. The register file, L1 cache, L2 cache and DRAM all have full ECC support in Fermi. This is one of those Tesla-specific features.

Many Tesla customers won't even talk to NVIDIA about moving their algorithms to GPUs unless NVIDIA can deliver ECC support. The scale of their installations is so large that ECC is absolutely necessary (or at least perceived to be).

Unified 64-bit Memory Addressing

In previous architectures there was a different load instruction depending on the type of memory: local (per thread), shared (per group of threads) or global (per kernel). This created issues with pointers and generally made a mess that programmers had to clean up.

Fermi unifies the address space so that there's only one instruction and the address of the memory is what determines where it's stored. The lowest bits are for local memory, the next set is for shared and then the remainder of the address space is global.

The unified address space is apparently necessary to enable C++ support for NVIDIA GPUs, which Fermi is designed to do.

The other big change to memory addressability is in the size of the address space. G80 and GT200 had a 32-bit address space, but next year NVIDIA expects to see Tesla boards with over 4GB of GDDR5 on board. Fermi now supports 64-bit addresses but the chip can physically address 40-bits of memory, or 1TB. That should be enough for now.

Both the unified address space and 64-bit addressing are almost exclusively for the compute space at this point. Consumer graphics cards won't need more than 4GB of memory for at least another couple of years. These changes were painful for NVIDIA to implement, and ultimately contributed to Fermi's delay, but necessary in NVIDIA's eyes.

New ISA Changes Enable DX11, OpenCL and C++, Visual Studio Support

Now this is cool. NVIDIA is announcing Nexus (no, not the thing from Star Trek Generations) a visual studio plugin that enables hardware debugging for CUDA code in visual studio. You can treat the GPU like a CPU, step into functions, look at the state of the GPU all in visual studio with Nexus. This is a huge step forward for CUDA developers.


Nexus running in Visual Studio on a CUDA GPU

Simply enabling DX11 support is a big enough change for a GPU - AMD had to go through that with RV870. Fermi implements a wide set of changes to its ISA, primarily designed at enabling C++ support. Virtual functions, new/delete, try/catch are all parts of C++ and enabled on Fermi.

Efficiency Gets Another Boon: Parallel Kernel Support The RV770 Lesson (or The GT200 Story)
Comments Locked

415 Comments

View All Comments

  • silverblue - Thursday, October 1, 2009 - link

    Anand's entitled to make mistakes. You do nothing else.
  • SiliconDoc - Thursday, October 1, 2009 - link

    Oh golly, another lie.
    First you admit I'm correct, FINALLY, then you claim only mistakes from me.
    You're a liar again.
    However, I congratulate you, for FINALLY having the half baked dishonesty under enough control that you offer an excuse for Anand.
    That certainly is progress.
  • silverblue - Friday, October 2, 2009 - link

    And you conveniently forget the title of this article which clearly states 2010.
  • johnsonx - Wednesday, September 30, 2009 - link

    I think there might be something wrong with SiliconDoc. Something wrong in the head.
  • SiliconDoc - Thursday, October 1, 2009 - link

    I think that pat fancy can now fairly be declared the quacking idiot group collective's complete defense.

    Congratulations, you're all such a pile of ignorant sheep, you'll swather together the same old feckless riddle for eachothers emotional comfort, and so far to here, nearly only monkeypaw tried to address the launch lie pointed out.

    I suppose a general rule, you love your mass hysterical delusionary appeasement, in leiu of an actual admittance, understanding, or mere rebuttal to the author's false launch accusation in the article, the warped and biased comparisons pointed out, and the calculations required to reveal the various cover-ups I already commented on.

    Good for you people, when the exposure of bias and lies is too great to even attempt to negate, it's great to be a swaddling jerkoff in union.

    I certainly don't have to wonder anymore.
  • Griswold - Wednesday, September 30, 2009 - link

    So, you're the new village fool?
  • Finally - Thursday, October 1, 2009 - link

    Make that "Global Village Fool 2.0"
    He is an advanced version, y'know?
  • SiliconDoc - Wednesday, September 30, 2009 - link

    Nvidia LAUNCHED TODAY... se page two by your insane master Anand.
    --
    YOU'VE all got the same disease.
  • MonkeyPaw - Wednesday, September 30, 2009 - link

    Is sanity now considered to be a disease? We're not the one's visiting a website in which we so aggressively scream "bias" on (apparently) every GPU article. If you think Anand's work is so offensive and wrong, then why do you keep coming back for more?

    Anyway, I just don't see where you get this "bias" talk. For crying out loud, you can't make many assumptions about the product's performance when you don't even know the clock speeds. You can guess till you're blue in the face, but that still leaves you with no FACTS. Also keep in mind that GT300 will have ECC enabled (at least in Tesla), which has been known to affect latency and clock speeds in other realms. I'm not 100% sure how the ECC spec works in GDDR5, but usually ECC comes at a cost.

    As for "paper launch," ultimately semantics don't matter. However, a paper launch is generally defined as a product announcement that you cannot buy yet. It's frequently used as a business tactic to keep people from buying your competitor's products. If the card is officially announced (and it hasn't), but no product is available, then by my definition, it is a paper launch. However, everyone has their own definition of the term. This article I see more as a technology preview, though nVidia's intent is still probably to keep people from buying an RV870 right now. That's where the line blurs.
  • SiliconDoc - Thursday, October 1, 2009 - link

    A launch date is the date the company claims PRODUCT WILL BE AVAILABLE IN RETAIL CHANNELS.
    No "semantics" you whine about or cocka doodle do up will change that.
    A LAUNCH date officially as has been for YEARS sonny paw, is when the corp says "YOU CAN BUY THIS" as a private end consumer.
    ---
    Anything ELSE is a showcase, an announcement, a preview of upcoming tech, a marketing plan, ETC.
    ---
    YOU LTING ABOUT THE VERY ABSOLUTE FACTS THAT FOR YEARS HAVE APPLIED PERIOD IS JUST ANOTHER RED ROOSTER NOTCH ACQUIRED.

Log in

Don't have an account? Sign up now