gpu浮点计算能力floaps_为何CPU浮点计算能力差,什么是浮点计算,GPU为何擅长浮点计算?...

CPU和GPU在浮点计算上有不同侧重点。CPU拥有较高的主频和大容量缓存,擅长复杂逻辑和整数计算,而GPU通过大量简化控制单元并增加计算单元,擅长批量化的浮点和数值计算,尤其在连续访存和无分支计算任务中表现出色。GPU的浮点性能强大,主要源于其计算单元数量远超CPU,但在浮点精度和复杂计算上不及CPU。
摘要由CSDN通过智能技术生成

GPU比CPU去掉了大量非计算单元(去掉L3, 降低缓存容量,精简控制器,降低分支能力和预测执行能力),增加了通用寄存器。其实CPU的浮点能力并不差,通常来说CPU的整数能力只是CPU浮点能力的2-5倍而已。

而GPU擅长浮点说的也不是很准确,其实GPU是擅长数值计算,不擅长应对分支和随机访存。通常GPU的int32能力并不会低于其float32能力。但是发挥GPU的计算能力需要批量化(向量化),连续访存,同时计算任务不要有太多分支。

之所以有 CPU 浮点能力差的说法,想有两个原因通常需要大量浮点计算的场景都不是有复杂控制逻辑的场景,这些场景下对控制能力要求不高

一般的重逻辑的场景,不可避免的需要大量的整数计算。换句话说,需要大量整数计算的场景(相对需要浮点计算的场景)很有可能需要更大量分支和逻辑控制,也很有可能需要更多不连续访存。

另外需要指出的是,现在CPU主频通常比GPU高得多,所以CPU的功耗显得高了一点。如果比较CPU和GPU同频同功耗的性能,可能没大家想象的那么多。

CPU的浮点能力一点也不差,其实比GPU还高,因为它的主频高,Cache大。浮点运算本质上还是加减乘除运算。GPU浮点性能总体强大,是因为它的计算单元比CPU的大得多。CPU内部的浮点计算单元一般1-8个不等。而GPU内部则是几百上千个。

浮点是什么?是小数点的数字,这个没错但是关键区别在于它的格式。普通整数的表达方式很简单,就是二进制的同一个数字而已,1是1,2是10,3是1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值