以我的水平可能解释不清楚这个问题,只能粗浅的说点

1、简单对比

以锐龙架构为例,上面是单核图,浮点单元有4条管线,每条可执行128bit操作

一般说的显卡中常提到的浮点是单精度浮点(32bit),这一条管线一次能执行128bit/32bit=4次,4条最大能力就是16次,16次为一个核一周期的最大次数,16次*核心数*工作频率=它的单精度能力

Intel的近代架构图没查着,据说Intel的浮点是两条256bit的管线,总体成绩与AMD差不多,但效率高一些

这是早期我作的一个GPGPU测试,CPU是啥忘了可能是R5-1400也可能不是记不清了,大体算一下基本能对上数

3200MHz*4核*16次/核=204800M次与上面的近200GFLOPS值很接近

显卡这一头主流架构一周期2浮点操作,2*1124MHz*384个=863232M次与上面856GFLOPS很接近

可要是论到双精度(64bit)操作,CPU可能是因为相应寄存器多不会太影响效率也就是单精度能力除以2,而显卡的设计可能削减了双精度相关的支持,导致单/双精度能力比例可能是30:1这么多

2、GPU为什么擅长(单)精度浮点?

我也不太清楚,可能是具体到一些程序中的值的类型多是浮点类型,所以显卡专门加强浮点处理,实现方面,就是大量的着色器(或流处理器)结构单一,数量巨大,虽然频率目前不如CPU高,但数量多所以总计算力强于CPU

3、什么是浮点计算?

我也不太懂,给你链接个百科看看浮点运算_百度百科,我的个人理解是程序中涉及到的小数全部选择浮点类型,双精度浮点比单精度浮点表示的范围大,很少见有数据类型设置成双精度的(双浮点)

4、为什么CPU的浮点能力弱?

程序中多数数据类型为4字节(就是整数),游戏中涉及到某个变量为浮点类型的需要调用浮点单元参与的较少,所以日常解码代码的时候,感觉浮点单元并不需要太强,日常的解压缩或解码视频,就目前的IntelCPU也是很快的,感觉达到了一个量级,再像游戏中一些特别数据大量应用浮点单元的场景,有Intel的核显或专门的独立显卡,所以目前的格局来看,CPU这样设计的浮点性能不算缺点

由于个人非相关专业人士,所以以上内容可能存在误导,不建议作为参考