【问题标题】:What are the advantages and disadvantages of GPGPU (general-purpose GPU) development? [closed]GPGPU(通用GPU)开发的优缺点是什么? [关闭]
【发布时间】:2008-09-23 22:06:11
【问题描述】:

我想知道在 GPGPU 开发中帮助您的关键因素是什么,当然还有哪些限制是您无法接受的。

我想到了:

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

你有什么看法?

【问题讨论】:

标签: performance optimization hpc


【解决方案1】:

您必须谨慎解读蒂姆·斯威尼 (Tim Sweeney) 在 Ars 采访中的陈述。他说拥有两个独立的平台(CPU 和 GPU),一个适合单线程性能,一个适合面向吞吐量的计算,随着我们的应用程序和硬件相互发展,很快就会成为过去。

GPU 摆脱了 CPU 的技术限制,这使得可以说更自然的算法(如光线追踪和光子映射)在合理的分辨率和帧速率下几乎不可撤销。 GPU 出现了,它具有完全不同和限制性的编程模型,但对于煞费苦心地编码到该模型的应用程序,吞吐量可能提高 2 或 3 个数量级。这两种机器模型具有(并且仍然具有)本质上不同的编码风格、语言(OpenGL、DirectX、着色器语言与传统桌面语言)和工作流程。这使得代码重用,甚至算法/编程技能重用变得极其困难,并且将任何想要使用密集并行计算基础的开发人员束缚在这种限制性编程模型中。

最后,我们要达到这一点,即这种密集的计算基板同样可以通过 CPU 进行编程。尽管这些大规模并行加速器中的一个“核心”(尽管执行线程,例如 G80 上的 SM,并不完全是传统意义上的核心)和现代 x86 桌面之间仍然存在相当大的性能差异核心,两个因素推动了这两个平台的融合:

  • Intel 和 AMD 正朝着 x86 芯片上更多、更简单的内核发展,将硬件与 GPU 融合在一起,随着时间的推移,这些单元变得更加粗粒度和可编程)。
  • 这种力量和其他力量正在催生许多新的应用程序,这些应用程序可以利用数据或线程级并行 (DLP/TLP),有效地利用这种基板。

因此,Tim 所说的是两个不同的平台将在更大程度上融合,例如,OpenCl 所提供的。采访中的重要引述:

TS:不,我知道你在哪里 标题。在下一个控制台中 一代你可以拥有游戏机 由单一的非商品组成 芯片。它可能是一个通用处理器, 是否从过去的 CPU 演变而来 架构或 GPU 架构,以及 它可能会运行 一切——图形、人工智能、 声音,以及所有这些系统在一个 完全同质的方式。那是一个 非常有趣的前景,因为它 可以大大简化 工具集和创建过程 软件。

现在,在发货过程中 虚幻3,我们要使用多个 编程语言。我们用一个 用于编写像素的编程语言 着色器,另一个用于编写游戏玩法 代码,然后在 PlayStation 3 上我们使用 另一个编写代码的编译器 在 Cell 处理器上运行。所以 PlayStation 3 最终成为 特别的挑战,因为有 你有三个完全不同的 来自不同供应商的处理器 不同的指令集和 不同的编译器和不同的 表演技巧。所以,很多 复杂性是不必要的,并且 使负载平衡更加困难。

例如,当您拥有三个 不同的芯片有不同的 编程能力,你经常 让其中两个芯片闲置 大部分时间,而另一个 已达到极限。但如果架构 是完全统一的,那么你可以 在芯片的任何部分运行任何任务 在任何时候,并获得最好的 以这种方式进行性能权衡。

【讨论】:

    【解决方案2】:

    我发现这篇文章很有趣,因为随着 CPU 的速度和内核数量的不断增加,GPU 将不再是必要的。

    http://arstechnica.com/articles/paedia/gpu-sweeney-interview.ars

    【讨论】:

    • 我非常同意蒂姆的观点。考虑到拉拉比的到来,就更是如此了。
    【解决方案3】:

    曾经很有趣,因为它们的并行架构和额外的芯片大部分是空闲的,因此可以用于一般用途的编程任务 -

    见-http://en.wikipedia.org/wiki/CUDA

    但面对楼上的回答,它可能不太相关。

    【讨论】:

      【解决方案4】:

      关键优势是 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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-01
        • 1970-01-01
        • 2010-09-12
        • 2011-12-28
        • 2011-12-14
        • 2014-06-26
        • 1970-01-01
        • 2010-10-11
        相关资源
        最近更新 更多