【转】Ubuntu 16.04 安装 CUDA10.1 (解决循环登陆的问题)
轉自:Ubuntu 16.04 安裝 CUDA10.1 (解決循環登陸的問題) - Hongkai_Ding - 博客園
0. 前言
- 這里直接用 cuda安裝文件同時安裝 NVIDIA 驅動和 CUDA,沒有單獨安裝更高版本的 NVIDIA 驅動;
- 此安裝是在 Intel 集顯下的圖形化界面,即用集顯做 display,用 NVIDIA 獨顯做計算;循環登陸問題是因為安裝時沒有加 --no-opengl-libs 參數,默認安裝了 OpenGL,覆蓋掉了原來顯卡的 OpenGL 庫
- 若事先單獨安裝了 NVIDIA 驅動,且在 NVIDIA 顯卡下的圖形化界面安裝 cuda(即用 NVIDIA 顯示同時做顯示和計算),則在安裝 cuda 時,取消安裝 NVIDIA 驅動的選項
- 關于自己的電腦 GPU,Linux內核等是否滿足安裝 cuda的要求,請參考官方安裝指南
1. 下載安裝文件和官方指南
登陸官網 https://developer.nvidia.com/cuda-downloads,下載相應版本的安裝文件,注意安裝文件類型選擇 runfile(local)
? ? ?
同時下載官方的安裝指南,便于參考
? ? ? ? ?
2. 禁用 nouveau 驅動(nouveau是 ubuntu16.04 默認安裝的第三方開源驅動,安裝cuda會跟nouveau沖突,需要先禁用)
- ?先查看 nouveau 是否被禁用,輸入以下命令,若有輸出,則說明 nouveau 在運行中
- 修改?/etc/modprobe.d/blacklist.conf 文件
在末尾加入
blacklist nouveau options nouveau modeset=0- 執行以下命令,并重啟
- 再執行以下命令,查看 nouveau 是否已被禁用,若無任何輸出,說明禁用成功
?3.? 文本命令行模式運行 runfile 文件安裝CUDA
- 按 Ctrl + Alt + F1 鍵進入文本命令行模式,輸入用戶名和密碼
- 先關閉圖形化界面
cd 到 runfile 文件保存的路徑,進行安裝(重點!!! 要么在此處加上 --no-opengl-libs 選項,要么在后面通過交互式界面進行手動選擇)
sudo sh cuda_10.1.168_418.67_linux.run --no-opengl-libs執行命令后,稍等一會兒,會出現交互界面,輸入 accept,過一會兒會出來選擇頁面進行手動設置(如是否安裝 nvidia 驅動及驅動設置),最后選擇 install
注意:若不小心安裝了 OpenGL,則后面會遇到循環登陸的問題,原因就是 NVIDIA顯卡 的 OpenGL 庫覆蓋了當前 Intel 顯卡的庫,解決辦法是再登入到文本命令行模式,用以下命令先卸載 cuda 和 NVIDIA驅動,再按正確的步驟重新安裝
sudo /usr/local/cuda-10.1/bin/cuda-uninstaller sudo /usr/bin/nvidia-uninstall- ?若能重新進入圖形化界面,則基本安裝成功
4. 檢查 Device Node Verification
ls /dev/nvidia*若結果顯示?/dev/nvidia0????? /dev/nvidiactl ? ?? /dev/nvidia-uvm,則說明安裝成功;若顯示類似 No such file or directory等信息,則進行如下操作
sudo vim /etc/rc.local第一行為?#!/bin/sh -e,把 -e 選項去掉,然后把下面的文本復制到 exit 0 之前,保存退出
/sbin/modprobe nvidia if [ "$?" -eq 0 ]; then# Count the number of NVIDIA controllers found.NVDEVS=`lspci | grep -i NVIDIA`N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l`NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l`N=`expr $N3D + $NVGA - 1`for i in `seq 0 $N`; domknod -m 666 /dev/nvidia$i c 195 $idonemknod -m 666 /dev/nvidiactl c 195 255 elseexit 1 fi /sbin/modprobe nvidia-uvm if [ "$?" -eq 0 ]; then# Find out the major device number used by the nvidia-uvm driverD=`grep nvidia-uvm /proc/devices | awk '{print $1}'`mknod -m 666 /dev/nvidia-uvm c $D 0 elseexit 1 fi重啟后,再次輸入以下命令,此時應該會出現?/dev/nvidia0? ?/dev/nvidiactl? ? /dev/nvidia-uvm,說明安裝成功
ls /dev/nvidia*5. 設置環境變量,寫入?/etc/profile 文件
sudo vim /etc/profile在最后加入兩行(64位系統為lib64,32位系統為lib)
export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}}export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}重啟,檢查環境變量是否設置成功
- 驗證驅動版本
- 驗證CUDA Toolkit
6. 編譯 cuda 提供的 samples
cd /home/xxx/NVIDIA_CUDA-10.1_Samples make等待一段時間,編譯 成功后,二進制文件會存放在?NVIDIA_CUDA-10.1_Samples/bin 中,執行下面的二進制文件,看是否成功
cd /home/lxxx/NVIDIA_CUDA-10.1_Samples/bin/x86_64/linux/release ./deviceQuery ./bandwidthTest若出現以下信息,則說明成功
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的【转】Ubuntu 16.04 安装 CUDA10.1 (解决循环登陆的问题)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: origin(1)
- 下一篇: 【转】How to install VN