Mat*_*att 40 gpu instruction-set
显卡是否有自己的指令集?我认为他们这样做,但我一直想知道它是否是专有的,或者是否有某种开放标准.
是每个GPU指令都先于CPU指令还是无缝的?那就是通过CPU在驱动程序层上调用OpenGL或DirectX,然后CPU向总线发送GPU指令,或者更精细.
Axe*_*ing 35
是的他们这样做.AMD目前甚至提供高达HD4000系列的规格.
看看这里:http://developer.amd.com/wordpress/media/2012/10/R700-Family_Instruction_Set_Architecture.pdf
还有一个名为Nouveau的开源项目,它对NV指令集进行逆向工程.
请注意,NVIDIA的架构与AMD略有不同,因为它们不使用VLIW而是使用标量执行(尽管多个线程另外分组在所谓的Warp或Wavefront中).
此外,并非每个OpenGL/Direct3D调用都映射到"GPU指令".例如,当绑定纹理时,驱动程序将仅设置适当的硬件寄存器,以告知GPU使用哪个纹理存储器进行采样.
实际程序仅在GPU上执行着色器或流处理内核时运行.
是的,GPU 有自己的专有指令集。GPU 指令的执行独立于 CPU 指令。
小智 6
对于 nvidia 卡,您可能需要查看此文档http://docs.nvidia.com/cuda/cuda-binary-utilities/index.html#instruction-set-ref
AMD 下一代图形核心 (GCN)
https://en.wikipedia.org/wiki/Graphics_Core_Next
第一代称为“南岛”。
wiki 页面链接到记录 ISA 的 AMD 规范,例如:http ://developer.amd.com/wordpress/media/2012/12/AMD_Southern_Islands_Instruction_Set_Architecture.pdf
甚至还有一个名为 MIAOW https://github.com/VerticalResearchGroup/miaow的开放 RTL 实现,尽管它可能侵犯了 AMD 目前只是选择默默容忍的一些 IP(来源)。
AMD CDNA
根据维基百科:https: //en.wikipedia.org/wiki/AMD_Instinct较新的 AMD 专注于计算的 GPU 产品(例如 Instinct 系列)似乎使用 CDNA 架构,例如:
SPIR-V
https://en.wikipedia.org/wiki/Standard_Portable_Intermediate_Representation是 Krhonos 标准中间语言。
它的设计可能与现有的 GPU ISA 类似,因此更容易实现并得到更好的采用,因此它应该能够很好地了解实际的 GPU ISA。
如果这个标准确实流行起来,就像 Vulkan 和 OpenCL 2.1 中采用的情况一样,未来的实现很可能被设计为紧密实现以获得更好的性能。
如何获取和修改PTX
有关的
https://computergraphics.stackexchange.com/questions/7809/what-does-gpu- assembly-look-like