1. 程式人生 > >Ubuntu 14.04 64bit + CUDA7.0解除安裝+ CUDA 6.5 安裝配置

Ubuntu 14.04 64bit + CUDA7.0解除安裝+ CUDA 6.5 安裝配置

一,解除安裝CUDA 7.0

在目錄:

<span style="color:#000000"><code><span style="color:#009900 !important"># /usr/local/cuda-7.0/bin</span></code></span>
  • 1

有CUDA自帶的解除安裝工具uninstall_cuda_toolkit_7.0.pl,使用命令:

<span style="color:#000000"><code><span style="color:#009900 !important"># sudo ./uninstall_cuda_toolkit_7.0.pl</span></code></span>
  • 1

如果有提示解除安裝失敗的檔案或資料夾,可以自己手動的刪除掉。

二,安裝NVIDIA驅動

我本機上的NVIDIA驅動是安裝CUDA 7.0的時候安裝包自帶的,版本是346,CUDA 6.5.14目前最高僅支援340版驅動, 343, 346版驅動暫不支援,所以在安裝CUDA之前需要先把原來的驅動解除安裝。

1,解除安裝原來的NVIDIA驅動

在安裝新的NVIDIA驅動之前,必須首先把原來的驅動解除安裝乾淨,否則在執行samples下的deviceQuery程式的時候會報如下錯誤:

<span style="color:#000000"><code>cudaGetDeviceCount returned <span style="color:#006666 !important">38</span>
-> <span style="color:#006666 !important">no</span> CUDA-capable device <span style="color:#000088 !important">is</span> detected</code></span>
  • 1
  • 2

這個錯誤說明系統中有多個顯示卡驅動,CUDA程式不知道如何選擇——當然也有可能是你的電腦上沒有NVIDIA顯示卡。

這裡多說一句:上述命令如果返回的錯誤程式碼是30,說明你許可權不夠,試試加上sudo吧

解除安裝NVIDIA驅動的步驟如下按 ctrl+alt+F1 進入tty, 登入tty後輸入如下命令:

<span style="color:#000000"><code><span style="color:#009900 !important"># sudo service lightdm stop</span></code></span>
  • 1

該命令會關閉lightdm。如果你使用 gdm或者其他的desktop manager, 請在安裝NVIDIA驅動前關閉他。

在繼續下面的步驟之前可以先檢視一下自己的系統中是否有NVIDIA提供的解除安裝驅動程式,一般在/usr/bin/nvidia-uninstall,如果沒有可以用命令:whereis nvidia-uninstall命令來檢視一下,如果能找到這條命令那麼直接用nvidia-uninstall命令就可以解除安裝GPU驅動,下面的操作可以省略掉

使用如下命令解除安裝NVIDIA驅動:

<span style="color:#000000"><code><span style="color:#009900 !important"># sudo apt-get remove nvidia*</span></code></span>
  • 1

這條命令會解除安裝與NVIDIA相關的一切,注意如果此時重新啟動電腦可能會導致無法進入系統。 
也有另一種解除安裝方式:

<span style="color:#000000"><code><span style="color:#4f4f4f !important">sudo</span> apt-get remove --purge nvidia-*
<span style="color:#4f4f4f !important">sudo</span> apt-get install ubuntu-desktop
<span style="color:#4f4f4f !important">sudo</span> rm /etc/X11/xorg.conf
<span style="color:#4f4f4f !important">echo</span> <span style="color:#009900 !important">'nouveau'</span> | <span style="color:#4f4f4f !important">sudo</span> tee -a /etc/modules</code></span>
  • 1
  • 2
  • 3
  • 4

效果差不多。

解除安裝完後可以安裝新的驅動

本文作者:FIELDOFFIER

2,安裝新的NVIDIA驅動

單獨安裝NVIDIA驅動的方式是十分愚蠢的,因為CUDA安裝包會自帶NVIDIA驅動,而且不會產生版本不相容的問題——這是肯定的。所以這一步可以跳過直接去安裝CUDA程式就行了。這裡還是寫下安裝方法以備參考(因為CUDA安裝包自帶的NVIDIA驅動有可能跟本機的GPU硬體不匹配,尤其是當安裝最新版本的CUDA時更容易出現這種情況,如果在安裝了CUDA自帶的NVIDIA驅動之後出現了無法進入桌面的情況,比如輸入密碼之後重新回到輸入密碼介面而不是進入了桌面的情況,此時就只能解除安裝剛剛安裝的NVIDIA驅動,使用下面的辦法重新安裝驅動)。(以下步驟都是在tty介面下進行的)

  1. 安裝build-essentials

安裝開發所需要的一些基本包

<span style="color:#000000"><code>sudo apt<span style="color:#98c379">-get</span> install build<span style="color:#98c379">-essential</span></code></span>
  • 1
  1. 安裝NVIDIA驅動 (3.4.0)

輸入下列命令新增驅動源(不要問我這是什麼意思,我也不清楚)

<span style="color:#000000"><code>sudo add<span style="color:#98c379">-apt</span><span style="color:#98c379">-repository</span> ppa:xorg<span style="color:#98c379">-edgers</span>/ppa
sudo apt<span style="color:#98c379">-get</span> update</code></span>
  • 1
  • 2

安裝340版驅動 (CUDA 6.5.14目前最高僅支援340版驅動, 343, 346版驅動暫不支援)

<span style="color:#000000"><code><span style="color:#4f4f4f !important">sudo</span> apt-get install nvidia-<span style="color:#006666 !important">340</span></code></span>
  • 1

根據網速的不同,時間可能需要很久(真的很久,有可能會從晚上下載到天亮,所以說這種方法太蠢,當然網速快例外)

安裝完NVIDIA驅動後, 繼續安裝下列包 (否則在執行sample時會報錯)

<span style="color:#000000"><code>sudo apt<span style="color:#98c379">-get</span> install nvidia<span style="color:#4f4f4f !important">-</span><span style="color:#006666 !important">340</span><span style="color:#98c379">-uvm</span></code></span>
  • 1

這個也可能需要很久很久····· 
安裝完成後 reboot.

三. 安裝CUDA 6.5

1,首先,安裝CUDA

下載CUDA 6.5. 地址:https://developer.nvidia.com/cuda-toolkit-65 
注意選擇對應的作業系統,然後安裝包有DEB/RUN兩種格式的,本文采用的安裝方法使用RUN格式,單擊既可以直接下載;我使用的的是Ubuntu14.04版本、格式是RUN

下載後,先提高許可權到可執行(方便後面的安裝):

<span style="color:#000000"><code><span style="color:#4f4f4f !important">sudo</span> chmod +x cuda_6.<span style="color:#006666 !important">5.14</span>_linux_64.run</code></span>
  • 1

接下來可以直接使用下面的命令直接安裝:

<span style="color:#000000"><code><span style="color:#4f4f4f !important">sudo</span> ./cuda_6.<span style="color:#006666 !important">5.14</span>_linux_64.run</code></span>
  • 1

會將NVIDIA驅動、CUDA 6.5軟體、CUDA samples全部安裝,安裝過程中提示安裝路徑什麼的直接預設就好(預設路徑才是王道啊)

加環境變數

安裝完成後需要在/etc/profile中新增環境變數, 在檔案最後新增:

<span style="color:#000000"><code><span style="color:#009900 !important">PATH</span>=<span style="color:#008800 !important">/usr/local</span><span style="color:#008800 !important">/cuda-6.5/bin</span><span style="color:#009900 !important">:</span><span style="color:#4f4f4f !important">$PATH</span>
export <span style="color:#009900 !important">PATH</span></code></span>
  • 1
  • 2

儲存後, 執行下列命令, 使環境變數立即生效

<span style="color:#000000"><code><span style="color:#4f4f4f !important">source</span> /etc/profile</code></span>
  • 1

新增lib庫路徑

在 /etc/ld.so.conf.d/加入檔案 cuda.conf, 內容如下

<span style="color:#000000"><code>/usr/<span style="color:#000088 !important">local</span>/cuda-<span style="color:#006666 !important">6.5</span>/lib64</code></span>
  • 1

執行下列命令使之立刻生效

<span style="color:#000000"><code><span style="color:#4f4f4f !important">sudo</span> ldconfig</code></span>
  • 1

編輯檔案 /etc/profile,新增下面這行:

<span style="color:#000000"><code>export <span style="color:#009900 !important">LD_LIBRARY_PATH</span>=<span style="color:#008800 !important">/usr/local</span><span style="color:#008800 !important">/cuda-6.5/lib</span>64<span style="color:#009900 !important">:</span><span style="color:#4f4f4f !important">$LD_LIBRARY_PATH</span></code></span>
  • 1

好了,至此就完成了CUDA 7.0的解除安裝與CUDA 6.0的安裝,人生的目的在於折騰~~~

四. 其他問題

1,關於nsight

在解除安裝CUDA的過程中可能會把nsight一起解除安裝,重新安裝的之後還是找不到,解決方式是需要修改檔案:

/etc/ld.so.conf

將其內容修改如下:

include /etc/ld.so.conf.d/*.conf 
/usr/local/cuda-6.5/lib64

如果還是有問題的話那就重灌一遍吧:

<span style="color:#000000"><code><span style="color:#4f4f4f !important">sudo</span> apt-get install nsight</code></span>
  • 1

參考文獻: 
http://www.bubuko.com/infodetail-382471.html 
http://www.cnblogs.com/platero/p/3993877.html 
http://www.cnblogs.com/platero/p/4070756.html