6 ms·
The Dawn of Nvidia's Technology
- pjmlp 1y agoI wanted to buy a Voodoo card, and due to PCI incompatible version, had to trade it back for a Riva TNT. Back then I was quite p***d not being able to keep the Voodoo, how little did I know how it was going to turn out.
- stewarts 1y agoWe hold you singularly responsible for the eventual failure of the Voodoo3/4/5 and Nvidia domination.
- pjmlp 1y agoSorry.... :)
- ahartmetz 1y agoI had a Riva TNT at the time, and a friend's Voodoo... 2? sure ran Half-Life better than my card. The Voodoo 2 probably really was the better GPU at the time. Later games required later APIs (unsupported by older cards) - and much higher performance - anyway, so longevity was not much either way.
- int_19h 1y agoIt depended on the game, as well. It wasn't uncommon for titles to be optimized specifically for Glide, so they'd run slower under OGL/D3D. In general it wasn't until Riva TNT2 that NVIDIA became the card of choice for gaming.
- 2OEH8eoCRo0 1y agoNo mention of SGI.
- rjsw 1y agoI still have a NV1 card.
- christkv 1y agoMe too i also have a rendition verite card which i guess in some ways is the first real fully programmable consumer gpu as it has a risc processor.
- rjsw 1y agoI also have an even older NEC ISA card with a TI TMS34010 chip [1], that was a programmable CPU/GPU. [1] https://en.wikipedia.org/wiki/TMS34010 https://en.wikipedia.org/wiki/TMS34010
- christkv 1y agoOh yeah I remember those but did they ever get used for any games on the PC platform? I know they were used in multiple arcade machines.
- mrandish 1y agoThis kind of retrospective from key people who were involved is invaluable from an historical perspective. I find hearing first-hand accounts of the context, assumptions, thought processes, internal debates, technical limitations, business realities and even dumb luck a good way to not only understand how we got here but how to do as well (or better) going forward. While the nitty gritty detail of recollections captured when still fresh in memory can be fascinating, I especially appreciate reflections written a few decades later as it allows putting the outcomes of key decisions in perspective, as well as generally enabling more frank assessments thanks to fewer business and personal concerns.
- rhdjsjebshjffn 1y agoI'm excited about this too, but it's a little concerning there's a brand in the title. There's no shortage of those from ati, intel, amd, apple, ibm, the game gaggle, etc to interview. The fact that nvidia succeeded where others failed is largely an artifact of luck.
- jjtheblunt 1y agoNvidia’s Cg language made developers prefer their hardware, I’d say.
- mrandish 1y ago> largely an artifact of luck. I disagree with "largely". Luck is always a factor in business success and there are certainly some notable examples where luck was, arguably, a big enough factor that "largely" would apply - like Broadcast.com's sale to Yahoo right at the peak of the .com bubble. However, I'm not aware of evidence luck was any more of a factor in NVidia's success than the ambient environmental constant it always is for every business. Luck is like the wind in competitive sailing - it impacts everyone, sometimes positively, sometimes negatively. Achieving and then sustaining substantial success over the long run requires making a lot of choices correctly as well as top notch execution. The key is doing all of that so consistently and repeatedly that you survive long enough for the good and bad luck to cancel each other out. NVidia now has over 30 years of history through multiple industry-wide booms, downturns and fundamental technology transitions - a consistent track record of substantial, sustained success so long that good luck can't plausibly be a significant factor. That said, to me, this article didn't try to explain NVidia's long-term business success. It focused on a few key architectural decisions made early on which were, arguably, quite risky in that they could have wasted a lot of development on capabilities which didn't end up mattering. However, they did end up paying off and, to me, the valuable insight was that key team members came from a different background than their competitors and their experiences with multi-user, multi-tasking, virtualized mini and mainframe architectures caused them to believe desktop architectures would evolve in that direction sooner rather than later. The takeaway being akin to "skate to where the puck is going, not where it is." In rapidly evolving tech environments, making such predictions is greatly improved when the team has both breadth and depth of experience in relevant domains.
- killme2008 1y agoReally fascinating story—thanks for sharing! Graphics programming has been a major driving force behind the widespread adoption of object-oriented programming, and the abstraction of devices in this context is truly elegant.
- hackyhacky 1y ago> At a time when PC memory maxed out at 640 megabytes, Pretty sure the author meant write 640 kilobytes.
- rjsw 1y agoMaybe that is what they were thinking but anything designed to work with a PCI bus would have been introduced after PCs became capable of using more memory than that.
- usefulcat 1y agoIt's hard to tell exactly what time frame the author is referencing there. For context, NV1 was released in '95, by which time it was not uncommon for a new PC to have 8-16 MB of memory (I had a 486 with 16 MB by '94). Especially if you planned to use it for gaming.
- npalli 1y agoThe sentence and paragraph which makes it clear that this was megabytes and not kilobytes At a time when PC memory maxed out at 640 megabytes, the fact that the PCI bus could address 4 gigabytes meant that quite a few of its address bits were surplus. So we decided to increase the amount of data shipped in each bus cycle by using some of them as data. IIRC NV1 used 23 address bits, occupying 1/512th of the total space. 7 of the 23 selected one of the 128 virtual FIFOs, allowing 128 different processes to share access to the hardware. We figured 128 processes was plenty.
- AStonesThrow 1y agoOkay but "640" is a completely fictitious number for installed RAM in any given PC. PC memory was nearly always sold in powers of two. So you could have SIMMs in capacity of 1MiB, 2MiB, 4, 8, 16MiB. You could usually mix-and-match these memory modules, and some PCs had 2 slots, some had 4, some had a different number of slots. So if you think about 4 slots that can hold some sort of maximum, we're thinking 64MiB is a very common maximum for a consumer PC, and that may be 2x32 or 4x16MiB. Lots of people ran up against that limit for sure. 640MiB is an absurd number if you think mathematically. How do you divide that up? If 4 SIMMs are installed, then their capacity is 160MiB each? No such hardware ever existed. IIRC, individual SIMMs were commonly maxed at 64MiB, and it was not physically possible to make a "monster memory module" larger than that. Furthermore, while 64MiB requires 26 bits to address, 640MiB requires 30 address bits on the bus. If a hypothetical PC had 640MiB in use by the OS, then only 2 pins would be unused on the address bus! That is clearly at odds with their narrative that they were able to "borrow" several more! This is clearly a typo and I would infer that the author meant to write "64 megabytes" and tacked on an extra zero, out of habit or hyperbole.
- artyom 1y agoThis reads as one of the many engineering marvel stories (e.g. Bell Labs, Xerox) where revolutionary technology is created by a combination of (a) clever engineers with enough "free" time, and (b) no clueless managers around.
- whyowhy3484939 1y agoYou can read in Kernighans History of Unix that really good managers - "enlightened management" IIRC - were involved and not just involved, some of them were absolutely crucial or Unix won't have existed. It's not like you can just let loose a couple of big brains and things will work out fine. They won't (and didn't).
- artyom 1y agoI don't disagree. Of course you've got to set some direction to big brains but -- we're talking about two different species that coincidentally share the "manager" title here.
- jacobgorm 1y agoI remember sitting next to David Rosenthal at a conference reception (must have been FAST, which makes sense given his involvement with LOCKSS) in San Jose some time around 2010 or 2011, not knowing up front who he was. He explained some of the innovations he had made at NVIDIA around making the hardware more modular and easier for parallel teams to work on, and we chatted about the rumors I had heard about SUN thinking about licensing the Amiga hardware, which he confirmed but said would have been a bad idea, because the hardware didn't support address space protection. I guess I didn't know enough about him or NVIDIA to be sufficiently impressed at the time, but he was a very friendly and down to earth person.
- DonHopkins 1y agoThat's right, he's a great down-to-earth guy (but he can still write like a passionate punk rocker -- see below), and there's a wealth of interesting thoughtful stuff on his blog. I've known him since the days of the X10 / X11 / NeWS window system wars. He worked with James Gosling on Andrew at CMU and NeWS at Sun, and on X10 as well as X11 and ICCCM, and he implemented the original X10 compatibility layer that was in NeWS 1.0, before X11 was a "thing". https://en.wikipedia.org/wiki/David_S._H._Rosenthal https://en.wikipedia.org/wiki/David_S._H._Rosenthal One of my favorite classics is his Recreational Bugs talk [1989] by "Sgt." David Rosenthal (author of the ICCCM, developer of the Andrew Window Manager, X10, X11, and NeWS, employee #4 and chief scientist at Nvidia): https://blog.dshr.org/2018/05/recreational-bugs.html https://blog.dshr.org/2018/05/recreational-bugs.html >"You will get a better Gorilla effect if you use as big a piece of paper as possible." -Kunihiko Kasahara, Creative Origami. Here's his review of "The Philosopher of Palo Alto", a book about Mark Weiser: https://blog.dshr.org/2023/06/the-philosopher-of-palo-alto.html https://blog.dshr.org/2023/06/the-philosopher-of-palo-alto.h... At the 1985 Alvey Workshop "Methodology of Window Management", David Rosenthal and James Gosling presented "System Aspects of Low-Cost Bitmapped Displays" and "A Window Manager for Bitmapped Displays and Unix" about their work on Andrew at CMU. And James presented "SunDew - A Distributed and Extensible Window System" about his work at Sun, which was later renamed NeWS, and was what convinced David to leave CMU and join him at Sun. System Aspects of Low-Cost Bitmapped Displays: https://www.chilton-computing.org.uk/inf/literature/books/wm/p012.htm https://www.chilton-computing.org.uk/inf/literature/books/wm... A Window Manager for Bitmapped Displays and Unix (with the first known use of the term "Gorilla effect" as it applies to computer graphics): https://www.chilton-computing.org.uk/inf/literature/books/wm/p013.htm https://www.chilton-computing.org.uk/inf/literature/books/wm... SunDew - A Distributed and Extensible Window System: https://www.chilton-computing.org.uk/inf/literature/books/wm/p005.htm https://www.chilton-computing.org.uk/inf/literature/books/wm... Warren Teitelman's "Ten Years of Window Systems - A Retrospective View" covers the fascinating history of Smalltalk, DLisp (Interlisp), Interlisp-D, Tajo (Mesa Development Environment), Docs (Cedar), Viewers (Cedar), SunWindows and SunDew systems: https://www.chilton-computing.org.uk/inf/literature/books/wm/p004.htm https://www.chilton-computing.org.uk/inf/literature/books/wm... Here's David Rosenthal's notorious Sun Deskset Environment flame that some rogue leaked to the Unix-Haters mailing list (inspiring the Unix-Haters Handbook's X-Windows chapter), in which he poignantly concluded: "It's like having a Roy Lichtenstein painting on your bedroom wall.": From: DR Date: 18 Oct 90 17:02:39 GMT Newsgroups: sun.open-windows Subject: Re: Deskset environment [NS replied to me directly. Her reply illustrates the reasons why I sent out yesterday's mail so perfectly that I'm taking the liberty of copying my reply to openwindows-interest] > When we give standard Deskset presentations, a couple of > things tend to "dazzle" the audience ... > > 1. Use the MT Calendar template to generate an > appointment. Mail it to yourself, then > drop it onto CM which will schedule it. The > template is totally hokey (we're working on > it) but it works and is wizzy. > > 2. Build a small application with GUIDE and make it > on the spot. Show it up and running on XView > in minutes. You can talk to BW about that > Thank you, but you have completely missed the point. I don't want to show people how whizzy the standard default desktop environment is. That's your job. I want to give a talk about a quite different subject. I merely want to *use* the desktop environment to achieve my own ends. And as soon as I try to actually *use* it for something instead of merely showing off the glitz, it falls to pieces in my hands. Unfortunately, this is becoming all too common in Sun products these days, because we no longer *use* the things we build for anything but whizzy demos. Have you ever actually tried to *use* the desktop for anything? Like, say, printing a PostScript file? The answer has to be no - because dropping a PostScript file on the print tool doesn't work. Or binding a shell command to a pattern? Again no, because doing so depends on undocumented features of /etc/filetype. Even trying to create a new icon from the standard set causes the icon editor to dump core. I'm not joking when I say that I've been filing a bug report every couple of hours of trying to use the desktop. Its this kind of fragility that shows me that I'm treading on fresh snow. No-one else has walked this way. And that is a truly sad commentary on the state of Sun - no-one has been this way because no-one believes that there's anything worth doing over this way. The reason Unix was such an advance over previous operating systems was that you could customize your environment in arbitrary ways. With just a few shell scripts, for example. Its just like the cold war - in our anxiety to compete with the enemy we've ended up losing the things that made our way of life worth defending in the first place. Like the freedom to disagree with the authorities. > I believe you're correct in saying that most people live > with the default environment, but I think it's only partly > because they don't know how to customize it. We've done > some user testing and, surprisingly, people either prefer > the default environment or just don't want to take the > time to make it special. This is particularly true of > people like admins, marketing, etc. Testing whether people actually do customize their environment is beside the point. Of course they don't. In order to do it, I have to write C code using bizarre features of Xview, exercise all my shell wizardry, and dredge up undocumented features of the system from the source. And you're suprised when admins can't do this? I don't expect admins to do it. But I do expect ISVs and Sun's SEs to be able to do it, and right now they can't. PS - I notice that someone filed a bug today pointing out that even your example of dropping a mail message on CM doesn't work if CM is closed. That's a symptom of the kind of arrogance that all the deskset tools seem to show - they're so whizzy and important that they deserve acres of screen real estate. Why can't they just shut up and do their job efficiently and inconspicuously? Why do they have to shove their bells and whistles in my face all the time? They're like 50's American cars - huge and covered with fins. What I want is more like a BMW, small, efficient, elegant and understated. Your focus on the whizzy demos may look great at trade shows, but who wants to have their tools screaming at them for attention all the time? It's like having a Roy Lichtenstein painting on your bedroom wall.
- Animats 1y agoThat's from the period when there was no standardization of how the CPU talked to the graphics device. Triangles or quads? Shared memory or command queues? DMA from the CPU side or the graphics device side? Graphics as part of the CPU/memory system or as part of the display system? Can the GPU cause page faults which are serviced by the virtual memory system? Now we have Vulkan. Vulkan standardizes some things, but has a huge number of options because hardware design decisions are exposed at the Vulkan interface. You can transfer data from CPU to GPU via DMA or via shared memory. Memory can be mapped for bidirectional transfer, or for one-way transfer in either direction. Such transfers are slower than normal memory accesses. You can ask the GPU to read textures from CPU memory because GPU memory is full, which also carries a performance penalty. Or you can be on an "integrated graphics" machine where CPU and GPU share the same memory. Most hardware offers some, but not all, of those options. This is why a lot of stuff still uses OpenGL, which hides all that. (I spent a few years writing AutoCAD drivers for devices now best forgotten, and later trying to get 3D graphics to work on PCs in the 1990s. I got to see a lot of graphics boards best forgotten.)
- saltcured 1y agoAnd that was an evolution of earlier 2D cards where you had a potential mixture of CPU-addressable framebuffer and various I/O ports to switch modes between text and raster graphics, adjust video modes in DACs, adjust color palette lookup tables, load fonts for text modes, and maybe address some 2D coprocessors for things like "blitting" (kind of like rectangular 2D DMA), line drawing, or even some basic polygonal rendering with funny options like dithering or stipple shading...
- userbinator 1y agoIt all started with the 8514/A... and maybe a bit of the VGA too.
- saltcured 1y agoAh yes, I remember helping to beta test XFree86 drivers with my Hercules Graphite Pro (?) video card which I believe was some 8514/A or AGX compatible accelerator. It was great to be able to turn on "opaque window moves" and be in the future...
- cadamsdotcom 1y ago> all an application could do was to invoke methods on virtual objects .. the application could not know whether the object was implemented in hardware or in the resource manager's software. The flexibility to make this decision at any time was a huge advantage. As Kim quotes Michael Hara as saying: > “This was the most brilliant thing on the planet. It was our secret sauce. If we missed a feature or a feature was broken, we could put it in the resource manager and it would work.” Absolutely brilliant. Understand the strengths and weaknesses of your tech (slow/updateable software vs fast/frozen hardware) then design the product so a missed deadline won’t sink the company. A perfect combo of technically savvy management and clever engineering.
- tiahura 1y agoTalk by Erik Lindholm (now retired), on Riva 128 and many of the other early Nvidia cards: https://ubc.ca.panopto.com/Panopto/Pages/Viewer.aspx?id=880a1d92-30d7-4683-80e7-b1e000f501d3 https://ubc.ca.panopto.com/Panopto/Pages/Viewer.aspx?id=880a...
- djmips 1y agoThanks!
- trinsic2 1y agoI stopped reading right here: > Because Nvidia became one of the most valuable companies in the world, there are now two books explaining its rise and extolling the genius of Jensen Huang, Yeah, he's a real genius. (Sarcasm). He is a marking guy, there is no genius behind this man. The fact that Nvidia uses its market position cause harm to the industry by strong-arming partners to toe the line makes this company a problem, just like all the others. They operate like any other predatory corporation.
- jwmcq 1y agoProbably read the rest? I did not see Jensen's name on any of the patents that this key engineer discusses the detail and rationale of, and I feel that those names are listed fairly deliberately.
- tasty_freeze 1y ago> He is a marking guy, You would be wrong. He worked at AMD as a design engineer, and later went to LSI logic helping customers put out custom ASICs. One of his customers, a big customer, was Sun, helping with their SPARC processor and the GX graphics chips, and no doubt many others. In 1989-1991 I did three ASICs at LSI Logic -- and Jensen was my liason there on the latter two. He was incredibly smart, hard working, technically knowledgeable, kind, patient, and generous with his time despite being very busy. The marketing stuff came later (or maybe said better: it was latent and it came out later)
- trinsic2 1y agoIf he is an engineer he sure doesn't sound like it with his keynote address. The guy spends more time on AI than talking about how they plan on improve technology and their relationship with their partners.
- int_19h 1y agoAI has been the holy grail for several generations of software engineers; why shouldn't he be excited about it?
- curtisszmania 1y ago[dead]
- Netcob 1y agoInteresting that the bus bandwidth was such a bottleneck, when you could also argue it was VRAM. I never looked into why "Hardware transform&lighting" was introduced so late (I'm guessing it didn't fit on the die next to the rasterization stuff?), but I think hardware t&l combined with storing geometry in VRAM would have reduced bus usage to a minimum.
- DonHopkins 1y agoBruce Factor and Curtis Priem developed a flight simulator called Aviator for Sun's S-Bus GX graphics accelerator. I had one of them on my SS2, and owned a copy of Aviator on CDROM, and loved to play it. It was one of the earliest Sun games distributed with a free playable demo that you could unlock by buying a license key. It would let you play for a minute or so and then the simulation would stop abruptly. That inspired me to do the same thing with SimCity for the Sun: you could play for a few minutes, then the simulator would switch to a cellular automata that would scramble your city, until you bought a license key to unlock it. The GX was an 8-bit display, so it uses a 256 color palette, and drew shaded colors by halftone stippling. You can clearly see that in this video: Aviator 1.5.1 running on SunOS 4.1.4 on a Sparcstation 20 https://www.youtube.com/watch?v=4RQscDJCy4c https://www.youtube.com/watch?v=4RQscDJCy4c Aviator had "aircraftcap" file in the format of (yech) a termcap file, that allowed you to configure your aircraft, and several fighter aircraft, small planes, and a 747 were included. I heard a story about a fighter pilot who played Aviator, but he noticed something was wonky about how a plane he was familiar with flew. So he too a look at the aircraftcap file, and was able to find the problem, tweak it, and then it flew much more to his satisfaction! You could dogfight over the network, and the sneaky thing to do was to hack your aircraftcap file to mount your guided missiles far behind you fighter jet, so when somebody was on your tail, you could shoot them in the ass! Software in silicon: the methodology behind Sun's GX graphics accelerator architecture: https://ieeexplore.ieee.org/document/63673 https://ieeexplore.ieee.org/document/63673 Sun GX Series Graphics Workstations: https://old.hotchips.org/wp-content/uploads/hc_archives/hc01/3_Tue/HC1.S8/HC1.8.2.pdf https://old.hotchips.org/wp-content/uploads/hc_archives/hc01... AVIATOR 1.5 FOR SUN NETWORKS OPENS UP GRAPHICS WORKSTATION GAMES MARKET (July 8 1991): https://www.techmonitor.ai/hardware/aviator_15_for_sun_networks_opens_up_graphics_workstation_games_market https://www.techmonitor.ai/hardware/aviator_15_for_sun_netwo... SGI Users Group Forum: "Aviator" - a flight sim program for Sun GX - does anyone have this installed? Can anyone run it and get screenshots or video? https://forums.sgi.sh/index.php?threads/aviator-a-flight-sim-program-for-sun-gx-does-anyone-have-this-installed-can-anyone-run-it-and-get-screenshots-or-video.885/ https://forums.sgi.sh/index.php?threads/aviator-a-flight-sim... Vintage Computer Federation Forums: The "Aviator" flight sim for Sun GX hardware (e.g. SPARCstations) https://forum.vcfed.org/index.php?threads/the-aviator-flight-sim-for-sun-gx-hardware-e-g-sparcstations.1240578/ https://forum.vcfed.org/index.php?threads/the-aviator-flight... Reddit: A request to owners of Sun GX hardware such as SPARCstations: Can anyone post screenshots or footage from the late 80s/early 90s flight sim "Aviator"? https://www.reddit.com/r/vintagecomputing/comments/y9zfhs/a_request_to_owners_of_sun_gx_hardware_such_as/ https://www.reddit.com/r/vintagecomputing/comments/y9zfhs/a_...
- muziq 1y agoRoundabout when NVIDIA breached 3T USD and ousted Apple from #1 spot: “That is a long way from Curtis Priem's kitchen table, a $2.5M A-round from Sutter Hill and Sequoia, and the NV1.”