【问题标题】:how to choose designated GPU to run CUDA program?如何选择指定的GPU来运行CUDA程序?
【发布时间】:2014-10-23 05:55:35
【问题描述】:

我的 PC(带有 CUDA 6.0 的 ubuntu 12.04 x86)有 2 个 GPU,我有一些 CUDA 程序,还有一个用 python 编写的程序来管理它们。

例如,我想选择一个 GPU 来运行一些 CUDA 程序,并选择另一个 GPU 来运行其他 CUDA 程序。但是管理过程在 CUDA 代码之外,所以我不能在 CUDA 程序中使用“cudaSetDevice”API。也就是说,CUDA程序是不可更改的,我只能选择它们之外的GPU。

有可能吗?

【问题讨论】:

  • “但是管理过程在CUDA代码之外”——那么它在哪里呢?实际上,“CUDA 代码”是什么意思?一个内核或整个应用程序,包括主机和设备代码?

标签: cuda gpu


【解决方案1】:

一种选择是在程序环境中使用CUDA_VISIBLE_DEVICE 来限制它看到的设备:

$ deviceQuery |& grep ^Device
Device 0: "Tesla M2090"
Device 1: "Tesla M2090"
$ CUDA_VISIBLE_DEVICES=0 deviceQuery |& grep ^Device
Device 0: "Tesla M2090"
$

查看CUDA developer zone website的更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-17
    • 1970-01-01
    • 2017-03-18
    • 2021-06-04
    • 2021-11-26
    • 2022-07-27
    • 1970-01-01
    • 2022-10-23
    相关资源
    最近更新 更多