Linux系統下安裝NVIDIA顯卡驅動+配置CUDA(Ubuntu 18.04.4LTS+NVIDIA-Linux440.82+CUDA10.2)
系統與顯卡信息
我使用的是Linux桌面是Ubuntu18.04.4LTS
顯卡是NVIDIA的GeForce MX250
查到自己的顯卡型號,可以去官網上檢查此型號的顯卡是否支持CUDA
附:檢查自己計算機顯卡型號
計算機-管理-系統工具-設備管理器-顯示適配器
查到信號可以去官網看看是否支持CUDA
支持CUDA的NVIDIA-GPU列表
不在列表上也不一定不支持CUDA加速,最便捷的查看方法就是安裝GPU-Z
具體方法
下載CUDA10.2以及其對應版本的NVIDIA顯卡驅動
我下載的cuda版本是10.2.89_440.33.01
這意味着所需的NVIDIA顯卡驅動版本至少是440以上的
CUDA下載地址
NVIDIA顯卡驅動下載地址
禁止集成的nouveau驅動
這一步需要修改blacklist.config,這玩意是隻讀的,需要用修改屬性命令:
sudo chmod 666 /etc/modprobe.d/blacklist.conf
用gredit編輯器打開blacklist.config
sudo gedit /etc/modprobe.d/blacklist.conf
在文件最末添加如下內容:
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb
執行如下命令,更新系統,禁用nouveau
sudo update-intramfs -u
重啓,命令如下:
sudo reboot
因爲上面重啓了,所以在這提醒一句,如果反覆安裝NVIDIA顯卡驅動始終有問題,在開機時進入BIOS關閉secure boot
卸載原有驅動
重啓完成後,在終端輸入如下命令檢查是否禁用nouveau成功,無輸出,表示禁用成功
lsmod | grep nouveau
按ctrl+alt+F1~F6進入tty1 ~ 6任意一個命令行界面均可
輸入用戶名密碼登錄
在命令行執行如下命令,關閉圖形界面(否則後面可能出錯)
sudo service lightdm stop
或者
sudo telinit 3
卸載原有驅動:
sudo apt-get remove nvidia-*
給驅動.run文件賦予執行權限
sudo chmod a+x NVIDIA-Linux-x86_64-440.82.run
安裝顯卡驅動
sudo ./NVIDIA-Linux-x86_64-440.82.run -no-opengl-files
除非你的計算機只有一個集成顯卡,纔不用加-no-opengl-files,否則一般的雙顯卡會出現循環登陸的問題
-no-x-check:安裝驅動時關閉X服務
-no-nouveau-check:安裝驅動時禁用nouveau
-no-opengl-files:只安裝驅動文件,不安裝OpenGL文件
掛載Nvidia驅動
modprobe nvidia
檢查驅動是否安裝成功
nvidia-smi
出現如下輸出,則安裝成功
如果出現Error:Unable to load the ‘nvidia-drm’ kernel module .
出現這個問題最有可能的原因是你安裝的Ubuntu是UEFI模式啓動的,但是在BIOS中卻打開了Security BOOT選項。正確做法是禁用該選項,方法見上文
安裝CUDA10.2
sudo sh cuda_10.2.89_440.33.01_linux.run --no-opengl-libs
配置環境變量
運行如下命令打開個人資料文件夾
sudo gedit /etc/profile
在末尾添加
export PATH=/usr/local/cuda-10.2/bin:$PAth
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64$LD_LIBRARY_PATH
保存,重啓電腦然後進入終端測試
cd /usr/local/cuda-10.2/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
如果result=PASS,則安裝成功,否則失敗,可能是環境未配置好或者cuda版本與驅動版本不兼容
如需卸載重裝,執行如下命令
cd /usr/local/cuda/bin
sudo ./uninstall_cuda_10.2.pl
ImportError: libcudart.so.8.0: cannot open shared object file: No such file or directory
用nvcc編譯.cu文件時若出現ImportError: libcudart.so.8.0: cannot open shared object file: No such file or directory這樣的錯誤
首先檢查/usr/local/cuda-8.0/lib64目錄,看看libcudart.so.8.0是否存在,如果不存在,則先正確安裝cuda。如果確定cuda已經存在,這個問題的出現於Linux的ldconfig命令有關
解決方法:
sudo ldconfig /usr/local/cuda-10.2/lib64