Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I can suggest a good reason why the Nvidia GPU drivers are opaque binary blobs.

Generally speaking, you don't build a multi-billion transistor chip, and manage to ship the A01 spin without doing some magic.

The Nvidia GPU i/o interface is a remarkable mechanism where the resource manager (the code that sits at the very lowest level) can patch the hardware interface to get around hardware issues and give the appearance of a chip that is working perfectly.

I'm not claiming the blobs work well or anything. I'm just saying there's a reason Nvidia does blobs.

Typically, an A01 chip will ship with about 50 bugs that are worked around in the resource manager and driver. They really do not want to tell you about these bugs -- because they are WORKED AROUND. You don't need to see the sausage made, so to speak.



I do not understand your argument.

You suggest that there are work-arounds in the drivers. And then you imply that people do not want to see them.

First of all, I am unsure if people not willing to see the work-arounds is generally true to begin with.

But more importantly, if someone does not want to see something, they can simply not look. I do not understand how that is meant to justify these drivers being binary blobs.


The argument is "It's embarrassing"

Outsiders are irrelevant - if something makes you feel embarrassed, it's embarrassing.


So you are saying Nvidia hardware is crap, and therefore we don’t want to see their drivers?

Either that means that AMD hardware is far superior, or people do actually want to see the drivers (including workarounds).


Isn't that essentially the same as what everyone does with CPUs?


GPUs ship with far more workarounds in the drivers because the programmer only has access to the hardware via drivers that can cover up the bugs, and because they’re not constrained by binary compatibility.


Yes. I think for the CPU they mostly stick those work-arounds into microcode?


Honest question: if you are nvidia, why not publish the interface specification for your device? If there are silicon bugs, publish the errata and the workaround. I've seen SOC manufacturers do similar. What's different about GPUs?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: