相关疑难解决方法(0)

如何选择运行作业的GPU?

在多GPU计算机中,如何指定应运行CUDA作业的GPU?

作为一个例子,在安装CUDA时,我选择安装NVIDIA_CUDA-<#.#>_Samples然后运行几个nbody模拟实例,但它们都在一个GPU 0上运行; GPU 1完全空闲(使用监控watch -n 1 nvidia-dmi).检查CUDA_VISIBLE_DEVICES使用

echo $CUDA_VISIBLE_DEVICES
Run Code Online (Sandbox Code Playgroud)

我发现这没有设定.我尝试使用它

CUDA_VISIBLE_DEVICES=1
Run Code Online (Sandbox Code Playgroud)

然后nbody再次运行但它也进入了GPU 0.

我看了相关的问题,如何选择指定的GPU来运行CUDA程序?,但deviceQuery命令不在CUDA 8.0 bin目录中.除此之外$CUDA_VISIBLE_DEVICES$,我看到其他帖子引用环境变量,$CUDA_DEVICES但这些没有设置,我没有找到有关如何使用它的信息.

虽然与我的问题没有直接关系,但是使用nbody -device=1我能够让应用程序在GPU 1上运行但是使用nbody -numdevices=2不能在GPU 0和1上运行.

我在使用bash shell运行的系统上测试这个,在CentOS 6.8上,使用CUDA 8.0,2 GTX 1080 GPU和NVIDIA驱动程序367.44.

我知道在使用CUDA编写时,您可以管理和控制要使用的CUDA资源,但在运行已编译的CUDA可执行文件时,如何从命令行管理?

cuda nvidia

41
推荐指数
5
解决办法
8万
查看次数

标签 统计

cuda ×1

nvidia ×1