centos 7 筆記本 Intel nvidia 雙顯卡 安裝nvidia驅動并成功安裝cuda

這是一篇介紹如何在筆記本上使用centos 7 系統安裝nvidia驅動和cuda 的文章。

本篇還會介紹清晰的安裝思路。

探索了三天才完成,最后才搞懂思路,中間其實遇到了一個正確的教程,但是沒有思路,所以一直沒成功,這里先介紹一下前兩天發生的坑。

事情是這樣發生的,一天下午下了班,我想在linux下開發和研究神經網絡模型,我通過gpuz發現我的筆記本nvidia顯卡是支持cuda的,那為何不用呢?所以我產生了一個需求,使用nvidia跑caffe模型。

這個需求在windows下是不好完成的,因為我跑得東西在docker 鏡像里,在docker想使用gpu加速,還需要安裝nvidia-docker插件,這個插件,我不想再windows下安裝,所以我選擇linux,而首選的是centos。實際上ubuntu的桌面體驗比centos還好點,而且根據網上的教程,也更順利,但是我還是選擇了cetnos。

所以我必須要在centos上安裝nvidia驅動,cuda,docker,nvidia-docker。

一開始我以為事情很簡單。

我就直接搜索 centos 7 安裝 nvidia 驅動 。

這是第一種方法:

類似的教程有這些:

http://blog.csdn.net/alex_my/article/details/44705663

https://www.linuxidc.com/Linux/2017-03/141644.htm

https://www.cnblogs.com/snake553/p/7159376.html

還有很多,換湯不換藥,我甚至還找到了這些安裝思路的原版國外教程:

http://www.advancedclustering.com/act_kb/installing-nvidia-drivers-rhel-centos-7/

這些教程的思路是這樣的:

檢查電腦是否支持cuda,是否有nvidia顯卡,需要什么驅動

禁用開源的nvidia驅動,安裝官方驅動

重啟成功

安裝cuda?

? 有思路也有套路,既有手動安裝,也有yum安裝,我都試過,對于我來說都失敗了,根本就沒進行到安裝cuda。因為我安裝完成之后,電腦無法進入桌面環境,只能進命令行模式,期間辛虧早已開啟ssh,用另一臺電腦ssh鏈接,嘗試了很多次,但最終都失敗。最后成功的時候,至重啟一次,一直在圖形界面都成功了。

為什么不成功,以上針對部分電腦能成功,主要針對只有主板集顯和nvidia獨顯的電腦,或者Intel核顯和vga的nvidia獨顯,如果你是這種電腦,可能很容易的就安裝成功,并且進入桌面環境。

不過我的筆記本電腦不是,我的筆記本電腦是vga intel 核顯和 nvidia獨顯,nvidia不支持vga,就是不支持直接屏幕輸出,我了解到一種新的主板設計,我不搞硬件,第一次聽說:現在很多筆記本都采用 NVIDIA??Optimus? 技術,摘自官網的介紹:NVIDIA??Optimus? 技術聰明地將您的筆記本電腦 PC 提升到絕佳狀態,提供出色的圖形性能,并在需要時延長電池續航時間,使您能夠更長時間地享受視覺盛宴。

官網鏈接:? http://www.nvidia.cn/object/optimus_technology_cn.html

大體的意思是說,這些筆記本有兩個顯卡,一個intel ,負責顯示,一個nvidia,負責解鎖高難度姿勢,比如3D渲染,cuda等等。工作原理:把一些高難度姿勢交給nvidia,nvidia計算完成,交給intel,Intel顯示給用戶。

比如這樣:

這是筆記本右鍵彈出的菜單,我也是才知道有這個操作。

這是在linux下檢測硬件顯示的,其中帶有VGA的只有intel的圖形處理器。

這樣就明顯了,前面的那種安裝nvidia驅動或者cuda的方法是錯誤的。因為前一種安裝方法針對兩個顯卡都是nvidia切都可以直接vga輸出的。因為第一種方法,只能讓nvidia驅動開啟并且會是xorg服務(linux的圖形桌面服務)使用nvidia驅動開啟,但是并不能,因為nvidia不能直接輸出到屏幕,頂多nvidia計算資源,將結果交給intel,Intel顯示到屏幕,所以還是需要在intel上啟動xorg,

這個思路是我自己嘗試的,網上沒有具體的教程,是我看相關的介紹才想出來的,但是配置xorg老是出問題還是沒有解決,不過方向是對了。

這個時候我已經快要放棄了,但是我也意識到,或許是對的方向,所以我就安裝Bumblebee(大黃蜂),什么是大黃蜂?

"Bumblebee 致力于使 NVIDIA Optimus 在 GNU/Linux 系統上可用,實現兩塊不同的供電配置的顯卡同時插入使用,共享同一個 framebuffer。"

原文鏈接:

https://wiki.archlinux.org/index.php/Bumblebee_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

這個軟件就是linux 上的?Optimus技術,只是在需要的時候啟用nvidia來計算,正是這個思路。

第二個方法出現了,在centos上安裝Bumblebee

相關教程如下:

https://www.linuxidc.com/Linux/2012-09/70418.htm

https://www.linuxidc.com/Linux/2012-09/70418.htm

http://leenux.lofter.com/post/165224_54b752

項目地址:

https://github.com/Bumblebee-Project/Bumblebee/wiki

arch wiki地址:(arch的wiki真心好)

https://wiki.archlinux.org/index.php/Bumblebee_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

但是我參照上面的方法包括官網,都沒有成功,這我就不太清楚了,可能是因為期間我又自己安裝了nvidia顯卡驅動的原因,不過我有一個猜想,就是上面的方法,只是安裝了大黃蜂,但是并沒有安裝bumblebee-nvidia驅動,或者內核不夠高,或者內核錯誤,總之,上面的教程都是關閉圖形界面,進入命令行,禁用開源nvidia驅動(禁用nouveau驅動)等等,但是最終我都沒有成功,最后在一片國外文章上安裝,期間只是跟著復制命令,重啟,最后成功了,終于進入教程部分,請大家跟著我做:

你也可以直接去這個頁面:

https://linuxhint.com/install-nvidia-drivers-centos/

截圖所示的大體意思就是很多電腦的設計是用了nvidia optimus技術,如何安裝的,跟著我做,等等。

我就模仿這篇文章寫一下教程:

檢查pci設備

need-to-insert-img

lspci?|?grep?-i?"vga\|nvidia"??

如果你有兩個顯卡,并且有一個是nvidia顯卡,再去官網查一下這個型號是否支持cuda,如果支持,最終能安裝cuda。

在安裝之前,一定要進入bios,關閉安全啟動選項。

添加elrepo 源

need-to-insert-img

這個源是linux上的硬件驅動源,就跟驅動精靈差不多。

sudo?rpm?--import?https://www.elrepo.org/RPM-GPG-KEY-elrepo.org??

sudo?rpm?-Uvh?http://www.elrepo.org/elrepo-release-7.0.3.el7.elrepo.noarch.rpm??

具體的安裝方法去官網,第二個鏈接可能有誤:

官網地址:http://elrepo.org/tiki/tiki-index.php

添加epel源

need-to-insert-img

sudo?yum?install?epel-release??

安裝大黃蜂

need-to-insert-img

sudo?yum?-y?--nogpgcheck?install?http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/rhel7/noarch/bumblebee-release-1.2-1.noarch.rpm??

這個安裝途徑和上面提到的第二個方法的教程所示都不一樣,我也不知道問什么,可能是因為那些教程采用的是ubuntu的套路吧。

安裝另一個東西,也跟大黃蜂有關

need-to-insert-img

sudo?yum?-y?--nogpgcheck?install?http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee-nonfree/rhel7/noarch/bumblebee-nonfree-release-1.2-1.noarch.rpm??

說真的,我也不知道這為什么不一樣,直接從原教程拿過來的,原教程還有結果截圖,可以去看看。

升級cetnos內核

need-to-insert-img

sudo?yum?--enablerepo=elrepo-kernel?install?kernel-ml??

sudo?yum?--enablerepo=elrepo-kernel?install?kernel-ml-devel??

這時候內核已經是4.XX了,并且在啟動時不會自動引導這個選項,還是默認3.xx的,我還沒調整,回頭在搜搜看怎么調,在這里記住,之后重啟時,一定要選擇4.xx的內核

如果是32位系統,就不要運行上面的第二條命令,而是輸入下面這條,我是上面的第二條

sudo?yum?install?bumblebee-nvidia?bbswitch-dkms?VirtualGL.x86_64?VirtualGL.i686?primus.x86_64?primus.i686?kernel-devel??

添加用戶,用戶組

need-to-insert-img

sudo?usermod?-aG?bumblebee?YOUR_USERNAME??

像我添加了root,和

sudo?usermod?-aG?bumblebee?root??

sudo?usermod?-aG?bumblebee?augushong??

重啟,記住,在4.XX的內核啟動

need-to-insert-img

原文運行了nvidia setting,是圖形界面,我沒運行,就算了。

至此,安裝結束。

運行檢查

bumblebee-nvidia?--check??

應該會出現成功的界面

如果有問題,就運行:

sudo?bumblebee-nvidia?--debug?--force??

可以多運行幾次,或者重啟在運行,然后在運行檢查,理論上,都能正常了。

卸載:

sudo?yum?remove?bumblebee-nvidia?bbswitch-dkms?primus?kernel-devel??

sudo?yum?remove?kernel-ml?kernel-ml-dev??

使用

need-to-insert-img

原文沒有介紹,我在第二天就遇到這篇文章,但是當時的思路還是第一種方法的思路,而且對交火顯卡技術和正確安裝大黃蜂后的使用方式不明確,所以第三天才轉過來彎。這里介紹一下。

如果你的電腦配置一般,現在進入圖形界面,已經能感覺拖動窗口不如之前那么流暢了。

運行所有命令,都是走cpu和intel,跟nvidia沒什么關系,比如運行

glxspheres64??

這是個3D圖幀速檢測,或許是,反正是檢測顯卡的。

optirun?glxspheres64??

這個是通過nvidia加速運行這個程序,明顯運行的畫面更快。

在命令前面加上 optirun,就相當于文章開頭在windows下右鍵使用高性能XXXXX運行一樣。

安裝cuda

need-to-insert-img

可以參考其他教程,不過我感覺挺亂的,而且只有命令,沒有思路介紹,估計只是從國外教程搬過來的,如果你已經有好的教程,那么可以直接去參照安裝了,

我的安裝方法,去官網檢查顯卡是否支持cuda

https://developer.nvidia.com/cuda-gpus

下載cuda,一定下載run安裝包,不要試圖用yum,

安裝時,會閱讀協議,可以看看,最后

(不截圖了,自己走走看就知道了。。。。只介紹下思路吧,命令其他教程都爛大街了)

開始輸入accecpt,同意

然后會提示是否安裝驅動,一定輸入n

接下來是安裝cuda toolkit,安裝y

安裝案例smaple,安裝y

接下來是目錄等,一路回車或者自己看

最后,安裝成功,注意,安裝成功會最下面幾行信息是警告,說是有東西沒安裝,不用管,不要怕,沒有問題。

在這些信息上面,有兩三行這樣的東西

PATH xxxxx

LD_LABRARY_XX xxxx

xxx是我忘了,意思是說把這兩個加到環境變量里,

具體的操作可以去搜,這里只介紹思路。

之后去運行一個案例,自己去搜

會讓你編譯一個例子,然后讓你運行,你直接運行會報錯,說你沒有相關設備

你只要在運行的命令前面加上optirun就行,像這樣,應該是這個命令沒錯

optirun?deviceQuery??

安裝docker更簡單,去搜教程,都能用,

不過想要用顯卡加速,還要安裝nvidia-docker,繼續搜。

開啟docker服務正常

開啟nvidia-docker不正常,就是說運行systemctl? start nvidia-docker.service

我通過大黃蜂運行nvidia-docker 好像也不行,估計是docker鏡像得對大黃蜂支持才行,唉,還是有很長的路要走啊。

回頭試試不用docker,直接搭建環境行不行。

?

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,505評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,556評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,463評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,009評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,778評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,218評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,281評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,436評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,969評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,795評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,993評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,537評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,229評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,659評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,917評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,687評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,990評論 2 374

推薦閱讀更多精彩內容