Ububtu18.04下载cuda9.0
下载好后得到:
CUDA 9.0仅支持GCC 6.0及以下版本,而Ubuntu 18.04预装GCC版本为7.3,需要安装gcc-6与g++-6
查看当前版本:
$gcc --version $g++ --version
可以不卸载当前gcc 和g++直接下载gcc-6 g++-6,
$sudo apt-get install gcc-6 g++-6
然后更改软连接修改gcc-6为默认版本:
$sudo mv gcc gcc.bak
$ sudo ln -s gcc-6 gcc
$ sudo mv g++ g++.bak
$ sudo ln -s g++-6 g++
也可以直接卸载当前版本
$sudo apt-get --purge remove gcc g++
到/usr/bin下,可查看gcc g++的详情,找不到位置可以使用$wheris gcc
下载好cuda runfile文件后,运行
$sudo sh cuda_9.0.176_384.81_linux.run
若当前目录有多个.run文件很难tab出名字,可以将其转为可执行文件再运行
$chmod 755 cuda_9.0.176_384.81_linux.run
$sudo ./cuda_9.0.176_384.81_linux.run
安装中出现多个选项,显卡驱动不选,其他选yes敲回车或者自己设置路径。
已经有驱动,安装时没有选择驱动,安装驱动需要关闭图形界面到root下进行设置,有时间补
查看安装完后的提示:
提示需要设置环境变量软链接等
新下载安装cuda 目录/usr/local/下cuda软链接文件为当前安装的cuda版本
查看cuda链接指向
$ls -l
$ cd /etc/ld.so.conf.d/
将当前目录下的cuda-10.0.conf文件复制到/root下备份
$ sudo cp cuda-10-0.conf /root
更改当前文件名为cuda-9-0.conf
$ sudo mv cuda-10-0.conf cuda-9-0.conf
打开配置文件
$ gedit cuda-9-0.conf
将/usr/local/cuda/lib64写入配置文本
如果有多个CUDA版本切换,按如下方式设置。
移除/usr/local/下的cuda软链接文件,创建新的链接
$rm -rf cuda
$sudo ln -s /usr/local/cuda-10.0 /usr/local/cuda
然后再设置 /etc/ld.so.conf.d/下文件,此时cuda是可以使用并安装好的,如果使用nvcc命令需要将当前的cuda路径写入环境变量,设置如下:
export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"
此时即可使用$nvcc -V 查看当前驱动和cuda版本
Cuda安装完后reboot下。
安装cudnn7.4.2
选择的7.4.2for.CUDA9.0
得到文件:
解压,cd到解压目录
将/cudnn-9.0-linux-x64-v7.4.2.24/cuda/include 下cudnn.h 文件拷贝到cuda-9.0的include下
$sudo cp cudnn.h /usr/local/cuda-9.0/include
将/cudnn-9.0-linux-x64-v7.4.2.24/cuda/lib64 下libcudnn.so libcudnn_static.a 拷贝到cuda-9.0的lib64下
$sudo cp libcudnn.so libcudnn_static.a /usr/local/cuda-9.0/lib64
安装tensorflow-gpu 1.8.0
本来有1.13版本,现在换成1.8.0
$sudo -H python3 -m pip install tensorflow-gpu==1.8.0
成功下载显示如下:
查看pip下安装的包
$pip3 list
找到tensorflow相关的包,若想卸载,可用以下命令批量卸载
$sudo pip3 uninstall tensorflow tensorboard tensorflow-estimator tensorflow-gpu
有些卸载时需要带版本号
$sudo pip3 uninstall tensorboard==1.8.0
下载最新的tensorflow-gpu
$sudo -H python3 -m pip install --upgrade tensorflow-gpu
=====================================
CUDA是NVIDIA推出的用于自家GPU的并行计算框架,也就是说CUDA只能在NVIDIA的GPU上运行,而且只有当要解决的计算问题是可以大量并行计算的时候才能发挥CUDA的作用
Cuda和cudnn版本查看方法
cat /usr/local/cuda/version.txt
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
Cuda及显卡驱动版本查看fagnf(使用前提cuda路径加入环境变量)
$nvcc -V
驱动版本及显卡使用状态查看
$nivdia-smi