ubuntu20.04ok

第一次安装的时候使用的是ubuntu18.04,后来发现还是会报错,索性用20.04,毕竟20.04屏幕看上去舒服漂亮多了。cuda还是装10.1,cudnn7.6.5

显卡驱动安装

我之前用的都是

1
sudo apt-get install nvidia-driver-418

之后会安装成功

还有一种方式是用touchpad的附加驱动安装

2021-07-30_16-17

image-20210730162656024-16276336169501

这里选择应用修改即可

但是使用nvidia-smi会显示

1
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver

这里的报错解决是通过

1
2
ll /usr/src/
sudo apt-get install dkms

20210529112013813

看到驱动是418.211

因此使用

1
sudo dkms install -m nvidia -v 418.211.00

装完之后重启,我还改了bios

以及禁了nouveau驱动

通过

1
sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

在文件中添加内容:

1
2
blacklist nouveau
options nouveau modeset=0

更新后编译

1
sudo update-initramfs -u

图形驱动我没敢禁,上次导致电脑崩了

安装cuda

官网下载cuda_10.1.105_418.39_linux.run

然后不要选择driver,因为安装过了,而且大概率会报错

因为ubuntu20.04是gcc版本g++版本比较高,所以要设定不同版本

1
2
3
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1
sudo update-alternatives --display gcc

image-20210730164158162

这里会报错,所以我用了aptitude装依赖

1
2
3
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++ 9
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++ 1
sudo update-alternatives --display g++

命令行为

1
sudo aptitude install g++

搞定之后装cuda10.1,装完大功告成,失败至少试个三次吧,反正失败的原因不知道,什么都不变化再装就成功了

1
sudo sh cuda_10.1.243_418.87.00_linux.run

image-20210730161334692
装完后显示:
20210529112013813

装完之后记得添加环境变量,使用sudo gedit ~/.bashrc修改

1
2
3
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

修改成功后source ~/.bashrc更新,之后测试。

nvcc -V测试一下,终于成功!!!

image-20210730164654019

记得还要测试一下官方sample

1
2
cd /usr/local/cuda/samples/1_Utilities/deviceQuery
sudo make

image-20210730164921606-16276349633804

1
./deviceQuery

image-20210730164955813-16276349973795

信息如下,终于成功了.

安装cudnn

安装这四个文件,并且必须注册登陆

1585117-20191111123807202-1429904716

1
2
3
4
tar -zxvf cudnn-10.1-linux-x64-v7.6.5.32.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/inlude
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

依次输入以上命令,输入最后一个命令,权限会报错,我没管

1
2
3
sudo dpkg -i libcudnn7_7.6.5.32-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn7-dev_7.6.5.32-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn7-doc_7.6.5.32-1+cuda10.1_amd64.deb

安装完后测试一下

1
2
3
cp -r /usr/src/cudnn_samples_v7/ ~
cd ~/cudnn_samples_v7/mnistCUDNN
make clean && make

这里果然报错了,但是是gcc版本问题,需要改软链接

image-20210730164321603

1
2
sudo ln -s /usr/bin/gcc-7 /usr/local/cuda/bin/gcc
sudo ln -s /usr/bin/g++-7 /usr/local/cuda/bin/g++

之后make成功,出现以下信息

image-20210730170624027

1
./mnistCUDNN

image-20210730170747272-16276360684278

终于成功,出现Test passed!不容易!