給我一臺(tái)新的服務(wù)器案站,我會(huì)怎么安排 CUDA

深度學(xué)習(xí)環(huán)境搭建過程中躬审,初期階段,相信大家都會(huì)遇到,動(dòng)不動(dòng) TensorFlow 或者 Pytorch 庫與Cuda承边、或者Cudnn 版本不匹配的問題遭殉;


因此很多時(shí)候,在一臺(tái)服務(wù)器中安裝多個(gè)Cuda逐步成為了各位搬磚大佬們的必然選擇


本文為大家揭秘一臺(tái)全新服務(wù)器博助、我會(huì)怎樣安排 Cuda险污、使得我的學(xué)習(xí)生產(chǎn)更為高效


?? 服務(wù)器是團(tuán)隊(duì)或者項(xiàng)目組的,因此cuda還是自己的好用8辉馈;着础!


第一部分為大家展示:Ubuntu系統(tǒng) Cuda10.0 安裝過程

  • 安裝系統(tǒng) :Ubuntu 18.04.5

?? 1 cuda官網(wǎng)下載地址

cat /proc/version (Linux查看當(dāng)前操作系統(tǒng)版本信息)
1

?? 2 安裝

# 先對(duì)安裝包《cuda_10.0.130_410.48_linux.run》的屬性進(jìn)行修改為可執(zhí)行窖式;

chmod 755 cuda_10.0.130_410.48_linux.run

# 不要使用 sudo 進(jìn)行安裝
sh cuda_10.0.130_410.48_linux.run

過程如下蚁飒,按空格讀完協(xié)議,進(jìn)行如下圖的操作:

備注: 這里沒有安裝新的驅(qū)動(dòng)萝喘,是因?yàn)椋?/p>

  • 1: root 用戶 安裝的 驅(qū)動(dòng) 能夠 支持當(dāng)前 CUDA10.0的運(yùn)行淮逻;
  • 2: 驅(qū)動(dòng)的更新安裝,需要 root 權(quán)限 (也就是說 一臺(tái) Linux 服務(wù)器 只能 安裝 一個(gè)英偉達(dá)內(nèi)核驅(qū)動(dòng))蜒灰,團(tuán)隊(duì)的服務(wù)器弦蹂,我沒有權(quán)限去更新服務(wù)器的顯卡驅(qū)動(dòng);
  • 3:如果服務(wù)器本身 驅(qū)動(dòng)版本 高 能夠 同時(shí) 支持 CUDA10 和 CUDA9 强窖,那么我們這里安裝的 CUDA10.0, 后面運(yùn)行程序便是可行的凸椿;
2

?? 3:環(huán)境變量的配置

cd /home/zhijian
vim .bashrc

# 在最下方添加剛剛安裝cuda的路徑:
---
export PATH="/home/zhijian/usr/local/cuda10/bin:$PATH"
export LD_LIBRARY_PATH="/home/zhijian/usr/local/cuda10/lib64:$LD_LIBRARY_PATH"
---

# 保存之后,使配置生效:  
source .bashrc   
  • 命令行輸入 nvcc -V 查看cuda版本翅溺,效果如下:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130

說明 cuda10.0此次安裝OK脑漫,已經(jīng)不再使用服務(wù)器公共的cuda了


?? 配置自己的cudnn, 這里配置的cudnn版本為:7.6.0


TensorFlow1.2~2.1各GPU版本與CUDA對(duì)應(yīng)版本|簡記

?? 1 官網(wǎng)下載

這個(gè)下載需要郵箱注冊(cè)和登錄,容易忘記密碼咙崎,就很煩有沒有优幸。。褪猛。

2

?? 2 解壓 cudnn

從Nvidia官網(wǎng)上下載下來的cudnn for linux的文件格式是.solitairetheme8网杆,想要解壓的話需要先轉(zhuǎn)成tgz格式再解壓(這個(gè)操作我也被驚到了):

cp cudnn-10.0-linux-x64-v7.6.0.64.solitairetheme8 cudnn-10.0-linux-x64-v7.6.0.64.tgz

tar -zxvf cudnn-10.0-linux-x64-v7.6.0.64.tgz

?? 3 安裝配置【替換即可】

 cp cuda/include/cudnn.h /home/zhijian/usr/local/cuda10/include/

 cp cuda/lib64/libcudnn.s* /home/zhijian/usr/local/cuda10/lib64/

 chmod 755 /home/zhijian/usr/local/cuda10/include/cudnn.h
 
# 查看cudnn版本 
 cat /home/zhijian/usr/local/cuda10/include/cudnn.h | grep CUDNN_MAJOR -A 2
  • 我得到的正確輸出如下:
3

?? 友情提示


  • 我上面安裝的 cuda10.0 和 cudnn 7.6.0 是因?yàn)榇a訓(xùn)練TensorFlow-GPU 版本為2.0,各位需要根據(jù)自己的需求情況來安裝相應(yīng)的 cuda 和 cudnn版本伊滋,版本不匹配有時(shí)候會(huì)導(dǎo)致很多麻煩吶...

  • TensorFlow2.0-GPU 訓(xùn)練走起...

  • ?? # 一文讀懂 tensorflow-GPU 安裝碳却、測試

---核心干貨知識(shí)點(diǎn)上線---


?? 一臺(tái) Linux 服務(wù)器, cuda9 和 cuda 10 可以共存嗎笑旺?


這樣的情況是可以共存的:

比如:已經(jīng)安裝了高版本的 Cuda 和 對(duì)應(yīng)高版本內(nèi)核昼浦, 而 這個(gè)驅(qū)動(dòng) 同時(shí)也支持 低版本的CUDA運(yùn)行,這種情況通過 修改 配置 文件的方式 筒主,可以 自由進(jìn)行 Cuda 的切換关噪。

但是如果系統(tǒng)先安裝的 cuda9 和對(duì)應(yīng)驅(qū)動(dòng)鸟蟹, 然后你想要給當(dāng)前 非 Root 用戶安裝的 cuda10 ,因?yàn)?沒有 root權(quán)限, 無法 更新 驅(qū)動(dòng) ,此時(shí) 便不行糕篇。


?? 因此,給我一臺(tái)新的服務(wù)器锦针,我會(huì)怎么安排 Cuda?


  • Root 權(quán)限 用戶,給 服務(wù)器安裝盡可能 高版本的 驅(qū)動(dòng) 內(nèi)核置蜀,例如 Cuda 11
  • 普通用戶奈搜,根據(jù)自己的項(xiàng)目需求,可以安裝自己的 Cuda

系統(tǒng)默認(rèn)的Cuda 安裝位置 和 配置如下:

export PATH=/usr/local/cuda-10.0/bin:$PATH  
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda

普通用戶盯荤,配置自己的Cuda 安裝目錄馋吗,可以配置多個(gè),但是 同一時(shí)刻秋秤,只能使用其中一個(gè)版本
我這里是 cuda10宏粤,根據(jù)自己的需求,可以配置為 cuda9 cuda8 對(duì)應(yīng)的安裝目錄

  • 比如說我只配置了一個(gè) cuda , 那么我注釋掉配置灼卢,便會(huì)使用 系統(tǒng)默認(rèn)的Cuda绍哎;
#export PATH="/home/moli/usr/local/cuda10/bin:$PATH" 
#export LD_LIBRARY_PATH="/home/moli/usr/local/cuda10/lib64:$LD_LIBRARY_PATH"
  • 配置文件為,每個(gè)用戶根目錄下的 .bashrc 文件鞋真;
# 配置操作如下:
cd ~ 
vim .bashrc

# 使配置生效即可
source .bashrc

?? 平時(shí)如何進(jìn)行 Cuda 的版本切換


  1. 當(dāng)前而言崇堰,給自己用戶安裝一個(gè) Cuda10.X 或者 Cuda11.X 已經(jīng)基本夠用
  2. 如果遇到不同的項(xiàng)目確實(shí)只能適配 不同版本的Cuda ,這時(shí)涩咖,就需要自己安裝多個(gè) Cuda
  3. 需要掌握對(duì) ~/.bashrc 進(jìn)行 編輯海诲,配置 不同版本 Cuda
  4. 如下所示,對(duì)于深度學(xué)習(xí)Python項(xiàng)目檩互,每次切換版本特幔,只需要打開自己當(dāng)前需要的Cuda配置即可
  5. 如果是C++項(xiàng)目,則在 CMakeLists.txt 中進(jìn)行 Cuda配置即可

# >>> 服務(wù)器 root 用戶 安裝的Cuda10.0
#export PATH=/usr/local/cuda-10.0/bin:$PATH
#export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH
#export CUDA_HOME=/usr/local/cuda


# >>> 我自己安裝的Cuda 11 add by ml Cuda 11 path
export PATH=/home/ml/usr/mycuda/bin:$PATH
export LD_LIBRARY_PATH=/home/ml/usr/mycuda/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/home/ml/usr/mycuda

# 如果有必要闸昨,你還可以配置一個(gè) Cuda9蚯斯、Cuda8

...

博主簡介:軟件工程碩士、已畢業(yè)饵较、總計(jì) 5w 讀者 粉絲

  • ?? 計(jì)算機(jī)視覺:超分重建溉跃、圖像修復(fù)、目標(biāo)檢測告抄、風(fēng)格遷移 等領(lǐng)域 稍有所學(xué)
  • ?? AI 工程化:Ncnn、MNN嵌牺、TensorRT 正在 學(xué)習(xí)
  • ?? C++打洼、Python龄糊、Java 略懂一二

取經(jīng)路上,讓墨理學(xué)AI 陪你暢享更多有趣AI

墨理學(xué)AI
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末募疮,一起剝皮案震驚了整個(gè)濱河市炫惩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌阿浓,老刑警劉巖他嚷,帶你破解...
    沈念sama閱讀 216,744評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異芭毙,居然都是意外死亡筋蓖,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門退敦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來粘咖,“玉大人,你說我怎么就攤上這事侈百∥拖拢” “怎么了?”我有些...
    開封第一講書人閱讀 163,105評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵钝域,是天一觀的道長讽坏。 經(jīng)常有香客問我,道長例证,這世上最難降的妖魔是什么路呜? 我笑而不...
    開封第一講書人閱讀 58,242評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮战虏,結(jié)果婚禮上拣宰,老公的妹妹穿的比我還像新娘。我一直安慰自己烦感,他們只是感情好巡社,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,269評(píng)論 6 389
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著手趣,像睡著了一般晌该。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上绿渣,一...
    開封第一講書人閱讀 51,215評(píng)論 1 299
  • 那天朝群,我揣著相機(jī)與錄音,去河邊找鬼中符。 笑死姜胖,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的淀散。 我是一名探鬼主播右莱,決...
    沈念sama閱讀 40,096評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼蚜锨,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了慢蜓?” 一聲冷哼從身側(cè)響起亚再,我...
    開封第一講書人閱讀 38,939評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎晨抡,沒想到半個(gè)月后氛悬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,354評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡耘柱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,573評(píng)論 2 333
  • 正文 我和宋清朗相戀三年如捅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片帆谍。...
    茶點(diǎn)故事閱讀 39,745評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡伪朽,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出汛蝙,到底是詐尸還是另有隱情烈涮,我是刑警寧澤,帶...
    沈念sama閱讀 35,448評(píng)論 5 344
  • 正文 年R本政府宣布窖剑,位于F島的核電站坚洽,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏西土。R本人自食惡果不足惜讶舰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,048評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望需了。 院中可真熱鬧跳昼,春花似錦、人聲如沸肋乍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,683評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽墓造。三九已至堪伍,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間觅闽,已是汗流浹背帝雇。 一陣腳步聲響...
    開封第一講書人閱讀 32,838評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蛉拙,地道東北人尸闸。 一個(gè)月前我還...
    沈念sama閱讀 47,776評(píng)論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親室叉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子睹栖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,652評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容