要使用cuda,必須要有nvidia顯示卡,可以使用lspci
命令來檢視:
$ lspci |
grep nvidia
02:00.0 vga compatible controller: nvidia corporation device 1b06 (rev a1)
02:00.1 audio device: nvidia corporation device 10ef (rev a1)
03:00.0 vga compatible controller: nvidia corporation device 1b06 (rev a1)
03:00.1 audio device: nvidia corporation device 10ef (rev a1
例如,上面顯示顯示卡是nvidia的,1b06
是deviceid,是廠商給自己某個型號的產品分配的id。那麼,如何通過deviceid來查詢產品型號呢?網上有一些deviceid的資料庫,例如:envytools。在此頁面可查得1b06
的產品型號為geforce gtx 1080 ti。
以ubuntu為例,可以使用命令ubuntu-drivers list
來檢視合適的顯示卡驅動,安裝較新的驅動即可:
$ ubuntu-drivers list
nvidia-390
nvidia-384
nvidia-387
nvidia-396
nvidia-410
$ sudo
apt update
$ sudo
aptinstall nvidia-410
對於deb
格式,使用如下命令進行安裝:
$ sudo dpkg -i ***.deb
對於run
格式,需要遮蔽ubuntu自帶的開源顯示卡驅動nouveau
,關閉x環境(不帶圖形介面,僅有字元介面),然後安裝。由於這種安裝方式較為繁瑣,且容易出錯,因此盡量採用前面的安裝方式。詳細安裝方法見「安裝cuda」一節的「官方安裝指南」。
選擇合適的作業系統,安裝類別推薦network
,不推薦runfile
。
然後按照installation instructions安裝即可。
需要注意的是,最後一步
$ sudo
aptinstall cuda
會安裝最新版本的cuda,且有新版本時可公升級到最新。如果想裝某個版本的cuda,可以指定版本,並且會保持該版本,除非後續又安裝了其它版本。例如指定版本cuda 9.0:
$ sudo
aptinstall cuda-9-0
然後設定path
和ld_library_path
:
export path=
$path:/usr/local/cuda/bin
export ld_library_path=/usr/local/cuda/lib64:/usr/local/cuda/extras/cupti/lib64:$ld_library_path
可以寫入到/etc/profile.d/cuda-env.sh
,然後執行source
使之生效:
$ source /etc/profile.d/cuda-env.sh
官方安裝指南可以參考:
官方安裝指南installation guide linux :: cuda toolkit documentation
以ubuntu為例,推薦使用deb
格式的安裝檔案。
手動安裝需注意:cudnn包含cudnn的庫和標頭檔案,需要確保庫位於預設位置或ld_library_path
,否則需要將cudnn的庫所在路徑加入ld_library_path
。
說明除了設定
ld_library_path
,也可以使用ldconfig
來管理動態鏈結庫的路徑。
tensorrt官方安裝指南: tensorrt installation guide :: deep learning sdk documentation
安裝比較簡單,在此不贅述。
說明需要注意本地repo的概念,安裝了本地repo實際上並沒有安裝該repo裡的包,需要先進行
apt update
,然後仍然需要使用apt install
進行安裝。 深度學習學習指南
什麼是深度學習?總的來說,深度學習包括建立和訓練乙個大型的人工神經網路,該神經網路在輸入和輸出之間具有許多隱藏層。正是因為這些隱藏層,我們才稱呼這些神經網路為 深度 至少具有三層隱藏層才能叫深度神經網路,但現有的一些神經網路已具有上百層。神經網路是乙個複雜的統計模型,它通過計算機來對資訊進行乙個非常...
CUDA實踐指南(十六)
共享記憶體啟用塊中線程之間的協作。當乙個塊中的多個執行緒使用全域性記憶體中的相同資料時,共享記憶體只能用於從全域性記憶體訪問一次資料。共享記憶體還可以用來避免未合併的記憶體訪問,方法是從全域性記憶體中載入和儲存合併模式的資料,然後將其重新排列在共享記憶體中。除了儲存體衝突之外,共享記憶體中的變形對非...
CUDA實踐指南(十三)
裝置記憶體空間 cuda裝置使用多個記憶體空間,這些記憶體空間具有不同的特性,這些特性反映了它們在cuda應用程式中的不同用法 這些記憶體空間包括全域性,本地,共享,紋理和暫存器,如圖2所示 合併的訪問要求取決於裝置的計算能力,可以查閱cuda c程式設計指南中。在這些不同的記憶空間中,全域性記憶是...