UOS 相关的记录
CUDA
外接显示器
问题一
:官方以及商店提供的工具没能成功输出显示到外接显示器
神舟笔记本,Intel+Nvidia,默认情况以及使用商店中的“显卡驱动管理器”以后,“设置-显示设置”中没有外接显示器
解决方案:
- 安装nvidia驱动
有坑,配置不好会直接导致
torch与CUDA不兼容
如果不要CUDA,可以直接安装
为了保险也可以按照安装CUDA的步骤来,在5. 安装cuda
时再改为直接安装显卡驱动
# 安装英伟达显卡驱动和管理工具
sudo apt install nvidia-driver nvidia-smi nvidia-settings
- 安装插件
安装插件后,注销重新登录或者直接重启都行,会在底部电源那一栏出现 Intel 的标志,点击它就可以切换了
torch和CUDA
问题二
:torch无法正确识别CUDA设备
解决方案:
直接安装CUDA,CUDA中带有显卡驱动;
pip 和 venv用
apt install python3-pip python3-venv
否则缺失依赖项
- 禁用 nouveau 驱动
# 我实际上使用的是nano,不过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
会阻止nouveau驱动的自动加载,哪怕发现存在nouveau模块声称支持的硬件
modprobe.blacklist=nouveau
类似上面的那句,这个阻止nouveau模块的加载
nvidia-drm.modeset=1
主要用来防止画面撕裂的情况,但我也不清楚原理,arch的Wiki中说是“启用DRM(直接渲染管理器)内核模式设置”(To enable DRM (Direct Rendering Manager) kernel mode setting)
- 更新 grub 配置
sudo update-grub
- 重启后进入系统运行级别 3
为了保险,我是不登陆图形界面 CTRL+ALT+F2 进入tt2后操作的
sudo init 3
- 卸载或许存在的nvidia驱动
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提供的三个deb包来安装,因为这样会有sample来供我测试
cp -r /usr/src/cudnn_samples_v8/ ~/Documents/samples
cd samples/mnistCUDNN
# 直接make会失败,因为缺少两个依赖项
sudo apt-get install libfreeimage3 libfreeimage-dev
sudo make clean
sudo make
# 运行可以看到通过测试
./mnistCUDNN
# 如果运行不通过,可以试一试提权运行
sudo ./mnistCUDNN
在 deepin 中我又试了一遍,发现直接测试不通过,需要提权才能通过
运行 nvcc -V
不能执行,查看 $PATH
没有 CUDA
将 CUDA
的 \bin
路径添加到 PATH
中后一切正常了
- torch
# 安装失败的原因就是缺点依赖项,先装上就好了
sudo apt install python3-pip python3-venv
sudo apt install libjpeg-dev zlib1g-dev
然后按照torch官网来就可以了:
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
- 验证 torch 能不能用 cuda 和 cudnn
import torch
form torch.backends import cudnn
print(torch.cuda.is_available())
print(cudnn.is_acceptable(torch.tensor(1.0).cuda()))