我的电脑(ubuntu 12.04 x86和CUDA 6.0)有2个GPU,我有一些CUDA程序,我有一个用python编写的程序来管理它们。
例如,我想选择一个GPU来运行一些CUDA程序,然后选择另一个来运行其他CUDA程序。但是管理过程不在CUDA代码之内,所以我不能使用" cudaSetDevice" CUDA程序中的API。也就是说,CUDA程序是不可改变的,我只能在它们之外选择GPU。
有可能吗?
答案 0 :(得分: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"
$
的更多信息