4 ms·
Where do they get all this information about things like registers? I thought GPU ISAs were treated like trade secrets?
by immibis 2y ago
Where do they get all this information about things like registers? I thought GPU ISAs were treated like trade secrets?
- wmf 2y agoIntel and AMD GPUs have public documentation and open source drivers.
- ForTheKidz 2y agoDoes "open source drivers" imply documentation of the underlying ISA or just the tooling to shepherd it? How much code would I need to go from bootloader to quake 2 assuming I only needed to play that one piece of software on my one card?
- almostgotcaught 2y agohttps://www.amd.com/content/dam/amd/en/documents/instinct-tech-docs/instruction-set-architectures/amd-instinct-mi300-cdna3-instruction-set-architecture.pdf https://www.amd.com/content/dam/amd/en/documents/instinct-te... The compiler is LLVM https://github.com/llvm/llvm-project/tree/main/llvm/lib/Target/AMDGPU https://github.com/llvm/llvm-project/tree/main/llvm/lib/Targ... It's all there. For the driver/runtime everything is also open and upstreamed into the Linux kernel (register map and pcie bar and etc). The packet protocol isn't well-documented but documented enough that tinygrad managed to build their own driver from scratch.
- ForTheKidz 2y agoOh wow, that's very impressive documentation. We might actually see an opportunity to move beyond linux and closed drivers in this lifetime.
- deleted 2y ago[deleted]
- adrian_b 2y agoWhile the AMD ISA documentation has been slightly improving during the last years, so the document about RDNA 3.5 is noticeably better than older documents, Intel has failed to publish the documentation for the latest Xe versions, even if in the past its GPU documentation was much better than that of AMD. Intel still has to publish several additional manuals, to cover Xe in Meteor Lake, Xe in Arrow Lake H, Xe 2 in Lunar Lake and Xe 2 in discrete GPUs, and then Xe 3 in Panther Lake, to bring their documentation up to date. You can extract most of the GPU information from the open-source Linux drivers and LLVM compiling back-end, but this is a poor substitute for actual GPU ISA documentation.
- MisterTea 2y agohttps://www.intel.com/content/www/us/en/docs/graphics-for-linux/developer-reference/1-0/overview.html https://www.intel.com/content/www/us/en/docs/graphics-for-li... edit: they are scary huge.
- mandevil 2y agoThat's a privilege that the dominant players in the market can get away with. If you are the #1, everyone will do what they need to to run on your stuff. But the players trying desperately to get programmers (and customers) to pay attention to them need to make things as easy as possible to use.
- CyberDildonics 2y agoThat didn't answer the question at all.
- Dylan16807 2y agoIt answers the second question.
- skavi 2y agolinux and llvm contributions are where I would look.