AMD Publishes RDNA 2 ISA Documentation
The 291 page document outlining the RDNA 2 instruction set architecture is now public for all to enjoy. The ISA documentation has been the extent lately of AMD's public open-source programming documentation - in the past they did publish more hardware documentation concerning the GPU registers and all of the nitty-gritty details to assemble your own GPU driver, but that has been phased out for years. They have favored their open-source Linux driver stack as the alternative as a sort of living GPU document for those wondering about the inner-workings of recent AMD GPUs. Publishing all of the GPU documentation is a quite time intensive effort by their engineers and also needs to undergo lengthy internal and legal review processes, etc. By foregoing that their open-source Linux driver team can spend more time just working on improving the driver itself.
The publishing of the RDNA 2 instruction set architecture will help those for instance wanting to contribute to the AMDGPU LLVM back-end or especially for ACO developers working on their own compiler back-end. The RDNA2 support with RADV+ACO is already in good shape but will be interesting to see if this ISA documentation helps them squeeze out any more performance optimizations. Similarly, the ISA documentation can come in handy for the still ongoing Radeon GPU support within the GCC compiler.
It is interesting to note the RDNA 2 ISA documentation notes just two ray-tracing instructions: IMAGE_BVH_INTERSECT_RAY / IMAGE_BVH64_INTERSECT_RAY. Plus other interesting technical details within the document make for some fun morning coffee (or late night beer) reading.
Those wanting to dive into the RDNA 2 ISA documentation can find it via GPUOpen.com.