2017最新注册送白菜网【注册送白菜全讯网】2017注册送白菜

加入收藏 | 设为2017最新注册送白菜网 | 会员中心 | 我要投稿 | RSS
您当前的位置:2017最新注册送白菜网 > 技术 > 使用心得

Dell Precision 7720升级显卡P5000的研究与实践

时间:2017-06-21 11:34:02  来源:51nb  作者:CooperY

      转载声明

      本文原发于51nb.com,本文原作者保证该文的原创性,并保留本文的著作权。在保留本转载声明完整性并标明转载的情况下,本文允许进行转载,允许进行不包括本转载声明在内的节选及修改。读者应明白该文在传播过程中可能经历节选或修改,其内容及所反映的观点可能会和原文存在出入。

      1. 前言

      随着最近计算任务的增加,自己的老本子(i7-3612QM 640M LE)已经吃不消这些工作量,遂决定直接换台新的。考虑到自己目前仍然需要到处跑,台式机很明显是不可行的,直接租用带GPU的VPS倒也可以,不过一方面价格略高,一方面自己在国内的时候要上传数据就比较蛋疼了。思索再三,还是直接换个本子合适。

      综合性能、重量、可拓展能力等多方面考量,最终选择了7720作为自己的新机。       首先,7720虽然是17寸的机型,重量只在3.4kg左右,大小也较17寸游戏本小一圈。适配器虽不轻薄,不过得益于Kaby Lake的省电和90+Wh的大电池,Windows 10续航一天完全没问题,也即适配器重量可以不考虑。最终背包+7720+一些自己日常用品综合只在5kg,这是完全可以接受的。       其次,7720虽然键盘没有ThinkPad理想,小蓝点的手感更是捉鸡,但bios没有白名单,可以自由更换显卡、网卡等硬件,考虑到键盘完全可以靠外置弥补,选择拓展性更好的显然比较明智。         最后,选择7720这类使用BGA CPU的机型,而非蓝天等使用LGA CPU的机型,主要缘于续航需求和自身计算任务的特殊性。没有续航=要带适配器=重量增加=便携性变差,我只能选择接受CPU性能上的妥协。而因为自己当前只需要GPU做CUDA运算,并不需要真的用显卡做显示,尤其是考虑到集显在显著改善续航的同时还给予了系统在虚拟化方面更多的折腾空间,准系统这类没有核显的反而不太合适。

      2. 如何选择适合自己的显卡

      跑CUDA运算用专业卡做什么?你说得对,我确实不需要专业卡。或者说,不完全需要专业卡。我不需要专业卡的认证驱动,不需要跑BIM、CAD。但我需要专业卡的大显存,需要专业卡的稳定性,即使我个人认为稳定性是一种玄学。

      在一切开始之前,我们首先来说说如何衡量显卡的性能。

      2.1 显卡性能的衡量

      事实上,衡量N卡计算性能非常简单,简单得令人发指。不需要跑分,不需要考虑专不专业、游不游戏、也不需要讲究显存大小。N卡对于32位浮点的运算性能只要使用这样一个公式就能算出来:

      --------------------------- CUDA核心数×2×最大频率=FP32浮点运算性能 ---------------------------       我们以一下几款显卡为例:

  28.JPG

*所有GPU数据都出自

      **本表不考虑任何Boost外的超频情况,该表目的仅用于证明该公式的有效性

      根据公式,我们可以非常容易地求得其理论的FP32计算能力:

29.JPG

*巫师3测试数据来自

      **巫师3在DX11下运行,全最高特效,2560×1440分辨率

      ***未纳入TiTan Xp测试数据因为其网站上的测试结果前后无法自洽      

      ****本表不考虑任何Boost外的超频情况,该表目的仅用于证明该公式的有效性      

      稍微用Excel拿这些数据做一下线性回归,就可以看出来FP32性能与帧数的线性关系再明显不过了。这里仅使用了巫师3的平均帧数,而如果使用3DMark等的分数来做分析,也能得出类似结论。

1.jpg

      需要说明的是,当前我们考虑CUDA核心数量×2是因为现在一个CUDA周期中可做两次FP32计算。

      2.2 什么是FP32?

      那么,32位的单精度浮点运算代表了什么?为什么它可以代表显卡的性能?事实上,它代表的太多了,保守地说,32位浮点几乎涵盖了70%及以上的应用场景。

      首先,DirectX作为Windows下几乎所有游戏都使用的接口,其色彩定义的基本单位是32位浮点,其4个8bit分别代表着三原色和透明通道;同时,绝大多数你能看见的运算,包括大部分的渲染、建模都是32位单精度浮点运算。       其次,即使它们的运算数据不是原生的32位浮点值,也需要拓展成32位浮点进行运算。无他,只因为除数据中心级别的GPU外,其他架构(这里指GM204、GP104这类架构)本质上就是一个个进行32位浮点运算的CUDA核心组成的,这是基本运算单位。其他的运算核心,如半精度、Tensor Core等,暂时都只存在于GP100、GV100这类数据中心才能见到的GPU中,消费级的GP104以及工作站级的GP104GL在硬件上就没有这些运算单元。      

      最后,双精度去哪了?问得好。双精度仅存在于少量对精度有极高要求的专业领域,或是作为单精度的辅助。如果拿深度学习来举例,双精度仅仅只在神经网络进行梯度检查时,才会用双精度进行验算,保证整个网络梯度传导的正确性。而梯度检查基本只在网络搭建过程,或每千、万次运算后才做一次(事实上现在实验室里会做梯度检查的情况都很少了),而网络传导过程都是单精度运算。当然了,大家都还是很想大量用双精度运算的,但一方面双精度运算太贵,另一方面单精度已经可以满足大多数情况下的精度要求,这种拿数倍的钱换有限的提升也就只存在于某些有特别要求的领域了。      

      需要注意的是,FP32虽可直接衡量一张显卡的计算性能,制约显卡性能发挥的种种因素同时也不应忽视,如程序使用的接口,以及程序本身的执行效率,CPU效率等等。

      2.3 专业卡贵在哪里?

      既然游戏卡和专业卡的FP32性能没差太多,那为什么专业卡贵这么多?为什么还有人需要专业卡?

      为了解答这个问题,我们来援引一篇Autodesk University里的文章《A Hardware Wonk's Guide to Specifying the Best 3D and BIMWorkstations, 2016 Edition》,其作者Matt Stachoni有着超过25年的BIM、CAD从业经历,自1987年开始就在使用Autodesk的软件。该文可在http://au.autodesk.com/au-online/classes-on-demand/class-catalog/2016/revit/it21325#chapter=0找到,其给出了非常详细的从主板到内存、CPU、GPU、硬盘、显示器等一个工作站各方面硬件的近几年来的发展及其选购指南。因其原文非常长,在此仅翻译并概括一些要点以回答我们的问题。      

      根据该文所述,专业卡贵主要出于以下几个原因:      

      1. 专业卡有着被Autodesk、Dassault Systemes、Solidworks等开发商认证的驱动,以保证这些卡满足这些应用的最低要求,而这种定制的驱动非常昂贵。需要注意的是,对于大量使用了OpenGL而不是DirectX的API的软件而言,定制驱动被证明是非常有意义的(译者注:Windows下的游戏基本都使用DirectX开发,当然DirectX也不仅限于游戏)。未认证的驱动往往不能完全、甚至完全不能发挥这些软件的功能,仅仅因为它们的驱动不是为这些软件设计的。不过另一方面,定制驱动也并不能完全保证它们自身总是起作用,个别被Autodesk认证的显卡/驱动组合也在Revit、3ds Max中失效过。      

      2. 专业卡驱动能够从一些为高端显卡(在硬件上)定制的功能中受益,比如增强的抗锯齿、z-buffering等等。游戏卡的驱动则不会将这些硬件上的特性暴露给软件(当然在硬件上它们可能也没有)。      

      3. 专业卡往往会有着更大的显存,不过这点伴随着游戏卡对显存要求的日益提高正在渐渐消弭。对于Autodesk AEC用户来说,显存大小对于渲染性能来说是决定性的。      

      4. AMD和Nvidia仅仅只授权了一小部分制造商生产专业卡,这减少了厂商间的竞争,也提高了价格。而游戏卡往往有着数量庞大的厂商,且Nvidia允许其在公版设计上进行一定程度的发挥。      

      5. 专业卡对质量有着更低的容忍度,它们往往被设计为能够保持365天不间断工作。为了实现这点,专业卡在核心频率上会限制得较低,并有着较低的TDP以延长其寿命。游戏卡则设计为性能第一,而非持续性,并未对持续整天的运行做考虑。然而,长时间的GPU渲染最终会在这些硅元件上体现其后果,并导致显卡温度的上升。具体而言,游戏卡在对太多的场景进行渲染时往往会承受不住而烧卡。不过游戏卡相比专业卡而言实在再过廉价,几乎可以说是消耗品。      

      此外,文章还表达了必须要专业卡才能跑Autodesk完全是胡说八道、Autodesk认证驱动是否重要等观点,具体请参见原文57~59页。      

      在该文63页,作者对不同显卡在3ds Max渲染上的性能进行了测试,对其观点进行了进一步说明,其结果如图:

 2.jpg

      此外,LinusTechTip也进行过类似的测试,用桌面版的Quadro M6000和Geforce TiTan(Maxwell)在转码、渲染等方面进了对比,也得出了类似结果,具体视频可参见如下链接:

      BiliBili(中英字幕):      

      Youtube:      

      至于专业卡不能用来打游戏这种无稽之谈,Linus在视频中也有提及,本文在此不另作解释。      

      有关通过Autodesk认证的显卡可在该      

      2.4 为什么我要用P5000?

     30.JPG

      通过简单的计算就可以知道,移动版1070(后文简称为1070)在性能上完全超过了移动版P5000(后文简称为P5000),即使在实际使用中P5000也可达到1645Mhz的Boost频率,1070在实际使用时往往能到1700Mhz左右(这还是一个保守的说法),更不用提部分机型在手动超频、解锁TDP后1800+Mhz的直逼1080的恐怖性能。

      考虑到机器主要用途是自己跑Machine Learning用,更大的显存意味着更大的Batch Size,更大的Batch Size意味着更多实验的可能性和更快的收敛速度,计算稍微慢1~2TFLOPS可以接受,显存不够用那就真是GG了。事实上即使是16GB显存,想吃满还是非常容易的。      

      当然了,如果P5000卖到10000多一块对就不太值得了,自己手上的这块移动版P5000到手价格6000多点(不过是QS,不是正式版),虽然比1070贵不少,但尚在可以接受的范围内。      

      当前移动版1070的价格在4000左右,蓝天版的异形卡性价比稍高一些,MSI稍贵,但版型相对来说比较标准。同时也有厂商做了几乎完全标准版型的1070,但当前质量问题颇多,在此不表。

顶一下
踩一下
新闻评论(共有 0 条评论)
发表评论
推荐资讯
看完此篇对小米众筹999元冰箱彻底死心
看完此篇对小米众筹99
干货:十问高通骁龙835移动PC平台!
干货:十问高通骁龙83
回归联想的刘军直播卖电脑,我确信这不是给年轻人看的
回归联想的刘军直播卖
乐视北美大溃败:国王永久消失了,王朝也分崩离析了
乐视北美大溃败:国王
相关文章
栏目更新
栏目热门