您认为GPU作为CUDA等CPU计划的未来是什么?你认为它们会成为主流并成为业界的下一个流行趋势吗?Apple正在构建一个使用GPU执行CPU任务的新框架,并且Nvidias CUDA项目在科学方面取得了很多成功.你会建议学生在这个领域投入时间吗?
如果您对科学和并行计算感兴趣,请提交时间.不要想到CUDA并将GPU看作CPU.它只允许比旧的GPGPU编程技术更直接的GPU编程方法.
通用CPU可以很好地处理从分支预测,流水线操作,超级分类器等所有工作中的各种任务.这使得它们可以在各种工作负载上实现良好的性能,同时使它们陷入高吞吐量内存密集型浮点运算.
GPU最初设计用于做一件事,而且非常非常好.图形操作本质上是并行的.您可以同时计算屏幕上所有像素的颜色,因为结果之间没有数据依赖关系.此外,所需的算法不必处理分支,因为几乎所有需要的分支都可以通过将系数设置为零或一来实现.因此硬件可以非常简单.没有必要担心分支预测,而不是制作处理器超级分类器,您可以简单地添加尽可能多的ALU,因为您可以在芯片上填充.
通过可编程纹理和顶点着色器,GPU获得了通用可编程性的途径,但它们仍然受到硬件的限制,硬件仍然是为高吞吐量浮点运算而设计的.可能会添加一些额外的电路以实现更多通用计算,但只能达到一定程度.任何损害GPU执行图形处理能力的东西都无法实现.毕竟,GPU公司仍处于图形业务领域,目标市场仍然是游戏玩家和需要高端可视化的人.
GPGPU市场仍然是一个下降,并在一定程度上仍然如此.毕竟,"它看起来很漂亮"是一个要低得多的标准,而不是"每次100%保证和可重复的结果".
简而言之,GPU永远不可能像CPU那样可行.它们仅适用于不同类型的工作负载.我希望GPU能够获得能够快速解决各种各样问题的功能,但它们始终是图形处理单元.
始终将您遇到的问题与您必须解决的最合适的工具相匹配始终是非常重要的.
长期以来我认为GPU将不复存在,因为通用处理器将逐渐接管这些功能. 英特尔的Larrabee是第一步.历史表明,投注x86是一个坏主意.
大规模并行架构和矢量处理的研究仍然是有用的.
首先,我不认为这个问题真的属于SO.
在我看来,只要你进行基于矢量的浮点数学,GPU就是一个非常有趣的选择.然而,这意味着:它不会成为主流.大多数主流(桌面)应用程序只进行很少的浮点计算.
它已经在游戏(物理引擎)和科学计算中获得了关注.如果你认为这两者中的任何一个都是"主流",那么GPU将成为主流.
我不认为这两者是主流,因此我认为,GPU将成为主流行业的下一个流行趋势.
如果你作为学生对基于物理学的重大科学计算感兴趣,你绝对应该花一些时间(GPU无论如何都是非常有趣的硬件).
GPU永远不会取代CPU.CPU执行一组顺序指令,GPU并行执行非常特定的计算类型.这些GPU在数值计算和图形方面具有很大的实用性; 但是,大多数程序绝不能利用这种计算方式.
您很快就会开始看到来自Intel和AMD的新处理器,包括GPU式浮点矢量计算以及标准CPU计算.