Hacker News new | ask | show | jobs
by amelius 759 days ago
Waiting for an OS that treats GPU(s) as a first class citizen ...
4 comments

That wouldn't be too hard if GPU's would have a stable interface. Try programming a GPU in Assembly language and see how that goes. The experience sucks, but that's the level that needs to be targeted in case of an OS.
For example, in the past Amiga computers had a 'GPU' (although much less powerful than todays GPUs) with a stable interface. It was a first class citizen in its OS. It also was incredibly easy to target in Assembly language.
Blitter was great, but those were simpler times.

The best we have nowadays is using compute shaders for the same purpose.

Just like when using a TMS34010 with its C SDK.

Amiga died because it was stuck with the same old "GPU" for too long, among other reasons.
If programming GPU drivers was not something only a handful of employees with NVIDIA or AMD badges could do (because of NDAs, non-public documentation and immense complexity), somebody would have tried.
The point (for some) of writing your own OS is that you do something only a handful of people can do ...
Writing GPU drivers is not hard per se. It is impossible if you don't work at the vendor and have access to internal documentation.

Knowing how to write a kernel (which incidentally I am doing for the second time) doesn't mean you have years to dedicate to reverse engineer something as complicated as a GPU

Are you thinking something like Plan9 instances, cloud-in-a-box style, or something else?
What should this OS do?