Live data from Hacker News

Nvidia releases open-source GPU kernel modules

developer.nvidia.com

241–250 of 415 posts

Re: Nvidia releases open-source GPU kernel modules

#241
post #53

1) This is unambiguously Good News 2) This is not upstreamable in its current form (nvidia admit this in their press release) 3) In an ideal world, nouveau (the open source driver for nvidia hardware) would be able to target this kernel code. Right now though there's no commitment for any sort of stable userland ABI, and that makes that difficult (moving to a new driver version may break interfaces that nouveau uses)…

> This is not upstreamable in its current form What does "upstreamable" mean in this context? Is this good or bad? As a follow-up, what would need to be different so that it is upstreamable and would that be good or bad?

'Upstreamable' means that they send Linus a pull request, and Linus merges it into the kernel. It would then become part of Linux.

It's a negative that it's not upstreamable. I wouldn't go so far as to say it's bad, but it's less than good. That means you'll continue to maintain a separate kernel module that's rebuilt for each kernel.

It would need to be modified to match the kernel's coding standards and whatnot. Part of what makes linux such a strong thing is that you're just not allowed to do certain things in the kernel. They won't include ZFS in the kernel because it's got its own entire vfs -- linux filesystems are only permitted to use linux's vfs, and if you need vfs changes to make it work, you modify the 'one true' vfs. They didn't include the original AMD Radeon driver because it had its own hardware abstraction layer; you're supposed to do that in user space or not at all. (the Radeon driver was changed to remove the abstraction layer, and it was later merged into the kernel)

It's not immediately clear to me how much work it will take to get the driver into the kernel. Hopefully it won't be a lot of work, but it's possible that it would require basically rewriting it from scratch. It's at least written almost entirely in C, so that's a good start.

Regardless, this is tremendously good news.

Re: Nvidia releases open-source GPU kernel modules

#242

Earlier quoted context omitted.

Wow! MIT is about as clean as you can go, with no real reserved advantage to dual license etc using Affero GPLv3 or similar. Not bad.

I wonder if this is related: https://www.eetimes.com/wp-content/uploads/Nvidia-hack-secur...

def seems related

Re: Nvidia releases open-source GPU kernel modules

#244
post #209

Earlier quoted context omitted.

Are APUs different from what we used to call integrated graphics cards?

The difference is getting blurry. Apus have generally better communication/latency/shared resources with the CPU. The ultimate ideal of an APU is to have a unified memory with the CPU, which is the case in e.g the PS3/PS4 Despite progress in heterogenous computing (the neglected HSA), in SOCs, 3D ingerposers, high bandwidth buses interconnects and 3D memory such as HBM, the PC platform has yet to see a proper APU. In…

> An unrelated but very underrated is the egpu. Egpus are external to the pc unlike a dgpu. So you can buy a thin laptop, connect it via Thunderbolt to a rtx 3080 and enjoy faster gpu performance than allowed on any laptop on the market, and enjoy a thin lightweight, silent laptop the rest of the time. Disclaimer Thunderbolt is still a moderate limiting factor in reaching peak performance.

Not just for laptops: this sounds also a bit like what the Switch dock could have been.

(And in some sense, it reminds me of Super FX chip for the SNES.)

Re: Nvidia releases open-source GPU kernel modules

#245
post #99

23 years ago in middle school I made my first ever linux user group post [1] trying to shift from an nvidia geforce to the onboard cyrix mediagx drivers because they had closed source drivers. It’s been a long time coming lol. [1] https://www.spinics.net/lists/xf-xpert/msg04601.html

They can finally close that support ticket!

Re: Nvidia releases open-source GPU kernel modules

#247
post #234

Earlier quoted context omitted.

> upstreaming it is considered extremely good are we assuming some sort of automatic testing will be added? unit testing? integration testing? sounds super hard to do for a driver. but... high quality code just being merged into master can still have bugs introduced in the future on accident, right? it's tests that usually makes it safe?

You can run these sorts of tests in a VM with PCIe passthrough.

And hardware companies usually have large test-beds of hardware. So, Nvidia should be able to build a comprehensive test-suite.

Re: Nvidia releases open-source GPU kernel modules

#248
post #173

Phoronix link about what this actually means: https://www.phoronix.com/scan.php?page=article&item=nvidia-o... Main takeaways: - support for gaming workstation GPUs is alpha - the user space stuff (OpenGL/Vulkan) is still closed source. (A LOT of heavy lifting is done here.)

Ok, we've changed to that from https://developer.nvidia.com/blog/nvidia-releases-open-sourc... above. Thanks! Edit: ok, changed back

Uh why would you change from a good, official source to a worse rehash of the same stuff with less detail from Phoronix?

I don't even dislike Phoronix, but what was wrong with the first-party source?

Re: Nvidia releases open-source GPU kernel modules

#249

Earlier quoted context omitted.

> This is not upstreamable in its current form What does "upstreamable" mean in this context? Is this good or bad? As a follow-up, what would need to be different so that it is upstreamable and would that be good or bad?

> What does "upstreamable" mean in this context? Is this good or bad? "Upstream" is the kernel source tree maintained by Linus (and friends). As Linux is open source, anyone can fork it for any reason, and a lot of people do. However, Linus still maintains the common base that people use to build on top of. "Upstreaming" is the process of getting your code included in these official releases. It's significant because…

Excellent answer, thank you. I appreciate both the overall general answer and the detail specifically involving the nvidia driver itself.

Re: Nvidia releases open-source GPU kernel modules

#250

Well, then... hopefully FreeBSD and illumos will finally start getting support for CUDA.

This. A clutch of really nice laptops fail hard when you include the .ko GPU blobs, and most developers in BSD land shrug and say "use VESA 2D" which is fine, for all but high-DPI use. (ok, its fine everywhere, but sub-par. you use more grunt doing less work to try and deal with dumb video device)

so ok, not exactly "this == CUDA" but this == decent kernel module drivers for the GPU.

Post reply on HN