Ubuntu下安裝cuda歷程記錄


首先推薦兩個博主的文章,大多都是參考二位

第一位https://www.cnblogs.com/left4back/p/10952845.html

另一位https://blog.csdn.net/u012925946/article/details/84788376

 

總結

 

其實安裝命令很容易就能找到,但是自己執行起來卻總是行不通。不知道為什么明明按照作者的步驟來的,但是卻卡住了

提供以下幾個注意的點:

安裝cuda首先要做的就是查看內核是否符合要求,比如我要安裝的CUDA8,0智能接受最高4.4的內核

其次,CUDA需要NVIDIA顯卡,而且必須在雙系統下才能運行,因為虛擬機下的ubutun檢測不到顯卡,沒有辦法使用

所以先保證你的配置環境符合。

再有就是多試試,就像我的CUDA在內核4。4下安裝成功的,而驅動安裝好之后 執行nvidia-smi 卻沒有效果。偶然的機會我打開 內核4.15.0-45 ,驅動成功了

 

 

一、降內核:

命令行敲入sudo dpkg --get-selections|grep linux-image並執行,返回了兩個結果,分別為:

linux-image-4.15.0-45-generic install
linux-image-generic-hwe-16.04 install

說明我需要安裝4.4 安裝步驟如下:

1. 執行以下命令安裝

$ sudo apt-get install linux-image-extra-4.4.0-98-generic
2. 執行以下命令查看是否安裝成功

$ dpkg -l | grep 4.4.0-98-generic
具體版本號,可以查一下,4.4.后面有多種類型,都可以

 

3. 更新完成后重啟系統

$ reboot

之后再次命令行敲入sudo dpkg --get-selections|grep linux-image並執行,返回了四個結果,分別為:

linux-image-4.15.0-45-generic install
linux-image-4.4.0-98-generic install
linux-image-extra-4.4.0-98-generic install
linux-image-generic-hwe-16.04 install

 將linux-image-4.15.0-29-generic修改為linux-image-4.4.0-148-generic

執行sudo vim /etc/default/grub,打開grub設置文件,將GRUB_DEFAULT=0改為GRUB_DEFAULT='Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-148-generic'

隨后執行sudo update-grub,如無錯誤提示,即意味着/boot/grub/grub.cfg修改成功,然后sudo reboot重啟電腦

二、禁用nouveau

簡單介紹一下nouveau,簡單來說它和nvidia系列有沖突,不禁用的話可能會導致黑屏或循環登陸,因此一定要禁掉。

這里提供一個不太一樣的禁用方法,這種方法不需要重啟電腦。

分為四部:

1.首先ctrl+alt+f1切換到命令行界面,輸入賬號密碼登錄;

2.然后sudo service lightdm stop關閉圖形界面;

3.sudo modprobe -r nouveau將nouveau徹底干掉;

4.執行lsmod | grep nouveau返回空說明nouveau已經清理干凈。

三、安裝CUDA

終於到了安裝CUDA的步驟了,在禁用nouveau后,不要急着啟用lightdm,轉到cuda安裝文件所在目錄,用sudo命令進行安裝,

我的cuda安裝文件名為cuda_8.0.61_375.26_linux.run,記得要禁用opengl,所以我的命令就是sudo ./cuda_8.0.61_375.26_linux.run --no-opengl-lib,

禁用opengl據說是為了防止和系統原有的opengl沖突。其余默認安裝即可。

注意:如果執行sudo ./cuda_8.0.61_375.26_linux.run --no-opengl-lib時出現未找到命令,找到cuda_8.0.61_375.26_linux.run文件,右鍵屬性,將其調成可執行文件就可以了

四、安裝驅動

 /。。。。。。。。。。。。注意。。。。。。。。。。/

  • 完事之后重啟電腦,發現一直循環在登錄界面進不了系統桌面
解決辦法
  • 進入文本模式  CTRL+ALT+F1
  • 1.2 卸載當前 NVIDIA 所有驅動
  1.  sudo apt-get remove nvidia-*
  1.  sudo apt-get autoremove
  1.  sudo nvidia-unistall
  • 進入圖像模式  CTRL+ALT+F7

1.3 重啟電腦

 /。。。。。。。。。。。。注意。。。。。。。。。。/

 

安裝

第一種

1、    卸載舊的驅動
sudo apt-get purge nvidia*
sudo apt-get autoremove #這個命令有時候不用也可以

 

加入PPA,然后更新庫,如果添加國內的鏡像源的話,可以參考https://blog.csdn.net/u010592301/article/details/90451179
sudo add-apt-repository ppa:graphics-drivers
sudo apt-get update

 

查看適合本機的nvidia驅動
ubuntu-drivers devices

 在終端安裝上一步出現的最適合的nvidia版本,如果是384,這安裝nvidia-384, 以此類推
sudo apt-get install nvidia-384 nvidia-settings nvidia-prime

  最后使用nvidia-smi 查看是否已經讀取到安裝的驅動,然后重啟
————————————————
版權聲明:本文為CSDN博主「qianchess」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u010592301/article/details/90452281

 

 
 

 第二種

3、解決進入桌面

重新安裝驅動

編輯文件blacklist.conf

sudo vim /etc/modprobe.d/blacklist.conf

在文件最后部分插入以下兩行內容

blacklist nouveau

options nouveau modeset=0

更新系統

sudo update-initramfs -u

重啟系統(一定要重啟)

驗證nouveau是否已禁用

lsmod | grep nouveau 沒有反應說明成功了

4、在英偉達的官網上查找你自己電腦的顯卡型號然后下載相應的驅動。網址:http://www.nvidia.cn/page/home.html

我的是NVIDIA-Linux-x86_64-440.100

下載后的run文件拷貝至home目錄下。

5、卸載原先的所有驅動:

#for case1: original driver installed by apt-get:
sudo apt-get remove --purge nvidia*
安裝

      先按Ctrl+Alt+F1,關閉圖形界面(過程中出現星號則證明需要輸入密碼)

1 $sudo service lightdm stop

      再進入到.run文件目錄中,安裝驅動

把.run文件放在home文件夾下 2 $sudo chmod a+x NVIDIA-Linux-x86_64-xxx.run         //修改權限 3 $sudo ./NVIDIA-Linux-x86_64-xxx.run -no-x-check -no-nouveau-check -no-opengl-files //執行安裝

        過程中根據提示,選擇Accept等。

    (3)完成安裝 

1 $sudo service lightdm start //啟動圖形界面

       再按Ctrl+Alt+F7回到圖形界面即可。

 

 以上兩種方法我都試過了,但是都把驅動安裝沒有成功,執行invidia-smi時都顯示沒有找到命令,此時我所在的環境為ubutun16.04 內核 4.4.98

 

然后切換回內核4.15.0-45,執行invidia-smi時出現

~$ nvidia-smi
Sat Jul 18 10:28:14 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.130                Driver Version: 384.130                   |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 950M    Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   48C    P0    N/A /  N/A |    129MiB /  2002MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1178      G   /usr/lib/xorg/Xorg                            82MiB |
|    0      2052      G   compiz                                        37MiB |
|    0      2225      G   fcitx-qimpanel                                 7MiB |
+-----------------------------------------------------------------------------+

 

很神奇。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM