linux重启之后No CUDA-supporting devices found!
实验室做并行计算的服务重启后,采用cuda接口的应用程序vasp_gpu,运行时提示:
CUDA Error in cuda_main.cu, line 144: unknown error
No CUDA-supporting devices found!
在Nvidia开发者论坛https://devtalk.nvidia.com/ 找到相关主题下的回答,
When you first boot up the system in console mode, the nvidia driver is not loaded and the GPU device is not available. One benifit of this , is that more host memory is free。
即重启之后GPU是默认关闭的,需要手动打开。
(修正:实际上是默认关闭persistence mode持续模式。persistence mode能够让GPU更快响应任务,代价是待机功耗增加。关闭persistence mode同样能够启动任务。但有些程序自己有bug启动不了)
$nvidia-smi
解决方法:打开persistence mode持续模式
root账户下操作
#cd /usr/local/cuda/sample/1_Utilities/deviceQuery
#./deviceQuery
#nvidia-smi -pm 1
随后我们查看GPU状态。Persistence-M从Off变成了On,持续模式已打开。
$nvidia-smi
DeviceQuery是NVIDIA自带的设备查询程序,它实际上是一个sample,需要编译后才能使用。 在 cuda根目录/.../cuda/samples/1_Utilities/deviceQuery下用make编译
这里给出了一个运行结果示范:http://blog.csdn.net/u012033124/article/details/70740119
nvidia-smi 即NVIDIA system manager interface是GPU 的控制程序,同时也能够监视GPU的运行状态。详细参数通过nvidia-smi -h命令查看帮助文档。
这里有一个简单的介绍 http://www.microway.com/hpc-tech-tips/nvidia-smi_control-your-gpus/