[debug]-ubuntu安装cudnn,nvcc -V指令可用,/usr/local/下却没有cuda文件夹原因分析

1.问题描述

nvidia-sminvcc -V指令且可用,如下:
在这里插入图片描述
但是在/usr/local/文件夹下却没有cuda文件夹.

2.问题由来

通常我们在安装cudnn时,先进行安装cuda,然后下载cudnn文件,通过

tar -xzvf cudnn-10.2-linux-x64-v7.6.5.32.tgz
#命令解压文件,会得到一个cuda文件夹,逐一执行下面的命令进行cudnn的安装
sudo cp cuda/include/cudnn*.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
#完成后,通过下面的命令查看安装情况,如果结果如下图逐行显示版本号,则安装成功
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

在这里插入图片描述
但是现在并没有这个文件夹该如何做呢?

3.问题定位

使用指令

whereis cuda

输出

cuda: /usr/lib/cuda /usr/include/cuda.h

找到了cuda的位置

4.问题原因

之所以在这两个位置是由于,通过sudo apt install nvidia-cuda-toolkit

这种安装方法在/usr/include和/usr/lib/cuda/lib64中安装cuda

5.问题解决

找了cuda的位置后,安装cudnn,将上述指令替换为

tar -xzvf cudnn-10.2-linux-x64-v7.6.5.32.tgz
#命令解压文件,会得到一个cuda文件夹,逐一执行下面的命令进行cudnn的安装
sudo cp cuda/include/cudnn*.h /usr/include/
sudo cp cuda/lib64/libcudnn* /usr/lib/cuda/lib64/
sudo chmod a+r /usr/include/cudnn.h
sudo chmod a+r /usr/lib/cuda/lib64/libcudnn*
#完成后,通过下面的命令查看安装情况,如果结果如下图逐行显示版本号,则安装成功
cat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2

注意需要将cuda.h与cudnn.h文件放在同一文件夹下.

6.参考

1.如何安装cuda及cudnn对应版本
2.查看cudnn安装路径