【问题标题】:Pycuda how to know which device is runningPycuda如何知道哪个设备正在运行
【发布时间】:2017-10-31 10:47:15
【问题描述】:

我们只有 4 个 GPU 设备。我们有超过 4 个用户来运行 cuda 程序,所以在我运行我的程序之前,我想检查哪个设备不忙,否则它会分配内存失败。但我还没有找到一个函数来获取这个标签。我知道当我们想使用我们调用“cudaSetDevice()”的设备时,每个设备都必须有一个标签。并且“nvidia-smi”可以获得更多细节,包括哪个进程正在使用哪个设备以及它使用了多少内存。那么谁能帮帮我呢?

【问题讨论】:

    标签: python cuda pycuda


    【解决方案1】:

    cudaSetDevice 的值从 0 开始,然后随着每个附加设备单调增加。或者,您可以设置环境变量 CUDA_VISIBLE_DEVICES 来选择要使用的设备。 (见https://devblogs.nvidia.com/parallelforall/cuda-pro-tip-control-gpu-visibility-cuda_visible_devices/)。

    要获取有关使用设备的信息,您需要使用驱动程序 API:http://docs.nvidia.com/cuda/cuda-driver-api/index.html

    【讨论】:

      猜你喜欢
      • 2011-09-19
      • 2019-03-07
      • 2012-12-04
      • 2018-12-05
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多