多线程 – 深入分析CPU和GPU之间的差异
发布时间:2020-12-14 17:46:19 所属栏目:Java 来源:网络整理
导读:我一直在寻找CPU和GPU之间的主要区别,更准确地说,分离cpu和gpu的细微差别.例如,为什么不使用多个cpus而不是gpu,反之亦然.为什么gpu在处理计算中比“cpu”更快.他们中的一个可以做些什么,而另一个不能做,或者做得很好,为什么会这样.请不要回答“中央处理单位
我一直在寻找CPU和GPU之间的主要区别,更准确地说,分离cpu和gpu的细微差别.例如,为什么不使用多个cpus而不是gpu,反之亦然.为什么gpu在处理计算中比“cpu”更快.他们中的一个可以做些什么,而另一个不能做,或者做得很好,为什么会这样.请不要回答“中央处理单位”和“图形处理单位”,我在寻找一个深入的技术答案.
解决方法
GPU基本上是大规模并行计算机.他们在可以使用大规模数据分解的问题上工作得很好,并且对这些问题提供了数量级的加速.
然而,GPU中的各个处理单元与通用性能的CPU不匹配.它们更简单,并且没有像长管线,无序执行和指令级并行化这样的优化. 他们也有其他缺点.首先,您必须拥有一个用户,除非您控制硬件,否则您无法依赖此类设备.此外,在将数据从主存储器传输到GPU存储器并返回时还存在开销. 所以这取决于您的要求:在某些情况下,像特斯拉这样的GPU或专用处理单元是明确的赢家,但在其他情况下,您的工作不能被分解,以充分利用GPU,并且开销使CPU成为更好的选择. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |