Slashdot Mirror


Inside NVIDIA's Massive Hardware Emulation Lab

MojoKid writes "NVIDIA recently decided to give the public a look at their massive investment in hardware emulation technologies. Hardware emulators are specialized systems that can be programmed to emulate any specific architecture. In NVIDIA's case, a standard x86 system is connected to a powerful hardware emulator that's been pre-programmed to emulate a GeForce GPU that's still under design. The testbed generates the code in question and sends it over to the emulator, which then executes and returns the output. The emulators are massive machines that can be connected together and scaled for capacity and performance. NVIDIA's Indus emulator can emulate up to two billion gates and in their entire facility, the company can emulate up to 4 billion total."

51 comments

  1. Direct source by Anonymous Coward · · Score: 5, Informative

    Why not link directly to the blog post instead of a rewording of it?

    http://blogs.nvidia.com/2011/05/sneak-peak-inside-nvidia-emulation-lab/

    1. Re:Direct source by DeadCatX2 · · Score: 3, Funny

      Because MojoKid has to drive traffic to his hothardware blog.

      --
      :(){ :|:& };:
    2. Re:Direct source by Machtyn · · Score: 1

      Seriously. Let's link the original post as mentioned above. It contains better images (their larger and easier to see) and it contains much better information (seeing as it is nVidia's blog).

  2. BFD. by Anonymous Coward · · Score: 0, Insightful

    Wow, NVIDIA paid Cadence millions for a more or less off the shelf logic accelerator. Just like every other company that's designing a large ASIC.

    1. Re:BFD. by Anonymous Coward · · Score: 1

      It's a BFD because for the first time, they're able to emulate massive hardware instead of puny, microchip-sized hardware. Turn in your geed card now!

    2. Re:BFD. by Anonymous Coward · · Score: 0

      You're absolutely right. Also, welcome to the new Slashdot. My god, it's full of noobs!

  3. Sounds cool by PmanAce · · Score: 1

    Not too sure I understand all that from reading the summary but it sure does sound cool. When I think emulator, I think of NESticle, wonder how many gates it has...

    --
    Tired of my customary (Score:1)
    1. Re:Sounds cool by MakinBacon · · Score: 2

      Not too sure I understand all that from reading the summary but it sure does sound cool. When I think emulator, I think of NESticle, wonder how many gates it has...

      Basically, debugging hardware is even more of a pain in the ass then debugging software because there are no tools like GDB that show you what's going on "under the hood", so electrical engineers have to use emulators to test out all their systems at the boolean level before they implement them in ASIC's. This is completely different from a Nintendo emulator, which would read each individual instruction and execute a group of instructions that do the same thing on the host machine.

      I had to take a few classes on CPLD's and FPGA's when I was in college, and I can tell you that it took my poor PC all afternoon to emulate my designs for just 100ms. Those weren't nearly as complicated as a GPU, so it makes sense that Nvidia would need a massive supercomputer for this.

      Also, "gates" probably refers to Boolean logic gates.

    2. Re:Sounds cool by alvieboy · · Score: 4, Informative

      Also, "gates" probably refers to Boolean logic gates.

      I think the term "gates" is abused and misused here, and in other articles. Not everything that goes on chip is a "logic gate", not even "gate", and they ought to be simulated as well. Think about clock modulators, PLL's, DCMs, for example. Other more esoteric thing exists.

      Doing a transistor-level simulation is also very expensive here. This is usually done on the low-level blocks only (and perhaps before going into silicon).

      What you simulate most of the time is RTL - Register Transfer Level. This includes not only plain logic paths, but synchronous elements like memories, flip-flops, and others.

      Being used to RTL simulation (I do a lot), those numbers are absolutely impressive. I often spend an hour simulating only a few microseconds. And the outputs of simulation are *huge* - imagine you have 1 million signals on the chip, and your freq. is 1MHz. This means you will retrieve 1 million * 1 million signal data for a one second simulation.

      Álvaro

    3. Re:Sounds cool by PmanAce · · Score: 1

      Cool, thanks for your time and explication.

      --
      Tired of my customary (Score:1)
    4. Re:Sounds cool by tlhIngan · · Score: 1

      They're really much fancier versions of these FPGA solutions I've seen - http://www.synopsys.com/Systems/FPGABasedPrototyping/CHIPit/Pages/default.aspx

      Load the RTL in them and bang away. Neat stuff. Run godawful slow, but that's FPGAs for you (timing is usually a killer). Though it's usually much faster than pure software sims. I think these things ran Linux too - they had the classic Tux penguin when you power 'em up.

    5. Re:Sounds cool by Apocros · · Score: 1

      Palladium is ASIC-based, not FPGA-based (the way older IKOS boxes were; yes FPGAs are ASICs...). So far as I'm aware, the ASICs used are basically "verilog accelerator" chips, supporting a limited subset of the language (mainly just synthesizeable constructs, with some exceptions). The verilog is compiled into a bytecode that the processors handle natively. It's analogous to the "java accelerator" ASICs that have been discussed here off and on. That grossly understates the complexity of the system, but from my exposure to it, that's basically what it is.

      --
      "onward!" cried the copper man, little knowing brass corrupts...
  4. Mod parent up by seifried · · Score: 1

    Mod parent up

  5. And some people blame nouveau... by spaceplanesfan · · Score: 1

    I mean that is what they use when the GPU hangs, so its piece of cake for them to see where the bug is,
    but we are stuck with final version and just can't debug it.

  6. let's just get this out of the way... by Thud457 · · Score: 1, Redundant

    imagine a beowulf cluster[1] of these, could they run Crysis ?


    [1]"Does it run Linux?" is implied here...

    --

    the preceding comment is my own and in no way reflects the opinion of the Joint Chiefs of Staff

  7. Uh, this kind of debugging has been in use since the late 1980's. The only things that have changed are the vendors who build the emulators and the size of the hardware that can be emulated. Why is this amazing?

    --
    That is all.
    1. Re:So? by Anonymous Coward · · Score: 0

      People have been using light to make transistors since 1970s. What's so amazing about an Intel i7?

      Sheesh

    2. Re:So? by Anonymous+Psychopath · · Score: 3, Insightful

      Uh, this kind of debugging has been in use since the late 1980's. The only things that have changed are the vendors who build the emulators and the size of the hardware that can be emulated. Why is this amazing?

      I concept isn't amazing. The scale of execution is. It's like saying that the Grand Canyon isn't amazing since your street is riddled with potholes.

      --

      Eagles may soar, but weasels don't get sucked into jet engines.

  8. emulation by roman_mir · · Score: 0

    this raises a question: are we inside one of their emulations right now? Just emulating away, so that some company can put together yet another universe-detailed-resolution-video-card on the hyper market?

    This would explain all those weird things I dream about at night, where everything seems to consist of only polygons with no rendered surfaces.

  9. Hey, Oracle. Here's another target for you. by VortexCortex · · Score: 1, Interesting

    So it's an "emulator" you say? It "simulates" a "hardware device".

    Would not another word for this be: "Virtual Machine"? Have they cleared this with Oracle, or did NVIDIA just get caught with their pants down? (stroking their e-peen)

    How are you getting around VMWare's patent on saving and restoring a VM state? Clearly you'll want to do that to enable debugging of your soft-hardware. (Even though many VMs could do that long before the patent was applied for -- My old Lisp machine emulator did).

    Inquiring minds want to know... specifically, what do I have to do so that the new VM based languages (like Java/Davlik or Lua?!) don't infringe any VM software patents? (Or are you taking the same advice my lawyer gave me? "Ignore the patents, foreknowledge makes infringement penalties greater. If you can stay under the radar by using different terminology long enough to become successful, we can negotiate a (cross) licensing deal.")

    Software Patents Bad. Even For Hardware Company.

    1. Re:Hey, Oracle. Here's another target for you. by sxeraverx · · Score: 0

      Without doing research, I see two possibilities. Either:

      a) The relevant patent has expired. Or
      b) They have prior art.

      This has been going on in one form or another for >20 years. This means that regardless of whether the patent was filed, it is either expired or invalid.

    2. Re:Hey, Oracle. Here's another target for you. by MarkvW · · Score: 1

      Surely you have not just burned your attorney-client privilege?! Willful ignorance equates to knowledge in the eyes of the law.

    3. Re:Hey, Oracle. Here's another target for you. by Jthon · · Score: 2

      These have nothing to do with virtual machines. These emulators are more like giant FPGAs than SW devices. Only instead of being implemented out of look up tables the system has a bunch of custom ASIC processors which accelerate gate level Verilog code.

    4. Re:Hey, Oracle. Here's another target for you. by drolli · · Score: 0

      c) Their patent lawyers compared the size of their .... ahem i meant patents stacks, found them equivalently sized and recommended to the boards of the companies to sing an agreement that they would not step onto each others feet as long as everybody stays in his own business

      d) They licensed the technology

    5. Re:Hey, Oracle. Here's another target for you. by Anonymous Coward · · Score: 0

      e) Nvidia bought the Palladium XP emulator from Cadence. Cadence owns the relevant hw emulation and EDA patents or licensed the tech and Nvidia owns none of the patents...

      Why assume otherwise?

    6. Re:Hey, Oracle. Here's another target for you. by Anonymous Coward · · Score: 0

      Your comment just shows what an idiot you are. This is nothing like a JVM or any other "virtualization" buzzwords that gets thrown around these days.

      Chip designers specify the logic in code (register transfer logic written in Verilog or VHDL) which the emulation platform then synthesizes on a FPGA platform. This is done in order to test how software would work on the chip once it is actually manufactured and plugged in on a board. Emulation offers speeds that are not offered in simulation based on software EDA tools. It is expensive to test if Linux would boot on a chip while it is tested in a post-silicon lab setup and find out that it does not.

      Emulation offers you a way to boot Linux (or test software) on something that mimicks the actual chip and find bugs that are not easy to find (w.r.t time) in a simulation environment.

      By the way, Oracle also probably does emulation (there is no other way) since they do Sparc microprocessors.

    7. Re:Hey, Oracle. Here's another target for you. by Anonymous Coward · · Score: 0

      It's called emulator since 1980s, maybe earlier.
      The virtual machine thingy is much newer.

    8. Re:Hey, Oracle. Here's another target for you. by rdnetto · · Score: 1
      From Wikipedia:

      "A patent is not the grant of a right to make or use or sell. It does not, directly or indirectly, imply any such right. It grants only the right to exclude others. The supposition that a right to make is created by the patent grant is obviously inconsistent with the established distinctions between generic and specific patents, and with the well-known fact that a very considerable portion of the patents granted are in a field covered by a former relatively generic or basic patent, are tributary to such earlier patent, and cannot be practiced unless by license thereunder." - Herman v. Youngstown Car Mfg. Co., 191 F. 579, 584-85, 112 CCA 185 (6th Cir. 1911)

      As I understand it, patents prevent one from making and selling/distributing products using said patent. If you use the patent in an internal system that you build yourself and never give to anyone else, I don't believe that would be actionable.

      --
      Most human behaviour can be explained in terms of identity.
    9. Re:Hey, Oracle. Here's another target for you. by Anonymous Coward · · Score: 0

      Actually, I would be more worried about Broadcom's patent 7472055.

    10. Re:Hey, Oracle. Here's another target for you. by bhtooefr · · Score: 1

      IBM's VM operating system dates back to CP-40, from 1967.

      The VM name was used in 1972.

  10. So What's new here? by Anonymous Coward · · Score: 0

    Every chip design house does emulation as part of the pre-silicon verification effort. As the chip design complexity goes up the emulation effort should scale up proportionally, but there is nothing fundamentally new here.

  11. Emulation? by Anonymous Coward · · Score: 3, Funny

    "NVIDIA's Indus emulator can emulate up to two billion gates"

    How many Ballmers can it emulate?

    1. Re:Emulation? by Megane · · Score: 1

      It depends on how many chairs you can attach to the equipment.

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
    2. Re:Emulation? by amnesia_tc · · Score: 1

      Nothing can truly emulate Ballmer. No one can emulate Ballmer. He's the reason copyright laws are enforced so strictly. Do we really want a copy of him running around?

    3. Re:Emulation? by Anonymous Coward · · Score: 0

      "NVIDIA's Indus emulator can emulate up to two billion gates"

      How many Ballmers can it emulate?

      Ballmer emulates a lab's massive hardware.

    4. Re:Emulation? by kmoser · · Score: 1

      Just one, but it generates too much heat when overclocked.

  12. Does it run by Anonymous Coward · · Score: 0

    Visual Basic?

  13. Hey Nvidia by Anonymous Coward · · Score: 0

    Use your genius 3dfx engineers to make a fully functional faithful virtual Voodoo2 device done in CUDA.

    1. Re:Hey Nvidia by Anonymous Coward · · Score: 0
  14. Not the same at all. by SanityInAnarchy · · Score: 3, Informative

    Things like NESticle are software emulators. The idea is to reverse-engineer an existing piece of hardware so that you can figure out how to make software which does the same thing, but not necessarily in the same way -- you want to be able to run software that runs on the NES, say, but you don't care at all whether the program in your computer contains an exact replica of every chip on the NES. Even if you wanted the identical behavior, you still wouldn't need to give it an exact replica.

    This is a hardware emulator in both senses -- it is itself a big pile of hardware, and it's emulating hardware, exhaustively, in every detail. The idea here is that you want to have as much assurance as is reasonably possible that when you actually fab that chip, it's going to do what you think it will. You're not just testing that your software which will run on that card will do what it's supposed to do -- that'd be considerably easier, we have things like CUDA and software implementations of OpenGL if that was the only issue. No, you want to be sure that the hardware itself, as you designed it, will work when you actually build it.

    --
    Don't thank God, thank a doctor!
    1. Re:Not the same at all. by Kuad · · Score: 1

      For what it's worth, I do believe that at least some of the C-64 emulators have a fallback mode (very slow) that entirely emulates a 6510 CPU. It's impossible to entirely emulate the SID chip for sound however, given that it's partly an analog device.

  15. virtual costs by Anonymous Coward · · Score: 0

    > NVIDIA's Indus emulator can emulate up to two billion gates and in their entire facility, the company can emulate up to 4 billion total.
    I suppose the cost to simulate jobs was way to expensive for the ~10% of the 4billion total.

  16. And here is the link to the hardware as well by LWATCDR · · Score: 1

    Here is a link to the Hardware as well. http://www.cadence.com/products/sd/palladium_xp/Pages/default.aspx

    Too bad that it only runs at 4Mhz. I was dreaming of a configureable super computer. And yes I understand that for it to even work at 4Mhz is pretty freaking cool. Where is the buy now button?

    --
    See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    1. Re:And here is the link to the hardware as well by davester666 · · Score: 1

      > Where is the buy now button?

      They had to remove it after I pressed it, since they only have the one device.

      With it, I figure I can finally get the maximum performance out of my Commodore 1541 floppy drive. It's tricky to make it work right at a high data rate.

      --
      Sleep your way to a whiter smile...date a dentist!
    2. Re:And here is the link to the hardware as well by LWATCDR · · Score: 1

      Funny but that does make me wonder. How fast could you make a C64 with today's tech. Since it only had 64k of address space I would think that you could put the entire system on a single die with lots of room to spare. You could probably even put in a ram expander as well on the same die. So how fast would a 3.5Ghz C64 be?
      Roughly 4000x the speed of a c64? Which would still be slow by today's standards.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
  17. Hmmmmm by Meganfoster · · Score: 1

    Its looks like they are giving the ATI the best competition now with their new GPU's let see when they are in market.

  18. open door is good, by Anonymous Coward · · Score: 0

    but open source is better. at least open up the old drivers (such as on my hp touchsmart pc, which doesn't touch and isn't smart) to allow ubuntu to support driver. then i could have a throbbing icon.