2008-09-23 114 views
5

我想知道什么是关键的事情,可以帮助你在GPGPU的发展和当然是什么约束,你觉得不可接受。GPGPU(通用GPU)开发的优点和缺点是什么?

想到我:

  • 关键优势:原始动力的这些东西
  • 键约束:内存模型

您有什么看法?

+0

http://codeflow.org/read-the-faq/#subjective – 2008-09-23 22:08:26

回答

0

曾经是他们的并行架构和额外的硅,这是大部分闲置,因此可以在一旁为一般purpos编程任务中使用有趣 -

看到的 - http://en.wikipedia.org/wiki/CUDA

但面对Lou的回答,这可能不太重要。

4

你必须小心,你如何解释Tim Sweeney在Ars采访中的陈述。他表示,随着我们的应用程序和硬件彼此向前发展,拥有两个独立平台(CPU和GPU),一个适合单线程性能,另一个适合面向吞吐量的计算,将很快成为过去。

GPU的发展源于CPU的技术局限性,这使得更合理的分辨率和帧速率下可以更自然地使用光线跟踪和光子映射等自然算法。 GPU带来了截然不同的限制性编程模型,但是对于那些需要精心编码的应用,吞吐量可能会提高2或3个数量级。这两种机器模型具有(并且仍然)具有基本不同的编码风格,语言(OpenGL,DirectX,着色器语言与传统桌面语言)和工作流程。这使得代码重用,甚至算法/编程技巧重复使用都变得非常困难,并且任何希望利用密集的并行计算基板进入这种限制性编程模型的开发人员都会ha手ha脚。

最后,我们来到了这个密集的计算基板类似于CPU编程的点。虽然这些大规模并行加速器的一个“核心”之间仍然存在相当大的性能差异(尽管G80内的SM内执行的线程并不完全是传统意义上的核心),而现代x86桌面芯,两个因素驱动这两个平台的收敛:

  • 英特尔和AMD正朝着在x86芯片更多,更简单的内核,与所述的GPU,其中单元正变得越来越粗粒和可编程随时间收敛硬件)。
  • 这个和其他力量正在产生许多新的应用程序,可以利用数据或线程级并行(DLP/TLP),有效地利用这种衬底。

因此,蒂姆说的是,两个不同的平台将会收敛,甚至比例如OpenCl所提供的更大。来自采访的突出报价:

TS:不,我确切地看到你在哪里 标题。在下一代控制台 一代,你可以有控制台 由单一非商品 芯片组成。这可能是一个通用处理器,它 是否从过去的CPU 架构或GPU架构演化而来,并 它可能会运行 一切-图形中,AI, 声音,并且在 完全均匀的方式,所有这些系统。这是一个非常有趣的前景,因为它 可以大大简化 工具集和创建 软件的过程。我们不得不使用多种 编程语言。我们使用一个 编程语言编写像素 着色器,另一个用于编写游戏 的代码,然后在PlayStation 3上我们使用 又一个编译器编写代码到 在Cell处理器上运行。所以 PlayStation 3的结束是一个 特别的挑战,因为那里 您有三种完全不同的 来自不同厂商有不同 指令集和 不同的编译器和不同 性能技术的处理器。因此,很多复杂性是不必要的,并且 使得负载平衡更加困难。

当你有,例如,不同 编程功能三个 不同的芯片,你经常 有两个那些芯片的闲置 的大部分时间,而其他 被刷爆了。但是如果架构 是完全统一的,那么您可以随时在芯片的任何部分上运行任何任务,并以此方式获得最佳的性能折衷。

0

关键优势是gigaflops - 原始动力。缺点包括有限的非正交指令集和编程模型。

这里有一个调查纸: http://graphics.idav.ucdavis.edu/publications/print_pub?pub_id=907

维基百科的文章是一个非常好的开始。

Lou Franco指向Tim Sweeney的采访;这里是他给了一个报告,里面有详细的幻灯片: http://www.scribd.com/doc/5687/The-Next-Mainstream-Programming-Language-A-Game-Developers-Perspective-by-Tim-Sweeney

可能还会鼻子周围: http://gpgpu.org

相关问题