gpt4 book ai didi

linux - 是否有可能在 GPU 中禁用某些 SMX?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:04:10 24 4
gpt4 key购买 nike

在单个GPU如P100中有56个SM(Streaming Multiprocessors),不同的SM可能相关性很小。我想知道不同SM的应用程序性能变化。所以有什么办法可以禁用一些SM某个 GPU。我知道 CPU 提供了相应的机制,但还没有为 GPU 提供一个好的机制。谢谢!

最佳答案

没有 CUDA 提供的方法来禁用 SM(流式多处理器)。对于不同程度的难度和行为,存在一些使用间接方法进行尝试的可能性:

  1. 使用 CUDA MPS,并通过仔细控制启动的 block 数和这些 block 的资源利用率来启动一个完全“占用”一个或多个 SM 的应用程序。使用 CUDA MPS,另一个应用程序可以在同一个 GPU 上运行,并且内核可以同时运行,前提是要充分注意它。这可能不允许直接修改被测应用程序代码(但需要启动额外的应用程序以及 MPS)。内核持续时间需要“长”,以便在被测应用程序运行时占用 SM。

  2. 在您的应用程序代码中,通过从与被测代码相同的应用程序启动“虚拟”内核,并让虚拟内核“占用”一个或多个,有效地重新创建上面第 1 项中列出的行为短信。然后被测应用程序可以启动所需的内核。这应该允许在没有 MPS 的情况下实现内核并发。

  3. 在您的应用程序代码中,对于被测内核本身,修改内核 block 调度行为,probably using the smid special register via inline PTX , 使应用内核本身只使用某些 SM,有效减少使用总数。

关于linux - 是否有可能在 GPU 中禁用某些 SMX?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47968815/

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