革命|GPU没有通用的指令集的原因

【革命|GPU没有通用的指令集的原因】革命|GPU没有通用的指令集的原因

文章图片


现在大家对电脑的配置都已经有点一点点的了解 , 已经不想二十几年前那样容易被宰 , 随着现在互联网的兴起 , 很多的电脑配置都可以在网上找到现阶段最适合自己的最优选 , 以前的那些宰客的老套路已经很容易被识破了 , 大家现在去组装配置电脑的时候 , 一般对电脑有着一知半解的用户都是死盯着显卡的性能不放 , 当然这也是正常的 , 一般显卡负责的就是模型加载和特效渲染 。
但是现在市面上这么多的显卡 , 却没有一个通用的GPU指令 , 都是各自玩各自的 , 为什么不弄出一个统一的指令集呢?这样用户使用起来也是比较的方便的 。

GPU 的指令集每一代都有不少变化 , 整个行业都在高速狂奔阶段 , 给你指令集的细节你能做的也就是软件开发上的便利 , gpu设计上减少调度功能 , 更依赖于编译器的优化 。 相对于CPU的指令集 , GPU的通用程度确实不好;即使是相对于同一个厂商的不同GPU系列通用程度也是一样不好 。

而且硬件指令集是有专利保护的 , 每个厂商都推自家的指令集 , 这给软件厂商带来额外的适配成本 , 在成本考量下软件厂商不会去支持所有的硬件指令集 , 只会有取舍的支持几个头部的大厂 , 长此下去只会剩下一家最大的厂商赢家通吃 , 不利于市场竞争 。
GPU是专用处理器 , 只需要完成固定的任务 , CPU上的程序只需要通过API传递任务 , 不必关心其内部发生了什么 。