Performance GPGPU(通用GPU)开发的优缺点是什么?
我想知道在GPGPU开发中帮助您的关键是什么,当然,您认为不可接受的限制是什么 我想到:Performance GPGPU(通用GPU)开发的优缺点是什么?,performance,optimization,hpc,Performance,Optimization,Hpc,我想知道在GPGPU开发中帮助您的关键是什么,当然,您认为不可接受的限制是什么 我想到: 关键优势:这些东西的原始力量 关键约束:内存模型 你的看法是什么?我发现这篇文章很有趣,它讲述了随着CPU和内核速度的不断提高,GPU将如何不再那么必要 过去,它们的并行体系结构和额外的硅非常有趣,这些硅大部分是空闲的,因此可以用于一般用途的编程任务- 见- 但这可能与卢的上述回答不太相关。你必须小心如何解读蒂姆·斯威尼在采访中的陈述。他说有两个独立的平台(CPU和GPU),一个适合单线程性能,另一个适
- 关键优势:这些东西的原始力量
- 关键约束:内存模型
你的看法是什么?我发现这篇文章很有趣,它讲述了随着CPU和内核速度的不断提高,GPU将如何不再那么必要
过去,它们的并行体系结构和额外的硅非常有趣,这些硅大部分是空闲的,因此可以用于一般用途的编程任务- 见-
但这可能与卢的上述回答不太相关。你必须小心如何解读蒂姆·斯威尼在采访中的陈述。他说有两个独立的平台(CPU和GPU),一个适合单线程性能,另一个适合面向吞吐量的计算,很快将成为过去,因为我们的应用程序和硬件相互发展 GPU摆脱了CPU的技术限制,CPU使光线跟踪和光子映射等更自然的算法在合理的分辨率和帧率下几乎无法实现。GPU带来了一个完全不同的限制性编程模型,但对于精心编码到该模型的应用程序来说,吞吐量可能会提高2到3个数量级。这两种机器模型有(现在仍然有)本质上不同的编码风格、语言(OpenGL、DirectX、着色器语言与传统桌面语言)和工作流。这使得代码重用,甚至算法/编程技能重用变得极其困难,并且阻碍了任何希望将密集的并行计算基础应用到这个限制性编程模型中的开发人员 最后,我们来到了一个点,在这个点上,这种密集的计算基板类似于可编程的CPU。尽管这些大规模并行加速器中的一个“核心”(例如G80上的SM中的执行线程并不完全是传统意义上的核心)与现代x86桌面内核之间仍存在相当大的性能差异,但有两个因素推动了这两个平台的融合:
- 英特尔和AMD正朝着x86芯片上更多、更简单的内核方向发展,将硬件与GPU融合在一起,随着时间的推移,GPU中的单元变得更粗粒度和可编程性)
- 这股力量和其他力量正在催生许多新的应用程序,它们可以利用数据或线程级并行(DLP/TLP),有效地利用这种基底
主要的优势是千兆次-原始功率。缺点包括有限的、非正交的指令集和编程模型 这是一份调查报告: 维基百科的文章是一个很好的开始 Lou Franco提到了对Tim Sweeney的采访;以下是他演讲的幻灯片,内容更为详细: 可能还会四处窥探:
我非常同意蒂姆的观点。考虑到拉拉比的到来,情况就更糟了。