【问题标题】:Code to limit GPU usage限制 GPU 使用的代码
【发布时间】:2015-01-06 17:28:53
【问题描述】:

是否可以在 CUDA 代码中设置限制 GPU 使用百分比的命令/函数/变量?我想修改一个名为 Flam4CUDA 的开源项目,以便该选项存在。他们现在的样子,它尽可能多地使用现有的所有 GPU,其效果是温度飙升(显然)。为了在长时间的计算中降低温度,我希望能够告诉程序使用每个 GPU 的 50%(或者甚至对不同的 GPU 使用不同的百分比,或者也可以选择要使用的 GPU)。有什么想法吗?

如果您想查看代码,可以使用“svn co https://flam4.svn.sourceforge.net/svnroot/flam4 flam4”。

【问题讨论】:

  • 是时候购买更多的粉丝了 ;)

标签: cuda gpu


【解决方案1】:

没有简单的方法来做你要求做的事情。 CPU 使用是通过上下文切换的时间片来控制的,而 GPU 没有这种细粒度的上下文切换。 GPU 可以协同处理多任务。这就是为什么用于工作站级和服务器级主板的 nvidia-smi 工具具有“独占”和“禁止”模式来控制给定主板上允许的 GPU 上下文数量。

如已建议的那样,弄乱网格中的线程/块或块的数量会破坏将元数据传递给内核的应用程序(您的软件不容易推断出),这取决于预期的块和网格大小。

【讨论】:

    【解决方案2】:

    您可以使用 CUDA 查看 gpu 属性并找到多处理器的数量和每个多处理器的内核数。你基本上需要做的就是改变内核函数的块大小和网格大小,这样你就可以使用一半的内核数。

    【讨论】:

      猜你喜欢
      • 2017-09-16
      • 1970-01-01
      • 2019-01-08
      • 2021-06-12
      • 1970-01-01
      • 1970-01-01
      • 2019-09-11
      • 2011-09-21
      • 2017-12-06
      相关资源
      最近更新 更多