产品搜索: 分类:  关键字: 
当前位置:  首页  >>  行业动态  >>  查看行业动态
               公司新闻
               最新商机
               行业动态
               经销商推荐(排名不分先后)
   
   
   
 
 
为什么GPU技术走在CPU技术前面? 蒙自电脑批发
发布时间:2019/12/15 18:41:05   
 蒙自电脑批发 中国it商城 云南昆明卓兴电脑批发

在 gpu 上运行的工作负载类型通常是高度并行的。 渲染一个3d 场景需要在成千上万个独立的多边形上进行工作,然后将所说的多边形映射到几百万像素,这些像素也是彼此独立的。

这些类型的问题比较容易设计硬件: 如果你在一个令人尴尬的并行工作负载上工作,理论上你可以抛出尽可能多的独立执行单元来解决这个问题,如果你有足够的带宽,你会得到一个线性加速。

对于 gpu 加速的工作负载,通常是这种情况,因此通过添加更多的执行单元通常可以获得更高的性能。 随着晶体管的增多,gpu 的扩展性非常好。

为什么 cpu 技术进步慢于 gpu 技术?


相比之下,cpu 总是针对顺序的线性代码进行优化。 即使是现在,重点通常是降低延迟(运行程序所需的时间) ,而不是增加吞吐量(每单位时间完成的工作)。 如果您想要吞吐量,您可以使用 gpu 或向量 / simd 扩展。

现代的 cpu 尽最大努力在每个循环中运行多条指令,这是很困难的,因为软件通常表现出许多变量之间复杂的依赖关系,并且可能根本没有多少并行性。

为了完成这项任务,CPU 设计具有多个处理通道,能够执行工作,并使用复杂得离谱的无序调度硬件来尝试和保持这些通道的联通。 为了提取并行性,它们从根本上采用顺序的代码,并且不管程序顺序如何运行。

Cpu 内核从单个线程中提取更多并行性的能力大部分受限于我们对线程“未来”的了解程度。 这主要受限于我们在代码中预测结果分支的能力,我们可以做到很好,但不是100% 的准确率。 但是这是一场必输的战斗: cpu 类型的工作负载通常每6条左右就有一个分支,而且当我们进一步查找这个分支时,我们可能会得到一个错误的结果。 下面是我做的一个图表,试图优雅地说明这个问题:

为什么 cpu 技术进步慢于 gpu 技术?


不幸的是,这不是通过把晶体管扔到问题上就能解决的事情。 虽然这有所帮助,但要获得较大的收益,还需要在控制流预测方面进行更根本的改进。

在我看来,这可能是单核 CPU 性能没有像 gpu 那样得到改进的最大原因。 理论上,我们可以构建一个超宽 CPU 数据通路,它可以在无序缓冲区中保存程序的大部分内容,但是我们永远不能保持它的正常运行。

公平地说,这里的 cpu: gpu 变得如此之快是因为多线程非常适合这些类型的工作负载。 但是 CPU 也没有忽略这些潜在的性能提高,因为每个现代 CPU 都使用多个内核。 大多数以 cpu 为中心的工作负载仍然不具有难以置信的并行性,但是现在几个核之间近乎线性的性能提升相当普遍。 向 CPU 添加多个核是提高吞吐量的必由之路,随着主流8和12核 CPU 的兴起,我们已经看到了这一点。 只是不是所有的工作负载都能利用所说的改进。


网站首页 | 关于卓兴 | 产品展示 | 行业动态 | 下载中心 | 在线留言 | 联系我们 | 电脑在线DIY装机
昆明卓兴科技有限公司,云南电脑批发,昆明电脑批发,云南电脑组装平台     备案号:滇ICP备12005192号-2 版权所有;昆明卓兴科技有限公司
联系人:刘兴民 0871-63938889 63936669 63933325 63933326 63933327 63933328 63933329 ;公司QQ:800018939
公司网址:www.kmzhuoxing.com
地址:昆明市五华区圆通北路86号冶金研究院内停车场旁冶金火法楼一层二层(昆明卓兴科技有限公司)

 
技术支持:阿旺科技