Jetson AGX Xavier配置cuDNN流程
环境:Jetson AGX Xavier,CUDA 10.2,cuDNN 8.0.0
1 软件版本查询
CUDA版本查询:
nvcc -V
或者,cat /usr/local/cuda/version.txt
cuDNN版本查询:
cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
2 配置cuDNN
2.1 复制头文件与库文件
Xavier虽然安装了cuDNN,但没有将对应的头文件、库文件放到cuda目录。Xavier中cuDNN的头文件在:/usr/include,库文件位于:/usr/lib/aarch64-linux-gnu。将头文件与库文件复制到cuda目录下:
cd /usr/include && sudo cp cudnn.h /usr/local/cuda/include
cd /usr/lib/aarch64-linux-gnu && sudo cp libcudnn* /usr/local/cuda/lib64
2.2 修改文件权限
修改复制完的头文件与库文件的权限,所有用户都可读,可写,可执行:
sudo chmod 777 /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
2.3 重新链接
cd /usr/local/cuda/lib64
sudo ln -sf libcudnn.so.8.0.0 libcudnn.so.8
sudo ln -sf libcudnn_ops_train.so.8.0.0 libcudnn_ops_train.so.8
sudo ln -sf libcudnn_ops_infer.so.8.0.0 libcudnn_ops_infer.so.8
sudo ln -sf libcudnn_adv_infer.so.8.0.0 libcudnn_adv_infer.so.8
sudo ln -sf libcudnn_cnn_infer.so.8.0.0 libcudnn_cnn_infer.so.8
sudo ln -sf libcudnn_cnn_train.so.8.0.0 libcudnn_cnn_train.so.8
sudo ln -sf libcudnn_adv_train.so.8.0.0 libcudnn_adv_train.so.8
如果不重新链接,直接ldconfig,会出现“libcudnn.so.8 不是符号链接”,“libcudnn_ops_train.so.8 不是符号链接”,“libcudnn_ops_infer.so.8 不是符号链接”,“libcudnn_adv_infer.so.8 不是符号链接”,“libcudnn_cnn_infer.so.8 不是符号链接”,“libcudnn_cnn_train.so.8 不是符号链接”,“libcudnn_adv_train.so.8 不是符号链接”,如下图所示:
2.4 编译
sudo ldconfig
3 测试cuDNN
sudo cp -r /usr/src/cudnn_samples_v8/ ~/
cd ~/cudnn_samples_v8/mnistCUDNN
sudo chmod 777 ~/cudnn_samples_v8
sudo make clean && make
./mnistCUDNN
如果配置成功 测试完成后会显示:“Test passed!”,如下图所示:
4 参考文献
- Nvidia官网cuDNN配置教程:https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#installdriver
- 源码安装cuDNN v7.3.0 for CUDA 10.0,并测试cuDNN是否安装成功:https://blog.csdn.net/xingdou520/article/details/83902685
- jetson xavier 配置 Tensorflow1.12.0(CUDA 10.0 + cuDNN 7.3.0 ):https://blog.csdn.net/xingdou520/article/details/84402577#t6
- Linux ln命令:https://www.runoob.com/linux/linux-comm-ln.html
- Linux ldconfig命令:https://ipcmen.com/ldconfig
- Linux chmod命令用法:https://www.cnblogs.com/xiaoxiaoweng/p/10722044.html
- Ubuntu: ldconfig(解决*.so不是符号连接):https://blog.csdn.net/wishchin/article/details/91528315
- 解决:mkdir: cannot create directory ‘test’: Permission denied:https://blog.csdn.net/weixin_42433970/article/details/102462961
- linux下 cat grep快速查找内容:https://blog.csdn.net/yuan882696yan/article/details/81663579