本文已参与「新人创作礼」活动,一起开启掘金创作之路。
问题描述: 在用官方刷机包安装cuda和cudnn是老是出错,故采取以下方式进行安装,能够完美解决该问题。
由于在进行刷机时已经在host(用来刷机的主机)上下载了有关的安装包,故采用离线拷贝安装。 一般在以下路径中可以找到:
/home/yjq/configs/jetpack/jetpack_download #根据自己设置路径更改,一般在jetson_download下找即可
安装cuda及cudnn
拷贝安装脚本
- 先创建一个cuda-l4t 文件夹(这里我写了在家目录下,根据自己习惯选择)
cd ~
mkdir cuda-l4t
-
拷贝cuda安装脚本 在 jetpack 的安装目录下的 _install/目录下有一个叫 cuda-l4t.sh 的脚本,将其拷贝到 主目录下的 cuda-l4t 文件夹下
-
拷贝cuda、cudnn安装包
所有在JetPack中下载的安装包均存在JetPack/jetpack_download中,将cuda9.0安装包 (cuda-repo-l4t-9-0-local_9.0.252-1_arm64.deb) 拷贝到 家目录下的 cuda-l4t 文件夹下
进行安装cuda
cd ~/cuda-l4t
bash cuda-l4t.sh cuda-repo-l4t-9-0-local_9.0.252-1_arm64.deb 9.0 9-0
E: Unable to locate package cuda-toolkit-9-0 等待安装完成
进行安装cudnn
- 直接安装 .deb 文件即可
sudo dpkg -i libcudnn7_7.1.5.14-1+cuda9.0_arm64.deb
sudo dpkg -i libcudnn7-dev_7.1.5.14-1+cuda9.0_arm64.deb
sudo dpkg -i libcudnn7-doc_7.1.5.14-1+cuda9.0_arm64.deb
- 安装完成后,其实是直接安装到了默认安装路径usr/include和usr/lib下的,因此需要将其拷贝到cuda安装路径下:
sudo cp /usr/include/cudnn.h /usr/local/cuda/include/
sudo cp /usr/lib/aarch64-linux-gnu/libcudnn* /usr/local/cuda/lib64/
- 执行下面命令,重新生成cudnn库的软连接
cd /usr/local/cuda/lib64
chmod +r libcudnn*
sudo rm -rf libcudnn.so libcudnn.so.7
sudo ln -s libcudnn.so.7.1.1 libcudnn.so.7
sudo ln -s libcudnn.so.7 libcudnn.so
sudo ldconfig
安装完成,舒服
source ~/.bashrc
查看版本信息
查看CUDA和cudnn版本方法 cuda版本:
nvcc -V
或者
nvcc --version
cudnn版本:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2