gpt4 book ai didi

performance - GPGPU(通用GPU)开发的优缺点是什么?

转载 作者:行者123 更新时间:2023-12-03 15:59:50 25 4
gpt4 key购买 nike

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center寻求指导。




9年前关闭。




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

我想到了:

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

  • 你有什么看法?

    最佳答案

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

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

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

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

  • 所以,蒂姆的意思是这两个不同的平台将在更大程度上融合,例如, OpenCl , 提供。采访中的重要引述:

    TS: No, I see exactly where you're heading. In the next console generation you could have consoles consist of a single non-commodity chip. It could be a general processor, whether it evolved from a past CPU architecture or GPU architecture, and it could potentially run everything—the graphics, the AI, sound, and all these systems in an entirely homogeneous manner. That's a very interesting prospect, because it could dramatically simplify the toolset and the processes for creating software.

    Right now, in the course of shipping Unreal 3, we have to use multiple programming languages. We use one programming language for writing pixel shaders, another for writing gameplay code, and then on PlayStation 3 we use yet another compiler to write code to run on the Cell processor. So the PlayStation 3 ends up being a particular challenge, because there you have three completely different processors from different vendors with different instruction sets and different compilers and different performance techniques. So, a lot of the complexity is unnecessary and makes load-balancing more difficult.

    When you have, for example, three different chips with different programming capabilities, you often have two of those chips sitting idle for much of the time, while the other is maxed out. But if the architecture is completely uniform, then you can run any task on any part of the chip at any time, and get the best performance tradeoff that way.

    关于performance - GPGPU(通用GPU)开发的优缺点是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/124222/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com