Quadro专业显卡与Geforce游戏显卡区别在哪?

一直以来都在跑cuda程序,用的显卡都是P4000,但P4000的性能和我预想中的差距实在是有些大,哎,不说了,也没用过openGL啥的,以后老老实实用2080吧!

Quadro和Geforce最明显的区别是驱动程序对OpenGL的支持和显存大小——除了价格这个最明显的因素以外。

 

显存大小从显卡参数就能看出来,这个不详细说了。带来的影响,其实和内存对于CPU一样的:多了没用,少了卡成狗。然而多少算是够用呢?Geforce面对的应用主要是游戏,在某个时期大部分的游戏使用的也就是几个特定的游戏引擎,面对流行显示分辨率,常用的贴图尺寸以及模型复杂度相近的情况下,只要能满足这几个游戏引擎的需要就可以了。而Quadro面对的专业应用则不然,也许只是一个几十万多边形的一般复杂度的零件,也许是上亿多边形组成的精密零件模型,例如航空发动机模型、汽车车身模型等,复杂度往往由现实需要决定,永远都存在显存不够的场景——当然显卡厂商也不可能无限制的提供显存容量,总要顾及成本问题,而且GPU本身的处理能力也是有限的。另外需要提一下的是GPU运算越来越普遍的今天,很多计算应用对显存的渴求也是随着计算内容的不同呈现很大的差异化,有相当一部分应用在处理一些特定运算的时候,当数据量少的时候,同核心的Quadro比Geforce性能还差一点(Quadro的频率通常比Geforce低),但数据量超过某个阈值之后,Quadro的性能会比Geforce有明显提高。

 

驱动程序对OpenGL的支持,很多网上的说法是完整性,包括高赞答里面的。这个我自己没有做过OpenGL的开发,更不是显卡从业人员。在没看到可信来源的文章论证和说明之前,我个人保留意见。但很明显并且可验证的是几个常见的基于OpenGL的CAD软件的性能差距[1]:

从对比数据可以看出,同样基于GP104芯片,2048个CUDA单元的Geforce 1070(移动版)和Quadro P5000,在SPECviewperf测试中的Solidwords、Creo、CATIA子项中,Quadro性能提升314%、269%、208%,在西门子NX项目中,更是达到了2253%的夸张差距。作为对比,使用Direct3D的Maya子项目中,平均得分P5000的性能提升只有126%,如果看最高得分的话,只有79%——还不如Geforce。

 

造成这个性能差距的原因,按照我看到的一些文章的解释,很多CAD软件使用OpenGL里面的固定函数管线(fixed function pipeline)接口,这种接口主要用于早期顶点单元/像素单元是分离的显卡。显卡厂商提出统一渲染架构之后,OpenGL 从版本3.0开始废弃相关API,归类到Legacy OpenGL里面[2],但CAD软件大部分还在使用相关接口,而Geforce不再对Legacy OpenGL提供支持。这个说法和其它回答里面说的Geforce对OpenGL支持不完整类似,但我看到的几篇文章都没有给出可信来源证明,说出来作为一个参考吧。


除了这两个明显的差异以外,Quadro侧重于稳定性和正确性,Geforce则侧重于性能。稳定性方面,大体就是Quadro的工作频率更低,原厂质量,采用ECC显存避免可能出现的显存数据错误。驱动方面,各大CAD软件供应商都有认证驱动,也就是该版本驱动是经过严格而且全面测试的。说回来,稳定性是个很虚的东西,这些措施并不能保证100%不出问题,没有这些措施的Geforce也不是经常出问题,只能说是概率大小不同而已

 

正确性方面,因为GPU是并行处理,但实际情况并非所有运算都可以完全并行,总会有一些线程的计算会对其它线程的结果造成影响,但既然是并行处理,很难保证受影响的线程就一定先完成运算。举例来说,一个场景有一朵花,上面有一只蜜蜂。我们看到的应该是蜜蜂遮挡住后面的花,但如果渲染的时候渲染蜜蜂的线程先完成了工作,花的渲染是后完成的,就有可能在画面上看到蜜蜂躲在花的后面。Quadro的驱动对类似这样的情况检查非常严格,会保证不出现这样的情况。而Geforce为了游戏性能,会有很小概率的情况忽略掉这样的错误。和稳定性一样,正确性也是个出现概率大小的问题


[1]:Graphics Card Comparison - Head 2 Head,需要说明的是notebookcheck单个配件的成绩由多个使用该配件的笔记本型号测试成绩平均得出,不同笔记本使用不同的CPU,散热能力不同可能导致某个项目成绩出现比较大的性能差异。可以点开显卡型号查看具体型号得分。

[2]:Legacy OpenGL - OpenGL Wiki

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章