5 ms·
How come GPU instruction set architectures are relatively under-documented compared to x86? If anything, better results can be attained if more is known, https
by ngneer 8y ago
How come GPU instruction set architectures are relatively under-documented compared to x86? If anything, better results can be attained if more is known,
https://research.google.com/pubs/archive/45226.pdf https://research.google.com/pubs/archive/45226.pdf
- monocasa 8y agoBecause they don't want to be tied to an ISA and it's backwards compatibility requirements. They've heavily changed the underlying ISA many times in the past twenty years or so, even shifting paradigms. They've gone from horizontal microcode, to VLIW, to RISC-esque SIMD, and want the freedom to keep changing it up.
- ChuckMcM 8y agoI am guessing that is a big part of it, avoiding patent litigation is another. There are a zillion patents around GPUs that it is difficult to prove the someone is using without more information about the internals. Back when I signed the S3 NDA/License agreement to get access to their underlying architecture there were specific clauses in that agreement that said I would agree to indemnify them if anyone brought patent litigation against them as are result of information I disclosed. It was unusual enough for me to remember it all these years later.
- dragontamer 8y agoThis is architecture documentation. The ISA doesn't belong in this document. The GPU Instruction Set will almost assuredly be published as well. https://software.intel.com/en-us/articles/introduction-to-gen-assembly https://software.intel.com/en-us/articles/introduction-to-ge... https://01.org/linuxgraphics/documentation/hardware-specification-prms https://01.org/linuxgraphics/documentation/hardware-specific... Both Intel and AMD release documentation on the raw assembly language of their GPUs. ------- Only NVidia really "hides" their SASS (lowest level assembly language). But NVidia has very good documentation on PTX-assembly, which is practically as low level as you need. People who have reverse-engineered SASS have noticed that SASS grossly changes between NVidia architectures. Basically, NVidia doesn't want to be tied down to any decision between GPU generations. So they publish PTX documentation (a very low-level GPU-assembly language which is reinterpreted between generations), but keep the SASS stuff pseudo-secret. You can still figure out SASS through NVidia tools... if you think you need to see under the hood. They have compilers, disassemblers, and such available. But its mostly undocumented and changes grossly between generations. Its probably not worth the effort to learn.