如何选择指定的GPU来运行CUDA程序?
Posted
技术标签:
【中文标题】如何选择指定的GPU来运行CUDA程序?【英文标题】:how to choose designated GPU to run CUDA program? 【发布时间】: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 代码”是什么意思?一个内核或整个应用程序,包括主机和设备代码? 【参考方案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的更多信息。
【讨论】:
以上是关于如何选择指定的GPU来运行CUDA程序?的主要内容,如果未能解决你的问题,请参考以下文章