显卡是否有自己的指令集?

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上执行着色器或流处理内核时运行.

  • pdf已移至此处:http://developer.amd.com/wordpress/media/2012/10/R700-Family_Instruction_Set_Architecture.pdf (2认同)

swe*_*egi 7

是的,GPU 有自己的专有指令集。GPU 指令的执行独立于 CPU 指令。

  • @Matt:驱动程序处理所有这些;Windows 以某种方式与驱动程序对话,驱动程序以某种方式与 GPU 对话。 (13认同)
  • 好的,但是操作系统怎么知道这样做呢?如果操作系统是为 x86 编译的,我理解它是如何知道 x86 指令的。但是如果系统有 ATI 卡,它怎么知道使用 ATI 指令集呢?cpu 是否首先调用执行 opengl 指令的驱动程序?指令到适当资源的路由是什么? (3认同)

Cir*_*四事件 6

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

如何创建或操作GPU汇编器?

有关的

https://computergraphics.stackexchange.com/questions/7809/what-does-gpu- assembly-look-like


小智 5

目前,NVIDIA显卡使用某种称为PTX的中间ISA.您可以在本文档中阅读:

PTX ISA 1.1

PTX程序在安装时被转换为目标硬件指令集.