Skip to content

Instantly share code, notes, and snippets.

@alien18331
Last active January 27, 2023 17:27
Show Gist options
  • Save alien18331/aa93e7ede6b4486cc238fdeb11e4cd72 to your computer and use it in GitHub Desktop.
Save alien18331/aa93e7ede6b4486cc238fdeb11e4cd72 to your computer and use it in GitHub Desktop.
[ubuntu] install CUDA & cudnn
version mapping
https://www.tensorflow.org/install/source_windows#tested_build_configurations
version
CUDA: 10.0
Cudnn: 7.4.2
=== CUDA ===
Download: https://developer.nvidia.com/cuda-toolkit-archive?spm=a2c4e.10696291.0.0.7b5819a4F6rq7s
$ sudo sh cuda_10.0.130_410.48_linux.run
Do you accept the previously read EULA?
> accept
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48?
> n
Install the CUDA 10.0 Toolkit?
> yes
Enter Toolkit Location [ default is /usr/local/cuda-10.0 ]:
> ENTER
Do you want to install a symbolic link at /usr/local/cuda?
> y
Install the CUDA 10.0 Samples?
> y
Enter CUDA Samples Location [ default is /home/smg ]:
> ENTER
$ sudo vim ~/.bashrc
add two line to .bashrc and save exit
export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.0/lib64
reload
$ source ~/.bashrc
$ sudo ldconfig
Test version
$ nvcc -V
Test CUDA
$ cd ~/NVIDIA_CUDA-10.0_Samples/1_Utilities/deviceQuery/
$ sudo make
$ ./deviceQuery
=== cudnn ===
Download: https://developer.nvidia.com/rdp/cudnn-archive
cuDNN v7.4 for CUDA 10.0 (with tensorflow 1.14)
1.cuDNN Runtime Library for Ubuntu18.04 (Deb)
2.cuDNN Developer Library for Ubuntu18.04 (Deb)
3.cuDNN Code Samples and User Guide for Ubuntu18.04 (Deb)
4.cuDNN Library for Linux
$ sudo dpkg -i libcudnn7_7.6.4.38-1+cuda10.0_amd64.deb
$ sudo dpkg -i libcudnn7-dev_7.6.4.38-1+cuda10.0_amd64.deb
$ sudo dpkg -i libcudnn7-doc_7.6.4.38-1+cuda10.0_amd64.deb
$ tar -xvf cudnn-10.0-linux-x64-v7.6.4.38.tgz
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include 注意,解压后的文件夹名称为cuda ,将对应文件复制到 /usr/local中的cuda内
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
Test Version - cudnn
$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
Test tensorflow-gpu
$ import tensorflow as tf
$ sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
错误如下:
/sbin/ldconfig.real: /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn.so.8 is not a symbolic link
/sbin/ldconfig.real: /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_adv_train.so.8 is not a symbolic link
/sbin/ldconfig.real: /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8 is not a symbolic link
/sbin/ldconfig.real: /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8 is not a symbolic link
/sbin/ldconfig.real: /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8 is not a symbolic link
/sbin/ldconfig.real: /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_ops_train.so.8 is not a symbolic link
/sbin/ldconfig.real: /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8 is not a symbolic link
解决方案:
sudo ln -sf /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_adv_train.so.8.0.1 /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_adv_train.so.8
sudo ln -sf /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8.0.1 /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8
sudo ln -sf /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8.0.1 /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8
sudo ln -sf /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8.0.1 /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8
sudo ln -sf /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_ops_train.so.8.0.1 /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_ops_train.so.8
sudo ln -sf /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8.0.1 /usr/local/cuda-11.0/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8
=== CUDA ===
for ubuntu18
Tensorflow 2.4.0
Cuda 11.0
Cudnn 8
TensorRT 7.2.1.6
nvidia-driver 450
同樣採用官網下載deb 回來安裝的方法
到這邊 https://developer.nvidia.com/cuda-downloads
我選擇 Linux -- x86_64 -- Ubuntu -- 18.04 -- deb(local)
畫面上就會有安裝步驟,照著做就沒問題了
install guide
$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
$ sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
$ wget https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda-repo-ubuntu1804-11-0-local_11.0.3-450.51.06-1_amd64.deb
$ sudo dpkg -i cuda-repo-ubuntu1804-11-0-local_11.0.3-450.51.06-1_amd64.deb
$ sudo apt-key add /var/cuda-repo-ubuntu1804-11-0-local/7fa2af80.pub
$ sudo apt-get update
$ sudo apt-get -y install cuda
$ sudo vim ~/.bashrc
add two line to .bashrc and save exit
export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.0/lib64
reload
$ source ~/.bashrc
$ sudo ldconfig
Check version
$ nvcc -V
Test CUDA
$ cd ~/NVIDIA_CUDA-10.0_Samples/1_Utilities/deviceQuery/
$ sudo make
$ ./deviceQuery
=== Cudnn ===
Download: https://developer.nvidia.com/rdp/cudnn-archive
cuDNN v7.4 for CUDA 10.0 (with tensorflow 1.14)
1.cuDNN Runtime Library for Ubuntu18.04 (Deb)
2.cuDNN Developer Library for Ubuntu18.04 (Deb)
3.cuDNN Code Samples and User Guide for Ubuntu18.04 (Deb)
4.cuDNN Library for Linux
$ sudo dpkg -i libcudnn7_7.6.4.38-1+cuda10.0_amd64.deb
$ sudo dpkg -i libcudnn7-dev_7.6.4.38-1+cuda10.0_amd64.deb
$ sudo dpkg -i libcudnn7-doc_7.6.4.38-1+cuda10.0_amd64.deb
$ tar -xvf cudnn-10.0-linux-x64-v7.6.4.38.tgz
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include 注意,解压后的文件夹名称为cuda ,将对应文件复制到 /usr/local中的cuda内
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
Test Version - cudnn
$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
=== TensorRT ===
Download: https://developer.nvidia.com/nvidia-tensorrt-7x-download
$ tar -xvf TensorRT-7.2.0.14.Ubuntu-18.04.x86_64-gnu.cuda-11.0.cudnn8.0.tar.gz
# sudo vim ~/.bashrc
add path
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/smg/usrPack/TensorRT/TensorRT-7.2.0.14/lib
$ source ~/.bashrc
$ cd python
$ sudo pip3 install tensorrt-7.0.0.11-cp36-none-linux_x86_64.whl
$ cd uff
$ sudo pip3 install uff-0.6.5-py2.py3-none-any.whl
$ cd graphsurgeon
$ sudo pip3 install graphsurgeon-0.4.1-py2.py3-none-any.whl
$ sudo cp ./targets/x86_64-linux-gnu/lib/lib* /usr/lib/
Test TensorRT
1.下载测试数据
$ cd data/mnist
$ python3 download_pgms.py
2.编译测试
$ cd samples/sampleMNIST
$ make
3.运行
$ cd ../../bin
$ ./sample_mnist
ref.
Cuda
https://gitpress.io/@chchang/install-nvidia-driver-cuda-pgstrom-in-ubuntu-1804
Cudnn
https://gist.github.com/alien18331/aa93e7ede6b4486cc238fdeb11e4cd72
TensorRT
https://blog.csdn.net/u011681952/article/details/105973996
pip3 install launchpadlib
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment