显卡功课
- 一,桌面端显卡天梯图
- 1,疑问?为什么显卡天梯图里没有丽台T4,v100
- 1.1消费级用户:使用消费级显卡,GeForce产品
- 1.2专业人员:使用专业计算卡,NVIDIA Tesla V100
- 2 使用fp16 混合精度训练?什么是双精度,单精度和半精度?
- 3,TFLOPS是什么单位
一,桌面端显卡天梯图
显卡天梯图主要是根据传统光栅性能排名的
1,疑问?为什么显卡天梯图里没有丽台T4,v100
因为显卡天梯图只是针对桌面端,桌面端只是针对玩游戏的消费级用户
术业有专攻。对于消费级用户来说,GPU就是玩游戏,对于专业人员来说,GPU是计算工具,俗话说,一分钱一分货。
1.1消费级用户:使用消费级显卡,GeForce产品
对于消费级用户来说GPU的浮点计算能力可以忽略不计,因为日常应用根本涉及不到,所以追求性价比的消费级用户,不会为没用的高双精度浮点运算能力买单。而对于专业领域来说,准确性是计算结果的重要指标,双精度浮点运算能力直接影响计算的准确性和时效性。
GeForce产品对于计算精度要求比较低,也许对于普通用户来说,即使发现一些数据下次也会忽略不计,比如显存错误,而专业计算卡比如Tesla V100对数据准确性和及时错误数据修正能力都非常依赖。其他方面还有诸如针对专业软件的针对性的GPU加速优化、显存的配备方面都有明显的不同。
链接:https://www.zhihu.com/question/459070453/answer/1892126063
1.2专业人员:使用专业计算卡,NVIDIA Tesla V100
专业计算卡比如Tesla V100对数据准确性和及时错误数据修正能力都非常依赖。其他方面还有诸如针对专业软件的针对性的GPU加速优化、显存的配备方面都有明显的不同。说到NVIDIA Tesla V100,它采用的是NVIDIA Volta™架构,是科学计算和人工智能时代的理想计算引擎。从语音识别到训练虚拟个人助理和教会自动驾驶汽车自动驾驶,数据科学家们正利用人工智能解决日益复杂的挑战。解决此类问题需要花大量时间密集训练复杂性飞速增长的深度学习模型。V100 拥有 640 个 Tensor Core,是世界上第一个突破 100 万亿次 (TFLOPS) 深度学习性能障碍的 GPU。新一代 NVIDIA NVLink 以高达 300 GB/s 的速度连接多个 V100 GPU,在全球打造出功能极其强大的计算服务器。现在,在之前的系统中需要消耗数周计算资源的人工智能模型在几天内就可以完成训练。随着训练时间的大幅缩短,人工智能现在可以解决各类新型问题。
2 使用fp16 混合精度训练?什么是双精度,单精度和半精度?
浮点数是计算机上最常用的数据类型之一,有些语言甚至数值只有浮点型(Perl,Lua同学别跑,说的就是你)。
常用的浮点数有双精度和单精度。除此之外,还有一种叫半精度的东东。
双精度64位,单精度32位,半精度自然是16位了。
半精度是英伟达在2002年搞出来的,双精度和单精度是为了计算,而半精度更多是为了降低数据传输和存储成本。
很多场景对于精度要求也没那么高,例如分布式深度学习里面,如果用半精度的话,比起单精度来可以节省一半传输成本。考虑到深度学习的模型可能会有几亿个参数,使用半精度传输还是非常有价值的。
Google的TensorFlow就是使用了16位的浮点数,不过他们用的不是英伟达提出的那个标准,而是直接把32位的浮点数小数部分截了。据说是为了less computation expensive。。。
参考链接:https://blog.csdn.net/sinat_24143931/article/details/78557852
参考链接:
https://blog.csdn.net/qq_33221533/article/details/111473678?spm=1001.2101.3001.6650.7&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-7-111473678-blog-78557852.pc_relevant_aa2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-7-111473678-blog-78557852.pc_relevant_aa2&utm_relevant_index=11
gpu是否支持fp16
fp16和fp32区别?
FP32 是单精度浮点数,4个字节,32个bit,1bit表示符号,8bit 表示指数,23bit 表示小数。
FP16 半精度浮点数,2个字节,16个bit,1bit表示符号,5bit 表示指数,10bit 表示小数。
fp16作用
加载训练,同时减少显存的使用
3,TFLOPS是什么单位
TFLOPS是floating point operations per second每秒所执行的浮点运算次数的英文缩写。
它是衡量一个电脑计算能力的标准。最后面的S是秒的意思,最前面的T是个常量。1P=1024T 1T=1024G 1G=1024M 1M=1024K 这里的TFLOPS就是每秒运算能力为1T=10的12次方
1TFLOPS等于1万亿次浮点指令
TFlops/s,可以简单写为T/s, 是数据流量的计数单位,意思是”1万亿次浮点指令每秒”,它是衡量一个电脑计算能力的标准。1TFlops=1024GFlops,即1T=1024G。
浮点运算是指浮点数参与的运算,这种运算通常伴随着因为无法精确表示而进行的近似或舍入。浮点运算是计算机编程中很重要的一部分。浮点运算就是实数运算,因为计算机只能存储整数,所以实数都是约数,这样浮点运算是很慢的而且会有误差。
一个 MFLOPS (megaFLOPS) 等于每秒1百万 (=10^6) 次的浮点运算,
一个 GFLOPS (gigaFLOPS) 等于每秒10亿 (=10^9) 次的浮点运算,
一个 TFLOPS (teraFLOPS) 等于每秒1万亿 (=10^12) 次的浮点运算,
一个 PFLOPS (petaFLOPS) 等于每秒1千万亿 (=10^15) 次的浮点运算。