UOS 相關(guān)的記錄
CUDA
外接顯示器
問(wèn)題一:官方以及商店提供的工具沒(méi)能成功輸出顯示到外接顯示器
神舟筆記本,Intel+Nvidia,默認(rèn)情況以及使用商店中的“顯卡驅(qū)動(dòng)管理器”以后,“設(shè)置-顯示設(shè)置”中沒(méi)有外接顯示器
解決方案:
- 安裝nvidia驅(qū)動(dòng)
有坑,配置不好會(huì)直接導(dǎo)致
torch與CUDA不兼容
如果不要CUDA,可以直接安裝
為了保險(xiǎn)也可以按照安裝CUDA的步驟來(lái),在5. 安裝cuda時(shí)再改為直接安裝顯卡驅(qū)動(dòng)
# 安裝英偉達(dá)顯卡驅(qū)動(dòng)和管理工具
sudo apt install nvidia-driver nvidia-smi nvidia-settings
- 安裝插件
安裝插件后,注銷重新登錄或者直接重啟都行,會(huì)在底部電源那一欄出現(xiàn) Intel 的標(biāo)志,點(diǎn)擊它就可以切換了
torch和CUDA
問(wèn)題二:torch無(wú)法正確識(shí)別CUDA設(shè)備
解決方案:
直接安裝CUDA,CUDA中帶有顯卡驅(qū)動(dòng);
pip 和 venv用
apt install python3-pip python3-venv否則缺失依賴項(xiàng)
- 禁用 nouveau 驅(qū)動(dòng)
# 我實(shí)際上使用的是nano,不過(guò)uos自帶的deepin-editor也可以,任意編輯器都可以
sudo deepin-editor /etc/default/grub
在GURB_CMDLINE_LINUX_DEFAULT="splash quiet后加上一句改為
GURB_CMDLINE_LINUX_DEFAULT="splash quiet rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1 "
其中,
rd.driver.blacklist=nouveau會(huì)阻止nouveau驅(qū)動(dòng)的自動(dòng)加載,哪怕發(fā)現(xiàn)存在nouveau模塊聲稱支持的硬件
modprobe.blacklist=nouveau類似上面的那句,這個(gè)阻止nouveau模塊的加載
nvidia-drm.modeset=1主要用來(lái)防止畫面撕裂的情況,但我也不清楚原理,arch的Wiki中說(shuō)是“啟用DRM(直接渲染管理器)內(nèi)核模式設(shè)置”(To enable DRM (Direct Rendering Manager) kernel mode setting)
- 更新 grub 配置
sudo update-grub
- 重啟后進(jìn)入系統(tǒng)運(yùn)行級(jí)別 3
為了保險(xiǎn),我是不登陸圖形界面 CTRL+ALT+F2 進(jìn)入tt2后操作的
sudo init 3
- 卸載或許存在的nvidia驅(qū)動(dòng)
sudo apt purge nvidia*
sudo apt autoremove --purge
- 安裝CUDA(11.3.1)
wget https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda-repo-debian10-11-3-local_11.3.1-465.19.01-1_amd64.deb
sudo dpkg -i cuda-repo-debian10-11-3-local_11.3.1-465.19.01-1_amd64.deb
sudo apt-key add /var/cuda-repo-debian10-11-3-local/7fa2af80.pub
sudo add-apt-repository contrib
sudo apt-get update
sudo apt-get -y install cuda
cudnn我使用nvidia給ubuntu提供的三個(gè)deb包來(lái)安裝,因?yàn)檫@樣會(huì)有sample來(lái)供我測(cè)試
cp -r /usr/src/cudnn_samples_v8/ ~/Documents/samples
cd samples/mnistCUDNN
# 直接make會(huì)失敗,因?yàn)槿鄙賰蓚€(gè)依賴項(xiàng)
sudo apt-get install libfreeimage3 libfreeimage-dev
sudo make clean
sudo make
# 運(yùn)行可以看到通過(guò)測(cè)試
./mnistCUDNN
# 如果運(yùn)行不通過(guò),可以試一試提權(quán)運(yùn)行
sudo ./mnistCUDNN
在 deepin 中我又試了一遍,發(fā)現(xiàn)直接測(cè)試不通過(guò),需要提權(quán)才能通過(guò)
運(yùn)行 nvcc -V 不能執(zhí)行,查看 $PATH 沒(méi)有 CUDA
將 CUDA 的 \bin 路徑添加到 PATH 中后一切正常了
- torch
# 安裝失敗的原因就是缺點(diǎn)依賴項(xiàng),先裝上就好了
sudo apt install python3-pip python3-venv
sudo apt install libjpeg-dev zlib1g-dev
然后按照torch官網(wǎng)來(lái)就可以了:
pip3 install torch==1.10.1+cu113 torchvision==0.11.2+cu113 torchaudio==0.10.1+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html
- 驗(yàn)證 torch 能不能用 cuda 和 cudnn
import torch
form torch.backends import cudnn
print(torch.cuda.is_available())
print(cudnn.is_acceptable(torch.tensor(1.0).cuda()))