GPU的浮点运算结果要比CPU差吗
1个回答
展开全部
首先,「速度区别主要是来自于架构上的区别」是一个表面化的解释。对,架构是不同。但是这种不同是目前各个厂家选择的现状,还是由于本质的原因决定的看CPU 能不能增加核看GPU 那张图为什么不需要 cache看
首先,CPU 能不能像 GPU 那样去掉 cache看不行。GPU 能去掉 cache 关键在于两个因素:数据的特殊性(高度对齐,pipeline 处理,不符合局部化假设,很少回写数据)、高速度的总线。对于后一个问题,CPU 受制于落后的数据总线标准,理论上这是可以改观的。对于前一个问题,从理论上就很难解决。因为 CPU 要提供通用性,就不能限制处理数据的种类。这也是 GPGPU 永远无法取代 CPU 的原因。
其次,CPU 能不能增加很多核看不行。首先 cache 占掉了面积。其次,CPU 为了维护 cache 的一致性,要增加每个核的复杂度。还有,为了更好的利用 cache 和处理非对齐以及需要大量回写的数据,CPU 需要复杂的优化(分支预测、out-of-order 执行、以及部分模拟 GPU 的 vectorization 指令和长流水线)。所以一个 CPU 核的复杂度要比 GPU 高的多,进而成本就更高(并不是说蚀刻的成本高,而是复杂度降低了成片率,所以最终成本会高)。所以 CPU 不能像 GPU 那样增加核。
至于控制能力,GPU 的现状是差于 CPU,但是并不是本质问题。而像递归这样的控制,并不适合高度对齐和 pipeline 处理的数据,本质上还是数据问题。
首先,CPU 能不能像 GPU 那样去掉 cache看不行。GPU 能去掉 cache 关键在于两个因素:数据的特殊性(高度对齐,pipeline 处理,不符合局部化假设,很少回写数据)、高速度的总线。对于后一个问题,CPU 受制于落后的数据总线标准,理论上这是可以改观的。对于前一个问题,从理论上就很难解决。因为 CPU 要提供通用性,就不能限制处理数据的种类。这也是 GPGPU 永远无法取代 CPU 的原因。
其次,CPU 能不能增加很多核看不行。首先 cache 占掉了面积。其次,CPU 为了维护 cache 的一致性,要增加每个核的复杂度。还有,为了更好的利用 cache 和处理非对齐以及需要大量回写的数据,CPU 需要复杂的优化(分支预测、out-of-order 执行、以及部分模拟 GPU 的 vectorization 指令和长流水线)。所以一个 CPU 核的复杂度要比 GPU 高的多,进而成本就更高(并不是说蚀刻的成本高,而是复杂度降低了成片率,所以最终成本会高)。所以 CPU 不能像 GPU 那样增加核。
至于控制能力,GPU 的现状是差于 CPU,但是并不是本质问题。而像递归这样的控制,并不适合高度对齐和 pipeline 处理的数据,本质上还是数据问题。
东莞市友贸实业有限公司_
2023-11-22 广告
2023-11-22 广告
第五代双倍数据速率双列直插式内存模块 (DDR5) 插槽包括表面贴装技术,可以满足当今内存模块应用所需的更高数据速率,包括 288 位、0.85mm 间距。DDR5 DIMM 插槽支持 288 插针 SMT 型UMAXCONN - DDR5...
点击进入详情页
本回答由东莞市友贸实业有限公司_提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询