因有需求需要改動centos7中的CUDA(更新到10)和GUP 的driver(更新到410)的版本。
事先需要查看原版本的信息,使用nvidia-smi可以查看driver的版本信息(最新的也顯示CUDA的版本信息);使用nvcc –version查看CUDA的信息。
服務器的基本配置是:CUDA的原始版本是9.1.85,driver的原始版本是390.46,GPU的型號是Tesla P4,系統是centos7。(網上的教程說是先更新CUDA再更新driver,我也是按照上述步驟來的。)
首先,打開官網,勾選配置(https://developer.nvidia.com/cuda-toolkit-archive)
圖1 CUDA的下載
(PS:Installer Type的選擇沒有那么重要,每一個選擇都給出了相關的安裝步驟)
直接給定步驟安裝即可。對於CUDA,我選擇了直接覆蓋,所以在安裝完這個版本的時候系統中會存在兩個版本的CUDA,一個是CUDA9.1,一個是CUDA10.0。所以多版本需要配置環境,將CUDA10.0給添加到環境中。代碼如下:
####sudo vim ~/.bashrc
export PATH=$PATH:/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.0/lib64/{LD_LIBRARY_PATH:+:{ LD_LIBRARY_PATH }}
export CUDA_HOME=/usr/local/cuda-10.0
#跳出
#####nvcc –version
這時候應該輸出的CUDA的信息是你選定的,如果還是原版,建議####sudo reboot(不允許重啟,再想轍)
更新完CUDA之后,接着可以更新driver,打開官網:https://www.nvidia.com/Download/index.aspx?lang=cn,根據自己電腦的版本勾選信息,
圖2 GPU的driver的下載
(PS:重要的事情說3遍,因為我的系統是centos7的,所以我選的“操作系統”是Linux 64-bit,如果選錯了,之后會報錯)
我選的是后綴是.run的安裝包,使用的安裝命令如下:
####sudo sh ******************************.run
(PS:安裝的過程我是選擇了先卸載,后安裝,據說直接覆蓋也是可以的)
安裝成功之后在命令行中輸入####nvidia-smi ,有如下顯示,則表示CUDA和driver升級成功!
自己遇到的坑:
1、使用nvidia-detect 命令檢測,驅動發現符合的驅動版本是410.66,且不在yum中。對於不在yum中,我直接換了yum的環境,但是還是沒有,最好的方法是直接下載,使用sudo wget “******(下載的鏈接)******” 下載的地址是(以CUDA為例),選擇“下載按鍵”后單擊右鍵,選擇“復制鏈接地址”,這樣即找到了下載的鏈接。
nvidia-detec推薦的是410.66的,官網上不一定有,一切以官網的為主。
2、 在GPU的驅動下載過程中,將操作系統(自己的操作系統是centos7)錯誤的選擇了Linux 64-bit RHEL7(正確的應該是Linux 64-bit)。對於這個驅動,也是可以安裝的,但是CUDA和驅動的版本並不匹配,所以使用####nvidia-smi命令會有如下的報錯:
這樣就不得不重新下載正確版本的driver,重新安裝后才正確運行。