• 當前位置: 主頁 > Linux安裝教程 > 系統安裝 >

    Ubuntu16.04上安裝CUDA9.0 詳細教程

    時間:2020-08-05 07:51來源:網絡整理 作者:Linux先生 舉報 點擊:
    湖南成人高考 湖南成人高考 
    前言: 本篇文章是基于安裝cuda 9.0的經驗寫,cuda9.0目前支持ubuntu16.04和ubuntu17.04兩個版本,如下圖所示(最下面的安裝方式我們選

    本篇文章是基于安裝cuda 9.0的經驗寫,cuda9.0目前支持ubuntu16.04和ubuntu17.04兩個版本,如下圖所示(最下面的安裝方式我們選擇第一個,即runfile方式):

    Ubuntu16.04上安裝CUDA9.0 詳細教程


    大家可以先將cuda文件下來,但是最好不要急于安裝,一定要先將nvidia給出仔細看一下,然后再找幾篇好的博客看一下,大致了解一下cuda的安裝過程,對安裝過程中可能出現的問題要大致有一個了解,不到萬不得已不要重裝系統。

    安裝建議:

    1)去官網下載cuda的同時,一定要找份相應官方的安裝文檔仔細閱讀,盡可能按照它的步驟一步步走,不可偷懶。同時再找幾篇好的博客作為參考,安裝之前做到胸有成竹。

    2)在安裝之前一定要詳細檢查自己的電腦配置(單顯卡還是雙顯卡)、顯卡的種類是否符合cuda的安裝要求、系統是否滿足安裝要求。

    3)安裝過程中每進行一項操作,都盡量去檢查一下該項操作是否操作成功。

    安裝過程:

    一、安裝、熟悉ubuntu16.04系統

    安裝軟件之前最好對ubuntu的命令行有一些基本的了解,像sudo、cd、ls、nona、cat、chmod等等,這樣能夠在安裝過程中省去很多不必要的麻煩。(推薦大家去百度搜一下莫凡python,他有關于ubuntu命令的視頻,每一集都很精煉,講的很好)

    二、檢查自己的電腦環境是否具備安裝cuda的條件

    1) 驗證自己的電腦是否有一個可以支持cuda的gpu

    你可以電腦的配置信息中找到顯卡的具體型號,如果你是雙系統,在windows下的設備管理器中也可以查到顯卡的詳細信息;
    你也可以在ubuntu的終端中輸入命令: $ lspci | grep -i nvidia ,會顯示出你的nvidia gpu版本信息,不過不是很詳細。

    我的顯示為(geforcegt630m):

    01:00.0 3d controller: nvidia corporation gf117m [geforce 610m/710m/810m/820m / gt 620m/625m/630m/720m] (rev a1)

    然后去cuda的查看自己的gpu版本是否在cuda的支持列表中。

    2) 驗證自己的linux版本是否支持 cuda(ubuntu 16.04沒問題)

    輸入命令:

    $ uname -m && cat /etc/*release

    結果顯示:

    x86_64
    distrib_id=ubuntu
    distrib_release=16.04

    ......

    3) 驗證系統是否安裝了gcc

    在終端中輸入: $  gcc –version     

    結果顯示:

    gcc (ubuntu 5.4.0-6ubuntu1~16.04.5) 5.4.0 20160609
    ......

    若未安裝請使用下列命令進行安裝:

    sudo apt-get install build-essential

    4) 驗證系統是否安裝了kernel header和 package development

    a、查看正在運行的系統內核版本:

    在終端中輸入: $  uname –r

    結果顯示:

    4.10.0-40-generic

    b、在終端中輸入:$  sudo apt-get install linux-headers-$(uname -r)

    可以安裝對應kernel版本的kernel header和package development

    結果顯示:

    ......

    升級了 0 個軟件包,新安裝了 0 個軟件包,要卸載 0 個軟件包,有 4 個軟件包未被升級。

    表示系統里已經有了,不用重復安裝。

    若以上各項驗證檢查均滿足要求,便可進行下面的正式安裝過程。如果沒有滿足要求的話,可以參考cuda的官方文檔,里面有詳細的針對每個問題的解決方案。

    三、選擇安裝方式

    cuda提供兩種安裝方式:package manager安裝和runfile安裝, package manager 安裝方式相對簡單一些,但是我在閱讀別人博客的過程中發現選擇這種方式在安裝過程中問題可能多一點,失敗的概率較大。為了減少不必要的麻煩我選擇runfile安裝方式。
    下載cuda安裝包:cuda官網下載,根據系統信息選擇對應的版本,runfile安裝的話最后一項要選擇 runfile文件。

    下載完后,用md5 檢驗,如果序號不和,得重新下載(由于當時沒有保存,這里我采用了別人的截圖,注意這里的cuda版本號,人家采用的cuda_8.0)

    輸入命令:$  md5sum cuda_9.0.176_linux.run

    Ubuntu16.04上安裝CUDA9.0 詳細教程

    四、runfile安裝cuda

    1) 禁用 nouveau驅動

    終端中運行:$  lsmod | grep nouveau,如果有輸出則代表nouveau正在加載。需要我們手動禁掉nouveau。

    ubuntu的nouveau禁用方法:

    a、在/etc/modprobe.d中創建文件blacklist-nouveau.conf

    輸入命令:$  sudo vi /etc/modprobe.d/blacklist-nouveau.conf (利用vi編輯器編輯和保存文件)

    在文件中輸入一下內容:

    blacklist nouveau options nouveau modeset=0

    b、執行:

    $ sudo update-initramfs –u

    c、再執行:

    $ lsmod | grep nouveau

    若無內容輸出,則禁用成功,若仍有內容輸出,請檢查操作,并重復上述操作。

    注:vi是linux終端下或控制臺下常用的編輯器,基本的操作方式為:vi /路徑/文件名
    例如:vi /etc/fstab表示顯示/etc/fstab文件的內容。使用鍵盤上的page up和page down鍵可以上下翻頁;按下insert鍵,可以見到窗口左下角有“insert”字樣,表示當前為插入編輯狀態,這時從鍵盤輸入的內容將插入到光標位置;再按下insert鍵,左下角將有“replace”字樣,表示當前為替換編輯狀態,這時從鍵盤輸入的內容將替換光標位置的內容。編輯完內容后,按下esc鍵,并輸入“:wq”,然后回車就可以保存退出。
    如果不想保存而直接退出,則按下esc鍵后,輸入“:q!”,然后回車即可!皐q”表示write和quit,即保存退出;“q!”表示忽略修改強行退出。

    以下操作建議手機拍照,建議把下載的cuda_9.0.176_384.81_linux.run文件重命名為cuda.run并移動到home文件夾下(為了安裝方便)

    2) 重啟電腦,進入登錄界面的時候,不要登錄進入桌面(否則可能會失敗,若不小心進入,請重啟電腦),直接按ctrl+alt+f1進入文本模式(命令行界面),登錄賬戶。

    3) 輸入 $ sudo service lightdm stop 關閉圖形化界面

    4) 切換到cuda安裝文件的路徑:$  cd home/

    運行$ sudo sh cuda_7.5.18_linux.run
    按照提示一步步操作

    注:a、一定要按照提示)輸入相應字符,例如有的需要輸入accept,有的需要輸入yes;

    b、遇到提示是否安裝opengl ,選擇no(如果你的電腦跟我一樣是雙顯,且主顯是非nvidia的gpu在工作需要選擇no,否則可以yes),其他都選擇yes或者默認即可。(如果您的電腦是雙顯卡且在這一步選擇了yes,那么你極有可能安裝完cuda之后,重啟圖形化界面后遇到登錄界面循環問題:輸入密碼后又跳回密碼輸入界面。 

    這是因為你的電腦是雙顯,而且用來顯示的那塊gpu不是nvidia,則opengl libraries就不應該安裝,否則你正在使用的那塊gpu(非nvidia的gpu)的opengl libraries會被覆蓋,然后gui就無法工作了。)

    安裝成功后,會顯示installed,否則會顯示failed。

    5) 輸入 $ sudo service lightdm start 重新啟動圖形化界面。

    同時按住alt + ctrl +f7,返回到圖形化登錄界面,輸入密碼登錄。
    如果能夠成功登錄,則表示不會遇到循環登錄的問題,基本說明cuda的安裝成功了。

    如果你遇到了重復登陸情況,不用急著重裝系統,官方教程上有提及,原因上一步的注中有提及,在安裝opengl時你可能不注意選擇了yes,請卸載cuda,然后重裝。
    卸載:由于登陸進入不到圖形用戶界面(gui),但我們可以進入到文本用戶界面(tui)

    在登陸界面狀態下,按ctrl + alt + f1,進入tui
    執行

    $ sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl $ sudo /usr/bin/nvidia-uninstall

    然后重啟

    $ sudo reboot

    重新安裝.run   再次安裝時請一定留意,在提示是否安裝opengl時,你的是雙顯卡應該選則n。

    6) 重啟電腦,檢查device node verification。

    執行

    $ ls /dev/nvidia*

    可能出現a、b兩種結果,請對號入座。

    a、若結果顯示

    /dev/nvidia0      /dev/nvidiactl      /dev/nvidia-uvm

    或顯示出類似的信息,應該有三個(包含一個類似/dev/nvidia-nvm的),則安裝成功。

    b、大多數結果可能會是這樣

    ls: cannot access/dev/nvidia*: no such file or directory

    或是這樣的,只出現

    /dev/nvidia0     /dev/nvidiactl

    a中的一個或兩個,但沒有/dev/nvidia-num,即文件顯示不全。

    不用著急也不用急著重裝系統(我在安裝時就是這種情況),官方指導中有詳細的解決方案,但是我的方法和官方稍微有些出入。

    首先要添加一個啟動腳本(添加啟動腳本的方法大致有兩種,我采用最直接的方法,另一種可以先創建一個文件然后通過mv的方式移動到啟動文件夾下,可自行百度)
    執行

    $ sudo vi /etc/rc.local

    如果你是第一次打開這個文件,它應該是空的(除了一行又一行的#注釋項外)。這文件的第一行是

    #!/bin/sh -e

    把-e去掉(這步很重要,否則它不會加載這文本的內容)
    然后把下列內容除了#!/bin/bash外復制到其中,(before exit 0 )保存退出。

    #!/bin/bash /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`; do mknod -m 666 /dev/nvidia$i c 195 $i done mknod -m 666 /dev/nvidiactl c 195 255 else exit 1 fi /sbin/modprobe nvidia-uvm if [ "$?" -eq 0 ]; then # find out the major device number used by the nvidia-uvm driver d=`grep nvidia-uvm /proc/devices | awk '{print $1}'` mknod -m 666 /dev/nvidia-uvm c $d 0 else exit 1 fi

    下次重啟時,你應該能直接看到/dev目錄下的三個nvidia的文件
    輸入:$ ls /dev/nvidia*
    結果顯示:/dev/nvidia0       /dev/nvidiactl       /dev/nvidia-uvm

    成功!

    7) 設置環境變量。

    終端中輸入 $ sudo gedit /etc/profile
    在打開的文件末尾,添加以下兩行。

    64位系統:

    export path=http://www.10qianwan.com/usr/local/cuda-9.0/bin${path:+:${path}} export ld_library_path=http://www.10qianwan.com/usr/local/cuda-9.0/lib64\ ${ld_library_path:+:${ld_library_path}}

    32位系統:

    export path=http://www.10qianwan.com/usr/local/cuda-9.0/bin${path:+:${path}} export ld_library_path=http://www.10qianwan.com/usr/local/cuda-9.0/lib\ ${ld_library_path:+:${ld_library_path}}

    保存文件,并重啟。因為source /etc/profile是臨時生效,重啟電腦才是永久生效。

    這里有點與官方安裝文檔稍有不同,需要說明:
    官方文檔里說只需在終端中運行上述兩條export語句即可,但如果不將它們不寫入/etc/profile文件的話,這樣的環境變量在你退出終端后就消失了,不起作用了,所以寫入才是永久的做法。

    8) 重啟電腦,檢查上述的環境變量是否設置成功。

    a、 驗證驅動版本

    敲入

    $ cat /proc/driver/nvidia/version

    結果顯示

    nvrm version: nvidia unix x86_64 kernel module 384.81 sat sep 2 02:43:11 pdt 2017
    gcc version: gcc version 5.4.0 20160609 (ubuntu 5.4.0-6ubuntu1~16.04.5)

    b、 驗證cuda toolkit

    敲入

    $ nvcc -v       會輸出cuda的版本信息

    如果是這樣的:

    the program 'nvcc' is currently not installed. you can install it by typing:
    sudo apt-get install nvidia-cuda-toolkit

    可能是環境配置沒有成功,請重復上述步驟7)。

    五、 嘗試編譯cuda提供的例子

    1)打開終端輸入:$   cd /home/xxx/nvidia_cuda-9.0_samples        其中xxx是你自己的用戶名,通過命令cd進入nvidia_cuda-9.0_samples目錄。

    然后終端輸入:$ make

    系統就會自動進入到編譯過程,整個過程大概需要十幾到二十分鐘,請耐心等待。如果出現錯誤的話,系統會立即報錯停止。

    第一次運行時可能會報錯,提示的錯誤信息可能會是系統中沒有gcc,

    解決辦法就是通過命令重新安裝gcc就行,在終端輸入:$ sudo apt-get install gcc 安裝完gcc后, 再make就正常了。

    如果編譯成功,最后會顯示finished building cuda samples,如下圖所示。

    Ubuntu16.04上安裝CUDA9.0 詳細教程

    2)運行編譯生成的二進制文件。
    編譯后的二進制文件 默認存放在nvidia_cuda-9.0_samples/bin中。
    接著在上一個終端中輸入 :$  cd /home/lxxx/nvidia_cuda-9.0_samples/bin/x86_64/linux/release       其中xxx是你自己的用戶名
    然后在終端輸入 :$ ./devicequery  

    結果如下圖所示:看到類似如下圖片中的顯示,則代表cuda安裝且配置成功,其中 result = pass代表成功,若失敗 result = fail

    Ubuntu16.04上安裝CUDA9.0 詳細教程

    3)最后再檢查一下系統和cuda-capable device的連接情況
    終端輸入 : $ ./bandwidthtest
    看到類似如下圖片中的顯示,則代表成功

    Ubuntu16.04上安裝CUDA9.0 詳細教程


    最后祝大家都能愉快安裝使用cuda

    到此這篇關于ubuntu16.04上安裝cuda9.0 詳細教程的文章就介紹到這了,更多相關ubuntu16.04安裝cuda9.0內容請搜索萬仟網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持萬仟網!

    推薦內容
  • 大富豪棋牌游戏捕鱼 吉林快三和值尾振幅 茅台股票历史走势 山西快乐10分一点技巧没有吗 新马快乐8是合法的吗 河北排列7开奖官网 481走势图最近200期 携程股票 辽宁11选5玩法 十一选五前三稳赚大底 浙江体彩6十1