中文第一计算机图形学社区OpenGPU 版权所有2007-2018

 找回密码
 注册

扫一扫,访问微社区

搜索
查看: 3558|回复: 5

nvidia GPU的硬件指令集是什么?(不是PTX)

[复制链接]
发表于 2017-1-25 11:47:35 | 显示全部楼层 |阅读模式


现在的nvidia GPU是统一着色器,可以计算顶点、像素,还能进行通用计算。
可以运行OpenGL的 GLSL shader;
还可以运行CUDA程序。




CUDA程序编译后形成中间PTX格式代码和SASS二进制代码,运行时需要的是SASS代码。
请问,[size=14.2857141494751px]GLSL shader编译之后是什么形式?也是SASS二进制吗?


我猜想,硬件应该也有一种特定的指令集,不管是CUDA程序,还是GLSL,最终都要转化成这种指令,才能在硬件上执行;
按照nvidia的官方文档,这种硬件指令集不同代的硬件上应该是不同的,
但我还没找到这种指令集的资料,求教大家在哪里能找到这种资料?比如Fermi架构的?非常感谢。
 楼主| 发表于 2017-1-25 15:19:55 | 显示全部楼层
既然shader和CUDA,还有另外nvidia 的Cg编译后的本地代码,最终都在同一个运算单元上运行,他们的最终指令集应该是相同的,具体到fermi、kepler,pascal上,是什么指令集呢?有无公开的资料,还是说全都是nvidia的商业机密不公开?
发表于 2017-1-25 20:05:27 | 显示全部楼层
cjllean 发表于 2017-1-25 15:19
既然shader和CUDA,还有另外nvidia 的Cg编译后的本地代码,最终都在同一个运算单元上运行,他们的最终指令 ...

AMD的开放出来了,NV的除了PTX,更深层次的也没有见到,群里的大牛应该有。
发表于 2017-2-11 07:59:20 | 显示全部楼层
优化SASS 是NV的事,你不知道SM架构怎么优化

当然如果你是大客户, 可以跟NV直接提需求
发表于 2017-2-11 14:42:37 | 显示全部楼层
GLSL最开始只是个标准,具体的实现是由各自的厂商实现。不像DX,MS提供了标准+工具链+实现。如今又发明了SPIR,这样有了一个统一的中间层。在这个之下的实现是纯粹的硬件厂商自己的实现了。
发表于 2017-2-12 09:38:48 | 显示全部楼层
就是SASS指令集。NVASM和cuobjdump上有一些,但感觉不全。NV没有公布过assembler。Fermi上可以去看开源的asfermi,里面讲了一些。Maxwell可以去查maxas,其他的应该没了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|小黑屋|Archiver|手机版|中文第一计算机图形学社区OpenGPU

GMT+8, 2018-5-23 07:15 , Processed in 0.044143 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表