CUDA/caffe ERROR:cudaGetDeviceCount returned 30/35,Check failed: error == cudaSuccess (30/35 vs. 0)
30或者35报错
眉头一皱,事情并没有那么简单。。。。
昨天明明重做了环境,然后还测试能跑了。。。
今天打开电脑准备修改一下训练集再跑的时候,发现又又又检测不到GPU了!!!!
那就不是错误更新了某个组件或者版本不兼容问题了。。。。因为跑完我就没动环境啊
所以:真相只有一个
发现现在并没有使用GPU
重启就好了。。。。。。
具体原因见:
原文:https://blog.csdn.net/10km/article/details/61665578
在双显卡系统中,cuda运行时NVIDAI显卡必须是当前使用的显卡,否则无法获取GPU设备,cudaGetDeviceCount函数会报错,错误码35。
使用nvidia-prime切换到N卡时,如果只是按照提示logout,再重新login是不行的,必须重启系统,否则会报错,错误码30。
caffe的问题也是同样的道理,因为caffe也要调用cuda的cudaGetDeviceCount函数获取GPU设备。
(那本人是suspend之后又唤醒了,结果发现GPU就不能用了。。。但是重启完之后GPU 就又可以用了。。。。reboot大法好!)
(反正以后得看看是不是在使用集成显卡,再看别的地方是不是有错)
测试CUDA:
执行以下命令:
cd ~/NVIDIA_CUDA-8.0_Samples/1_Utilities/deviceQuery
make
./deviceQuery
可以看到详细信息,最后结果是Pass,则CUDA安装成功,否则就是哪里有问题
后记:电脑总是有可能之前监测得到GPU , 挂起之后又监测不到。有时候重启会有用,但是之后有一次是我又装了非gpu版的tensorflow之后,又监测不到GPU了,,,,,难受啊,只能重新卸载俩个版本的GPu ,然后再装上GPU 版本的tensorflow