前言
- 最近要进行模型的训练,恰好有一张 AMD RX6750GRE 10G 的卡,打算用这张卡来跑一下。
在Windows上的实验
- 先说结论,在 Windows 上虽然有
DirectML
和WSL
这种方案,但基本上是不能用的,至少在我这张卡上正常配置后是不能用的。
DirectML
先说
DirectML
,这玩意的想法很不错,而且程序也成功识别到了这张卡,但也仅仅是识别到了,真开始训练就会报出各种错误。比如无法计算tensor count
之类的。即使使用.to(device)
也会报。推理的话。尽管 ai 觉得推理可以跑,但实测下来也是基本不行,报错和上面一样。
WSL
主讲
WSL2
,因为很多文章都说这样可以支持,而且官方也有教程。但实测下来,也是不支持的。使用rocminfo
直接搜不到卡。当然主要是我这张卡,也许其他的卡能用这个方法。但显然,我的这张卡不包括在内。
题外话
微软这个
WSL2
在我电脑经常会出现长时间无响应的状态,具体的解决方法有两个,一个是重启一个是关掉对应的进程树,参考这篇文章 CSDN_windows子系统-wsl命令基础用法和无响应问题排查及解决方法。1
2// 得到LxssManager的PID
tasklist /svc /fi "imagename eq svchost.exe"直接去任务管理器那关掉这个PID对应的那个进程树就行了。
还有就是最好不要像在正常 Linux 系统那样随意更新内核,可能会出现一些奇奇怪怪的问题。
(虽然本来也不应该随意更新内核)如果只是拿来跑包暴力破解一些东西的话,装上
AMD HIP
就可以用了。
在Linux上的实验
这个就比较顺风顺水了。按照官网教程直接安装显卡驱动,
ROCm
和 AMD 专用的torch
,基本没出什么太大的问题。1
2
3
4
5
6
7
8
9wget https://repo.radeon.com/amdgpu-install/6.4.3/ubuntu/noble/amdgpu-install_6.4.60403-1_all.deb
sudo apt install ./amdgpu-install_6.4.60403-1_all.deb
sudo apt update
sudo apt install python3-setuptools python3-wheel
sudo usermod -a -G render,video $LOGNAME
sudo apt install rocm
// 安装torch
pip install --no-cache-dir --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm6.4/修改用户组后需要重启才能生效。不然
torch
作为普通用户是访问不到显卡的。在
torch
的安装上需要注意的是,AMD 的包在 4G 多的大小,安装的时候需要加上--no-cache-dir
才能安装,不然就会显示内存超出。在实际使用中,因为没有针对
gtx1032
的计算库,跑的时候会报错找不到这个文件。可以选择将就用1030
的,不然就需要自己编译。将就用1030
的话可以选择设置下环境变量再跑。1
export HSA_OVERRIDE_GFX_VERSION=10.3.0
虽然使用
1030
的计算库会导致第一次训练的时间增加(因为好像会自己编译对应的计算库),但也没啥事,慢一点点而已,后面还是正常训练的。
小插曲
本来一开始我是用的
Ubuntu 2404
的镜像(gnome
那个版本)安装的(现在是24.04.3)。但是在安装的时候就会经常出现报错,报内部错误啥的。毕竟 Ubuntu 是内部错误”大师”,我也没多在意,然后安装就卡住无法进行了。甚至重新打开安装程序也会卡住。我本以为是镜像写入的时候出现了啥问题,重新写入了一遍,然后就
无法启动内核了。reddit
论坛那边的说新的安装程序有问题。退回
2204
之后确实好多了,直接一步到位,顺风顺水的。