● 隐形的主宰
从1.25亿晶体管到今天的71亿晶体管、从combine到全功能ALU集群、从固定渲染管线到并行运算架构……GPU的逻辑结构和规模在过去十年间发生了翻天覆地的变化。如果将基于Kepler架构的GK110展示给一位2003年的硬件爱好者,他甚至可能完全无法猜到这一坨规模大的吓人的集成电路究竟是做什么用的。如果没有一股强大的力量在推动并约束方向,GPU有如此规模的发展几乎是不可能实现的。那么究竟是谁充当了这股强大而且稳定的推动力呢?
这股力量,就是我们熟悉却又不常提起的图形API。
典型图形API之一:JAVA图形API
其实不管创造或者使用了多么玄乎的概念或者操作之类的东西,计算机图形的发展方向始终都还是很单纯的,那就是视觉虚拟现实。实现视觉虚拟现实的相关操作需要以数学的方式构建一套可以被硬件执行的函数集合,这个函数集合包含了组成被渲染目标一切可视信息,通过对这个集合的演算以及操作,最终将我们需要的形状和色彩输出到输出装置中去。在这一过程中,将不同种类形式的函数与具体指令进行对应衔接的工作显然是最为重要的,如果没有这一步骤,指令的执行以及硬件的有效运作都将无从谈起。而完成这一工作的,正是图形API。
简而言之,图形API就是一个大量底层图形指令的集合,每种指令都有特定的功能和作用。软件只需将自己所要进行的工作表达成特定的函数,进而根据API中规定好的指令功能设定出函数的执行和指令的调用方式,便可以调用硬件来执行这些函数进而完成图形的表达工作了。而被调用的硬件,也就是GPU的设计则很明显的需要遵循API的需求。
API是软件和硬件之间的桥梁,同时也是约束和推动硬件发展的重要动力。每一代图形API都会依据制定者的期望提出相应的指令以及执行需求,这些需求为GPU的设计限定了舞台的范围,设计者必须研究这些指令的特点以及执行需求的细节,并对应的拿出能够正确并且高效的执行这些指令的逻辑结构。GPU的实际性能表现,实际上完全由与API的契合度决定。
所以,这就是我们以API的版本更迭为界限来进行GPU十年历史回顾的原因——表面上看我们所经历的似乎是GPU硬件架构的蓬勃发展,但其实真正“说了算”的却是躲在幕后的图形API,所有GPU的进步都是围绕着“如何满足图形API需求”这样的课题而进行的,它才是决定一切的隐性主宰。
当然,图形API的对于图形业界的统治和刺激并非全然都是正面的和积极的,在GPU十年时代的大部分时候,硬件与API之间的关系其实并没有我们想象中那样平顺,这一点在微软的DirectX上尤为明显,但它依旧造就了我们现在所追忆的属于GPU的DirectX 9时代,一个孕育无限可能的上帝时代。
三秦IT网的官方微信:更多资讯请关注:三秦IT网官方微博