背景
@H_403_7@想用GPU跑Tensorflow-gpu,买了块Tesla显卡,默认支持CUDA8.0以后版本。所以刚开始准备安装CUDA8.0,上官网搜索一圈,按照提示,通过apt-get安装,可是装好之后,运行Tensorflow,发现缺少libcusparse.so.8.0 库。如下:
@H_403_7@不得不寻找这个库,通过提示知道这个是CUDNN提供的一个库,于是希望下载CUDNN,(这个资源现在网上很难找到了),费尽千辛万苦,下载了CUDNN V6.0以及CUDNN V7.0,安装,然鹅,可是居然还是没有没找到libcusparse.so.8.0。
@H_403_7@然后,就想到安装CUDA9.0版本,是不是会兼容。于是卸载 apt-get auto remove ***,再去安装9.0版本。这次学乖了,没有通过apt-get安装(说实话,不太习惯一个软件的东西被分散在各个地方,我喜欢一个软件的东西在一个文件夹),下载全部的资源包,本地安装。
@H_403_7@下载了“cuda_9.0.176_384.81_linux.run.81_linux-run”,然后直接安装,顺利完成(如果安装这个出错,说明之前apt-get的卸载不干净,安装log提示卸载即可)。
@H_403_7@然鹅,
@H_403_7@居然还是没有libcusparse.so.8.0,但是有libcusparse.so.9.0,不过,Tensorflow不支持libcusparse.so.9.0,切CUDA的这个不向前兼容,虽然没成功,但是看到了胜利的曙光,卸载cuda_9.0,重新下载cuda_8.0,问题终于解决。
@H_404_31@
避免其他同学走坑,下面分享下我这里的正确步骤,一起学习:
@H_403_7@1,首先要确认NVIDIA显卡正确的被安装上去了
@H_403_7@2,下载CUDA_8.0驱动包cuda_8.0.44_linux.run,因为这个链接,非常难找到,所以分享出来
@H_403_7@链接:http://pan.baidu.com/s/1o7EYEL0 密码:zPHP@H_404_31@
@H_403_7@3,直接 sudo ./cuda_8.0.44_linux.run 安装,安装提示选择yes和默认选项即可。安装成功,会看到如下信息
@H_404_31@
@H_403_7@4,设置环境变量
export CUDA_HOME=/usr/local/cuda-8.0 export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:${LD_LIBRARY_PATH} export PATH=/usr/local/cuda-8.0/bin:${PATH}
@H_404_31@
@H_403_7@执行#source /etc/profile
@H_403_7@5,配置lib地址
@H_403_77@sudo vim /etc/ld.so.conf.d/cuda.conf
@H_403_77@@H_403_7@在打开的文件中添加如下语句:
@H_403_77@/usr/local/cuda/lib64
@H_403_77@sudo ldconfig
@H_403_77@@H_403_7@6,验证CUDA安装成功
@H_403_77@
@H_403_77@cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
@H_403_77@sudo make
@H_403_77@sudo ./deviceQuery
@H_403_7@返回GPU的信息则表示配置成功
@H_404_31@ @H_404_31@ @H_403_7@7,运行Tensorflow-gpu,终于有libcusparse.so.8.0了,但是,缺少libcudnn.so.6,根据之前的安装过程,知道,这个是cudnn_8.0的库,所以直接下载cudnn-8.0-linux-x64-v6.0.0.tgz,这里也提供一个连接下载(感谢百度网盘)。@H_403_7@链接:http://pan.baidu.com/s/1pKEW7tp 密码:c5z5@H_404_31@
@H_403_7@8,再运行Tensorflow-gpu,终于可以正常跑了。
@H_403_7@查看GPU状态(-l表示循环)
#nvidia-smi -l
@H_404_31@
@H_403_7@9,OK,大功告成,希望对大家有所帮助。