一、卸載舊的CUDA
卸載CUDA很簡單,一條命令就可以了,主要執行的是CUDA自帶的卸載腳本,讀者要根據自己的cuda版本找到卸載腳本:
sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl
卸載之后,還有一些殘留的文件夾,之前安裝的是CUDA 8.0。可以一並刪除:
sudo rm -rf /usr/local/cuda-8.0/
二、安裝CUDA
安裝的CUDA和CUDNN版本:
CUDA 10.0
CUDNN 7.4.2
我們可以在官網:CUDA10下載頁面,
下載符合自己系統版本的CUDA。頁面如下:
下載完成之后,給文件賦予執行權限:
chmod +x cuda_10.0.130_410.48_linux.run
執行安裝包,開始安裝:
./cuda_10.0.130_410.48_linux.run
開始安裝之后,需要閱讀說明,可以使用Ctrl + C直接閱讀完成,或者使用空格鍵慢慢閱讀。然后進行配置,我這里說明一下:
(是否同意條款,必須同意才能繼續安裝) accept/decline/quit: accept (這里不要安裝驅動,因為已經安裝最新的驅動了,否則可能會安裝舊版本的顯卡驅動,導致重復登錄的情況) Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48? (y)es/(n)o/(q)uit: n Install the CUDA 10.0 Toolkit?(是否安裝CUDA 10 ,這里必須要安裝) (y)es/(n)o/(q)uit: y Enter Toolkit Location(安裝路徑,使用默認,直接回車就行) [ default is /usr/local/cuda-10.0 ]: Do you want to install a symbolic link at /usr/local/cuda?(同意創建軟鏈接) (y)es/(n)o/(q)uit: y Install the CUDA 10.0 Samples?(不用安裝測試,本身就有了) (y)es/(n)o/(q)uit: n Installing the CUDA Toolkit in /usr/local/cuda-10.0 ...(開始安裝)
安裝完成之后,可以配置他們的環境變量,在vim ~/.bashrc的最后加上以下配置信息:
export CUDA_HOME=/usr/local/cuda-10.0 export LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${CUDA_HOME}/extras/CUPTI/lib64:$LD_LIBRARY_PATH export PATH=${CUDA_HOME}/bin:${PATH}
最后使用命令source ~/.bashrc使它生效。
可以使用命令nvcc -V查看安裝的版本信息:
三、測試安裝是否成功
執行以下幾條命令:
cd /usr/local/cuda-10.0/samples/1_Utilities/deviceQuery sudo make ./deviceQuery
正常情況下輸出:
四、下載和安裝CUDNN
進入到CUDNN的下載官網:https://developer.nvidia.com/rdp/cudnn-download ,然點擊Download開始選擇下載版本,當然在下載之前還有登錄,選擇版本界面如下,我們選擇cuDNN Library for Linux:
下載之后是一個壓縮包,如下:
cudnn-10.0-linux-x64-v7.4.2.24.tgz
然后對它進行解壓,命令如下:
tar -zxvf cudnn-10.0-linux-x64-v7.4.2.24.tgz
解壓之后可以得到以下文件:
cuda/include/cudnn.h cuda/NVIDIA_SLA_cuDNN_Support.txt cuda/lib64/libcudnn.so cuda/lib64/libcudnn.so.7 cuda/lib64/libcudnn.so.7.4.2 cuda/lib64/libcudnn_static.a
使用以下兩條命令復制這些文件到CUDA目錄下:
cp cuda/lib64/* /usr/local/cuda-10.0/lib64/ cp cuda/include/* /usr/local/cuda-10.0/include/
拷貝完成之后,可以使用以下命令查看CUDNN的版本信息:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
測試安裝結果
pytorch
import torch print(torch.cuda.is_available())
tensorflow
import tensorflow as tf print(tf.test.is_gpu_available()) # 或者 import tensorflow as tf if tf.test.gpu_device_name(): print('Default GPU Device: {}'.format(tf.test.gpu_device_name())) else: print("Please install GPU version of TF")