back

by rvz·6y ago·view on hn ↗
> Can't bloody nvidia just open source everything. Those managers should be hanged. Wasted way too much time on this.

As much as I want NVIDIA to open-source their drivers, they won't because of the same reasons the Raspberry Pi guys won't open-source their bootloader; they have to protect their IP.

To us it is a triumphant revelation to the 'open-source' community if they open-source their drivers, but in reality, to them it is absolutely 'treasonous' for someone in the company to open-source them as it is essentially risks their IP being stolen or fully reverse-engineered from a 1:1 reference to the original code.

Not as simple as it sounds to just 'open-source' something like drivers does it?

2 comments
The claims about their IP being stolen are not credible.

For one, AMD has an open source graphics stack and none of their IP has been stolen.

Furthermore, Nvidia actually has pretty good support for nouveau (open source driver) on the Tegra line. Nvidia's real IP has not been compromised. Nvidia had to provide good open source support because the automotive industry wants guarantees that hardware will be able to run modern kernels many years in the future.

Open sourcing/upstreaming the device drivers has business value because it means the actual devices sold will be supported by Linux until they are truly obsolete. (Think i368)

Device drivers are not sexy, all they do is setup/shutdown hardware and provide hooks for the operating system to make system calls work. This is not core IP, kernel drivers are the bare minimum to enable hardware to be useful.

The real reason Nvidia doesn't want to open source it's device drivers is because it would cost money to do so. It would likely require a total rewrite, and Nvidias current driver presumably shares code between platforms with a shim that only Nvidia knows about. If everyone used Linux Nvidia would probably have open source drivers for workstations (like they do for embedded)

> all they do is setup/shutdown hardware and provide hooks for the operating system

NVidia GPU driver does more than that, at least on Windows. Ever wondered why NVidia ships a new version of GPU driver at the same time an AAA game is released?

Same reason AMD does: driver included hacks, either stability or performance.
AMD is playing catch up, being far away from NVidia; the strategy is to open its stack so that people like you jump on the bandwagon and do exactly what you are doing, i.e. complaining about closed nature of the GPGPU computing NVidia created and cultivated. The same complaints as with Intel on MKL, i.e. AMD ignoring that market completely and then fans suddenly waking up and complaining everywhere. As we see with new Threadripper, once they are dominant they change their attitudes quickly. The only thing we as customers can do is to vote with our wallets and strategically support whoever does more sensible stuff, playing companies against each other.
What did AMD do with Threadripper? Raise prices to 70% of Intel's after Intel lowered theirs? Sure AMD is "just another company" but they have years to go until they can afford to get lazy and use exclusion tactics.
I’m genuinely uncertain as to what you’re complaining about re. AMD
They had my sympathies as they were on the verge of bankruptcy multiple times in the past decade; it's logical CUDA and MKL passed by and they couldn't react due to a lack of funds. However all the fanboys have to realize that building CUDA or MKL takes many talented/expensive developers/other personnel and obviously companies want to keep markets they created with them. And now with TR3 basically aiming for total high end, completely bypassing existing x399 and offering no "lower core number" versions of TR3, it's just a CPU for elite, not for regular folks, which never happened with AMD before and I view it as a worrying shift.
You can kind of see how they ended up where they did with TR3. With Zen 1 they had Ryzen going up to 8 cores, Threadripper between 8 and 16 and Epyc picking up from there.

For Zen 2 they've got the AM4 Ryzen with up to 16 cores and PCIe 4.0, and Epyc now goes up to 64 but it still starts at 8. Where does that leave for TR3? They got questions about whether they were even going to produce it. If a 16-core Ryzen 9 3950X is $749 and a 16-core Epyc 7302P is $825 then where would you put a 16-core TR3?

It's also possible the new I/O die pushed them to change the socket. Chopping the socket in half to create Threadripper from Epyc is one thing when the socket is already a 4-die package and you can just take two out, but what happens with the new Epyc I/O die which is designed for the whole socket, and could use it even for Threadripper? AM4 and Epyc have all the volume, reworking things like that specifically for compatibility with existing Threadripper boards may not have been worth it. Meanwhile a new socket lets them actually take advantage of the new I/O die to add more PCIe lanes etc.

It stinks that it's not compatible but it smells more like hard trade offs than malice.

Frankly, TR3 is a bit schizophrenic. So they introduced a new socket/platform for supporting up to 64 cores, yet still restricted memory to 256GB UDIMMs, instead of switching over to LRDIMM and allowing up to 4TB of RAM. And the whole platform is dead the moment DDR5 shows up (2021?). Restrict TR3 to top-end only, but limit RAM to low-to-mid-end workstation. It simply doesn't make any sense why to go through all those steps to bypass x399 while not bringing much to the table. Also, no single TRX40 board has more than 4 PCIe slots...
> So they introduced a new socket/platform for supporting up to 64 cores, yet still restricted memory to 256GB UDIMMs, instead of switching over to LRDIMM and allowing up to 4TB of RAM.

The only reason all desktops don't support RDIMMs in addition to UDIMMs is market segmentation. The Athlon XP supported both because they were really the same die with the same memory controller as the Athlon MP. They're playing the same stupid game as Intel now but it's nothing new with TR3. They've been doing it since the Athlon 64 or so.

Though it's especially annoying because the "workstation" models (FX/TR) have higher clocks than Opteron/Epyc, so there is no way to combine the higher clocked processors with the higher memory capacity boards.

> And the whole platform is dead the moment DDR5 shows up (2021?).

That happens either way.

You're regarding this as a whole new platform they had to design just for this, but it's more like a little tweak on the existing design with the unfortunate side effect of breaking compatibility.

> Also, no single TRX40 board has more than 4 PCIe slots...

There are boards with four real x16 slots, which is 64 lanes. The other 8 are needed for the on-board devices.

I don't think you know what you're talking about, at all.
and AMD has no IP?