Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Graphics Virtualization Hardware Technology

Inside NVIDIA's Massive Hardware Emulation Lab 51

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."
This discussion has been archived. No new comments can be posted.

Inside NVIDIA's Massive Hardware Emulation Lab

Comments Filter:
  • Direct source (Score:5, Informative)

    by Anonymous Coward on Thursday May 19, 2011 @01:46PM (#36182804)

    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/ [nvidia.com]

  • 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...
    • 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 class

      • Re:Sounds cool (Score:4, Informative)

        by alvieboy ( 61292 ) on Thursday May 19, 2011 @02:20PM (#36183214) Homepage

        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

      • Cool, thanks for your time and explication.
      • by tlhIngan ( 30335 )

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

        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.

      • by Apocros ( 6119 )
        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
    • Not the same at all. (Score:4, Informative)

      by SanityInAnarchy ( 655584 ) <ninja@slaphack.com> on Thursday May 19, 2011 @04:33PM (#36184924) Journal

      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.

      • by Kuad ( 529006 )
        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.
  • 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.

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


    [1]"Does it run Linux?" is implied here...
  • 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?

    • Re:So? (Score:4, Insightful)

      by Anonymous Psychopath ( 18031 ) on Thursday May 19, 2011 @02:44PM (#36183534) Homepage

      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.

  • 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.

  • 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 [vmware.com] 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).

    Inq

    • 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.

      • by drolli ( 522659 )

        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

    • by MarkvW ( 1037596 )

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

    • by Jthon ( 595383 )

      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.

    • by rdnetto ( 955205 )
      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.

  • Emulation? (Score:3, Funny)

    by Anonymous Coward on Thursday May 19, 2011 @03:02PM (#36183802)

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

    How many Ballmers can it emulate?

    • by Megane ( 129182 )
      It depends on how many chairs you can attach to the equipment.
    • 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?
    • by kmoser ( 1469707 )
      Just one, but it generates too much heat when overclocked.
  • Its looks like they are giving the ATI the best competition now with their new GPU's let see when they are in market.

Top Ten Things Overheard At The ANSI C Draft Committee Meetings: (10) Sorry, but that's too useful.

Working...