【问题标题】:Get current CUDA contexts running on my GPU获取在我的 GPU 上运行的当前 CUDA 上下文
【发布时间】:2016-12-15 10:51:42
【问题描述】:

有什么方法可以在给定的时间发现有多少进程在 GPU 上运行并可能管理它们(yield、resume、kill ... 必要时)。我想要做的是在我运行不同的程序时,监视 GPU 上的每个进程活动。我没有看到如何做到这一点。我看到GPU上下文是进程的CPU等价物,但是我读到的所有解释都是关于在单个程序中影响它。同样,我想要的是跟踪 GPU 上的所有活动(例如使用 nvidia-smi 工具,但使用我自己的方法)。任何人都可以帮助我吗?这可能吗?

【问题讨论】:

    标签: cuda cuda-context


    【解决方案1】:

    GPU 上下文是驱动程序级别的构造,GPU 本身对上下文一无所知。它所知道的是它有一个命令队列,从驱动程序发送给它,它将运行并执行。 GPU 支持的各种 API 公开了对发出命令的支持,尽管有用于检查命令是否已完成的命令,但我认为没有任何命令可以取消命令。从我的角度来看,在其他上下文中检查或操作命令将是对上下文概念的背叛。

    RE 检查 GPU 正在做什么,您可以通过跟踪驱动程序命令队列、您正在发出和硬件命令队列采样状态在驱动程序级别执行此操作,这是很多工作,这就是为什么这个任务通常留给 GPU 供应商实施。

    【讨论】:

    • 谢谢,这似乎不是一件容易的事。
    猜你喜欢
    • 2017-08-19
    • 1970-01-01
    • 1970-01-01
    • 2012-10-01
    • 2012-06-22
    • 2019-06-09
    • 1970-01-01
    • 2019-02-26
    相关资源
    最近更新 更多