【问题标题】:Checking if CUDA MPS server is ON/OFF during application runtime?在应用程序运行时检查 CUDA MPS 服务器是否打开/关闭?
【发布时间】:2015-06-28 02:10:41
【问题描述】:

我的问题是是否有可能以某种方式查询 MPS 服务器并检查它是否在应用程序运行时在 GPU 上运行?

据我所知,通过使用 nvidia-smi 可以检查 CUDA MPS Server 是否在 GPU 上运行,但我不确定如何在应用程序运行时使用此系统命令。是否有其他方法可以在应用程序运行时检查 MPS 服务器是否在 GPU 上运行?

【问题讨论】:

    标签: cuda nvidia


    【解决方案1】:

    我找到了一种方法,但如果您认为可能有更好的方法,请分享。无论如何,这种方法对我有用。

    基本上,当 MPS 控制守护进程启动时,会在 /tmp/nvidia-mps/ 中创建一个名为 control 的文件,当守护进程退出时,该文件将不再存在。

    我使用access 函数来检查 /tmp/nvidia-mps/control 文件是否存在。

    代码如下:

    #include <unistd.h>
    #include <stdio.h>
    
    
    int main()
    {
        int result;
        const char *filename = "/tmp/nvidia-mps/control"; // only available if nvidia-cuda-mps-control daemon is running
        result = access (filename, F_OK); // F_OK tests existence also (R_OK,W_OK,X_OK).
                                          //            for readable, writeable, executable
        if (result == 0)
        {
           printf("%s MPS demon is running!!\n",filename);
        }
        else
        {
           printf("%s MPS demon doesn't exist!\n",filename);
        }
        return 0;
    }
    

    结果如下:

    # gcc mps-checker.c -o mps-status
    # nvidia-cuda-mps-control -d
    # ./mps-status
    /tmp/nvidia-mps/control MPS demon is running!!
    # echo quit | nvidia-cuda-mps-control
    # ./mps-status
    /tmp/nvidia-mps/control MPS demon doesn't exist!
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-15
      • 2016-07-17
      • 1970-01-01
      • 2013-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多