ubuntu下tensorflow-gpu突然不能在gpu上跑(cuda10.0,Cannot dlopen some GPU libraries.Skipping registering GPU )

之前能正常在gpu上跑的程序,突然速度下降了一百倍,发现是没在gpu上跑起来

问题检查:

warning信息:

2020-10-14 11:05:44.327061: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcublas.so.10.0'; dlerror: libcublas.so.10.0: 无法打开共享对象文件: 没有那个文件或目录
2020-10-14 11:05:44.327136: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcufft.so.10.0'; dlerror: libcufft.so.10.0: 无法打开共享对象文件: 没有那个文件或目录
2020-10-14 11:05:44.327200: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcurand.so.10.0'; dlerror: libcurand.so.10.0: 无法打开共享对象文件: 没有那个文件或目录
2020-10-14 11:05:44.327262: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcusolver.so.10.0'; dlerror: libcusolver.so.10.0: 无法打开共享对象文件: 没有那个文件或目录
2020-10-14 11:05:44.327322: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcusparse.so.10.0'; dlerror: libcusparse.so.10.0: 无法打开共享对象文件: 没有那个文件或目录
2020-10-14 11:05:44.327384: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcudnn.so.7'; dlerror: libcudnn.so.7: 无法打开共享对象文件: 没有那个文件或目录
2020-10-14 11:05:44.327394: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1641] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform.
Skipping registering GPU devices...

1.编译cuda自带的samples,测试cuda功能是否正常:

cd /home/xxx/NVIDIA_CUDA-10.0_Samples
make

等待一段时间,编译成功后

cd /home/lxxx/NVIDIA_CUDA-10.0_Samples/bin/x86_64/linux/release
./deviceQuery

出现上面这样的结果,输出下面命令行

./bandwidthTest

这样的结果说明没问题。

2.nvcc -V可以查看目前cuda的版本,结果显示目前是10.0

注意,用

sudo nvidia-smi

这个命令查看时候右上角显示的是目前显卡可以用的最高cuda版本,而不是目前的cuda版本,我的结果如下

3.查看目前tensorflow-gpu版本是1.15.0,tensorflow和cuda的版本对应可以在以下链接查看:

https://tensorflow.google.cn/install/source

可以看出应该不存在版本不对应的问题

最后结论:cuda应该是没问题,只是pycharm查找动态库的默认路径不对

尝试解决办法:

默认情况下,系统只会在/usr/lib、/usr/local/lib目录下查找.so文件。为了能够让系统找到我们的liba.so,我们要么把liba.so放到上述两个目录中,要么使用LD_LIBRARY_PATH环境变量将liba.so所在的目录添加为.so搜索目录。

尝试把这些文件粘贴到/usr/lib目录下

qichang@qichang-TUF-Gaming-FA506IV-FA506IV:/usr$ sudo cp local/cudnn/cuda/lib64/libcudnn.so.7 lib/libcudnn.so.7
[sudo] qichang 的密码: 
qichang@qichang-TUF-Gaming-FA506IV-FA506IV:/usr$ sudo cp local/cuda-10.0/lib64/libcusparse.so.10.0 lib/libcusparse.so.10.0
qichang@qichang-TUF-Gaming-FA506IV-FA506IV:/usr$ sudo cp local/cuda-10.0/lib64/libcusolver.so.10.0 lib/libcusolver.so.10.0
qichang@qichang-TUF-Gaming-FA506IV-FA506IV:/usr$ sudo cp local/cuda-10.0/lib64/libcurand.so.10.0 lib/libcurand.so.10.0
qichang@qichang-TUF-Gaming-FA506IV-FA506IV:/usr$ sudo cp local/cuda-10.0/lib64/libcufft.so.10.0 lib/libcufft.so.10.0
qichang@qichang-TUF-Gaming-FA506IV-FA506IV:/usr$ sudo cp local/cuda-10.0/lib64/libcublas.so.10.0 lib/libcublas.so.10.0

然后就解决了上面的问题

应该也可以通过添加环境变量的方法把环境变量路径改成usr/local/cuda-10.0/lib64

最后再在执行程序时候看一下GPU利用率,确定确实使用了GPU

(虽然解决了上面的问题,但是一模一样的程序原来只要半秒钟!现在还是要三分钟!真的不知道什么鬼!!!!!!)

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值