【问题标题】:GPU affinity (GPU core affinity)GPU 亲和性(GPU 核心亲和性)
【发布时间】:2012-11-20 15:37:09
【问题描述】:

谁能告诉我为什么没有 GPU 亲和性(我的意思是执行单元亲和性)?我知道在 Opencl 规范 1.2 中我们有一种称为设备裂变的东西,但据我所知,这仅适用于 CPU。

有人知道这方面的更多信息吗?

谢谢

【问题讨论】:

  • 呃...如果没有这样的东西,this extension 是干什么用的? )
  • @raina77ow 这是为了允许(图形)程序将自己与具有多个 GPU 的系统中的特定 GPU 相关联。我相信这个问题的重点是为什么不明确允许在 GPU 上运行的(计算)代码将自身与该 GPU 内的特定执行单元绑定。
  • 首先,为什么要与特定的执行单元有亲和力?亲和力通常是不对称或非均匀系统中所需要的东西。从 GPU 计算程序员的角度来看,应该假设在 GPU 上运行的计算代码对资源具有对称、统一的访问权限,而不管它位于哪个特定的执行单元上。虽然这可能并非在所有情况下都是完全正确的,或者在某些情况下是有争议的,但拥有这种前景的原因是对未来架构的可扩展性。应鼓励程序员编写可随新 GPU 扩展的代码。
  • 感谢您的回答。对我来说,我正在寻找 Affinity,因为它可以让我精确处理 GPU,并且我可以更准确地对硬件进行基准测试。
  • 当然,您不需要额外的构造来同时运行多个内核。而且您的整体性能可能较低(可以)将内核代码绑定到特定的执行单元。 GPU 硬件调度器将更好地判断这一点。在 cl 裂变扩展中列出的 3 个原因中,唯一对我来说似乎不是循环的原因是第一个,为高优先级流量保留能力。然而,细分设备可能不是最好的方法。

标签: cuda opencl gpu gpgpu nvidia


【解决方案1】:

目前这是一个与 CPU 非常相关的扩展。我相信一些 GPU 很快就会支持这一点,并且已经有几个启用了扩展。如果您阅读下面的页面,您会看到一些 CPU 功能,例如提及 NUMA 时。

http://www.khronos.org/registry/cl/extensions/ext/cl_ext_device_fission.txt

【讨论】:

  • 我同意你的观点,但我很惊讶为什么现在还不是这样!我们必须拭目以待?
猜你喜欢
  • 2017-01-10
  • 2017-12-06
  • 1970-01-01
  • 2012-01-09
  • 1970-01-01
  • 1970-01-01
  • 2011-01-15
  • 2012-11-07
  • 1970-01-01
相关资源
最近更新 更多