2024年2月19日发(作者:)

影响显卡性能的重要参数

自从AlphaGo的人机大战开始,人工智能热在国内持续升温。近日,国家正式发布了《新一代人工智能发展规划》(以下简称《规划》)。可以说,国家层面上的高度重视,各大高科技企业加速布局,中国的人工智能发展已经迎来了史上最好的机遇期。AI 背后的硬件要求也越来越高,GPU服务器的应用越来越火热。而在GPU服务器中,显卡的作用毋庸置疑。显卡图形芯片供应商主要包括AMD(超微半导体)和Nvidia(英伟达)2家,今天我们就NVIDIA的显卡来分析一下影响显卡性能的参数。

英伟达显卡分为三个系列,面向大众的 Geforce系列,面向工业图形设计的Quadro系列,面向科学计算的Tesla系列。Geforce系列由于面向大众,要和AMD的显卡竞争,所以性价比最高,单从性能上看甚至不输Tesla系列,但可能耐久性等其他方面不及Tesla。

用来计算的话,衡量性能主要是以下几个参数:

1、计算核心数目;

2、显存带宽(GPU计算能力太强,很多时候瓶颈都在数据传输上)

3、峰值单精度浮点计算能力;

4、峰值双精度浮点计算能力;

5、架构版本

一.计算核心数目

CUDA核心数量则决定了显卡的计算力的强弱(比如一项渲染任务可以拆分为更多份交由不同的CUDA核心进行处理)。一个特定计算量的任务,如果核心的数目越多,那么单位时间内执行的运算就越多,所以完成这个任务所花费的时间就越少,显然计算速度就越快。就好比10份外卖,10个人送,1个小时内就能送完,但一个人送,一个小时内可能只能送2~3份,显然单位时间内10

个人要比一个人送的外卖更多。

但是如果不同的显卡的核心速度不同,那么核心多的不一定就比核心少的花费的计算时间少。再举个例子,同样是10份外卖, 5个人步行送10份外卖所花费的时间不一定少于一个人开车送10份外卖所用的时间。

二.显存带宽

显存带宽通常显存的吞吐能力,计算方式为:

显存带宽=显存频率X显存位宽/8

存频率指默认情况下,该显存在显卡上工作时的频率,即显存的数据传输速度。通常来说,核多只能说明计算能力可能会更强,但是如果访存速度跟不上,也是白搭。就比如有10个人等着送外卖,但是每次只能做好5份外卖,那剩余

的5个人就闲着,虽然你的任务总量很大,但是没用,你的传输性能太低,这样,即使有100个人等着送外卖也没用,除了5个干活的,别的都在闲着,处理速度也不会相差很大。

显存位宽是显存在一个时钟周期内所能传送数据的位数,位数越大则相同频率下所能传输的数据量越大。就像一个单行道的马路和一个八车道的高速公路,车道越多,单位时间内可通行的车辆越多。它代表显存的数据传输速度。在显存频率相当的情况下,显存位宽将决定显存带宽的大小。比如说同样显存频率为500MHz的128位和256位显存,那么它俩的显存带宽将分别为:128位:500MHz*128∕8=8GB/s,而256位:500MHz*256∕8=16GB/s,是128位的2倍,可见显存位宽在显存数据中的重要性。

但要注意,显存位宽越大,有一个非常明显的,或者说很不好的缺点,就是显卡的发热量也越大。往往显存位宽越大的显卡,它在最高功率运行时,温度也越高的原因就在这里,比如一块显存位宽达到384位的显卡,和一块显存位宽只有256位的显卡,同样在夏天,256位显卡的最高温度可能只有90度,但384度显位显卡的温度就要突破100度。因此大显存位宽的显卡,散热很重要,否则对显卡的寿命会造成影响。

三.浮点计算能力

在计算机中实数的表达是采用浮点表示法,类似科学计数法,浮点数利用

指数使小数点的位置可以根据需要而上下浮动,从而可以灵活地表达更大范围的实数

其实所谓的浮点就是float的意思,在实际程序设计之中其是一种数据类型也就是小数,而浮点运算完成的操作就是小数的运算(即在程序设计中,浮点运算=小数运算)。为什么在显卡之中我们如此强调浮点运算呢?这是有原因的,因为实际之上不规则图形的绘制需要使用到浮点,而这种基本的绘制是现在很多图元绘制的基础。

单双精度浮点运算只是一种数据运算精度,并不是什么实现数学运算过程的方法或者结构,它不是衡量显卡的性能唯一标准,不能代表通用计算本身,单双精度的差别主要计算效率,存储空间和精度的差别。

计算效率

存储空间

精度

单精度

每次计算4个字节

双精度

每次计算8个字节

占32位内存空间 占64位内存空间

表示3.4x10^–38~3.4x10^+38的任意实数

表示1.7x10^–308~1.7x10^+308 的任意实数

从表格中我们可以看出,单精度计算速度比双精度更快而且只占用双精度一半的内存空间。双精度数值运算速度较慢,但表示范围更大更精确,一般只用于科学计算,是GPU进入HPC领域的基础。

简单的说,例如GPU要计算某个颜色的值(RGBa),就要用到浮点运算。一般在普通的图形运算中,32位单精度甚至16位半精度已经够用了。但是随着

对精准效果的追求和通用运算的需求,出现了许多对精度要求极高的情况,例如解微分方程等。在这些情景中,如果精度不足,会使误差逐渐积累,导致最后的结果和精确结果相差太大,所以需要使用双精度甚至更高精度才能获得可靠的结果。高精度的运算必然导致运算速度的下降,但对于一些专业卡来说,使用者往往对运算结果的要求很高,如在物理模拟中,单精度运算很可能导致模型偏差很大,所以此时就对GPU的双精度运算能力提出了更高的要求

四.显卡架构

简单一些就是显示芯片各种处理单元的组成和工作模式,在参数相同的情况下,架构越先进,效率就越高,性能也就越强。

N卡的架构发展:Tesla Fermi Kepler Maxwell Pascal

Volta

如今Pascal还未显出颓势,在今年GTC 2017主题演讲上,NVIDIA CEO黄仁勋发布了Volta架构显卡,新一轮升级又要来了。

以上就是影响显卡性能的几个重要参数,了解各个参数的作用,有助于我们在选择显卡时,根据自己的实际应用,选择最合适的显卡。