最近在配置手势3d重建的环境,碰到了比较多的问题,在这里记录一下cuda的问题,目前网上没有新版本的安装教学,所以我就搞一下,希望能帮助大家。

首先是确定ubuntu20.04有没有对应的显卡,我是直接重装了一遍系统,发现显卡已经有了。

检测显卡使用命令:

nvidia-smi

会出现

Mon Sep 26 20:38:53 2022       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 515.65.01    Driver Version: 515.65.01    CUDA Version: 11.7     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   54C    P8     3W /  N/A |      9MiB /  4096MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1052      G   /usr/lib/xorg/Xorg                  4MiB |
|    0   N/A  N/A      1700      G   /usr/lib/xorg/Xorg                  4MiB |
+-----------------------------------------------------------------------------+

出现就代表已经成功安装显卡驱动了,于是准备装cuda,版本要和上面的第一行的cuda version一致,我这里是11.7,所以我要安装cuda 11.7. cuda官网网址为:CUDA Toolkit Archive | NVIDIA Developer

选择对应版本,我这里直接选11.7了,之后选择如下图:

 按照官网提示的输入到终端中,提示在下面很显眼,最好不要直接复制我的:

 wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.run
 sudo sh cuda_11.7.0_515.43.04_linux.run

第一行输入到终端中后会进行下载,之后就是等待,下载好后运行第二行。

这里选择continue,之后可能会报错没有gcc,如果报错直接安装gcc和g++就好。

sudo apt-get install gcc
sudo apt-get install g++

之后就继续,输入accept。

之后就继续,把第一个选择驱动,给他回车取消,因为我们已经有驱动了。

然后就直接install。等待片刻后,会安装完成,然后在.bashrc里配置环境变量。

sudo gedit ~/.bashrc

 在打开文件的最后一行加上:

export PATH=$PATH:/usr/local/cuda/bin  
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64  
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64

 ok,cuda配置结束,正常的测试是用sample里的脚本来测试的,可能是最新版的cuda,没有sample,就假设它装好了。使用nvcc -V测试以下有没有cuda。

nvcc -V

 有这个显示就代表成了。

然后安装cudnn,这个要是跑深度学习必须装,不要不装!

去官网下载:https://developer.nvidia.com/rdp/cudnn-download

这里需要注册nvidia账号,没有的注册下。

之后选择新版本的,也就是第一个链接,末尾是11.几,因为我们cuda下载的是11.7,需要进行匹配。

之后我们的版本选择Local Installer for Ubuntu20.04 x86_64 (Deb),因为我的电脑是x86架构的,如果是书梅派或者tx2之类的就选别的:

下载好之后进行一个安装。

进入你下载的路径,在这里对这个进行安装。

sudo dpkg -i cudnn-local-repo-${OS}-8.x.x.x_1.0-1_amd64.deb

使用sudo dpkg -i  +deb的命令来,我们需要把自己的版本输入进去,把里面的.x.x.x改了,我就改成了8.5.0.96, 然后前面的{os}改成ubuntu对应的版本2004.我这里最后改为了:

sudo dpkg -i cudnn-local-repo-ubuntu2004-8.5.0.96_1.0-1_amd64.deb

之后下一步,根据上面运行后的提示,把最后一句话复制下,输入终端。类似于下面这一句话。

sudo cp /var/cudnn-local-repo-*/cudnn-local-*-keyring.gpg /usr/share/keyrings/

 然后就是继续装,把里面的xxx换成上面提到的,把后面的X.Y换成自己的cuda版本,我这里是cuda11.7,所以我就改成了11.7:

sudo apt-get update
sudo apt-get install libcudnn8=8.x.x.x-1+cudaX.Y
sudo apt-get install libcudnn8-dev=8.x.x.x-1+cudaX.Y
sudo apt-get install libcudnn8-samples=8.x.x.x-1+cudaX.Y

 之后就装好了,测试一下有没有成功。

输入一下命令:

cp -r /usr/src/cudnn_samples_v8/ $HOME
cd  $HOME/cudnn_samples_v8/mnistCUDNN
make clean && make
./mnistCUDNN

这里可能会报错,如果是g++报错那就是没有g++,装。

sudo apt-get install g++

我还报错了头文件的问题,

这里安装这个头文件

sudo apt-get install libfreeimage3 libfreeimage-dev

 之后再次make,注意make是编译命令,具体就不讲了。

等待一段时间和成功,可以进行下一步。

如果最后出现如下语句:Test passed!,那就是成功了!

 

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐