AMD运行ai一直是件麻烦的事,之前一直用的Linux,硬盘被划分一大半空间最近装了一些游戏发现硬盘实在不够用了,通过搜索发现
WSL居然也可以运行
性能居然和Linux差不多
不用重启换系统,还能在跑ai时用电脑干点别的
虽然好处很多,但是安装时候坑也不少,WSL支持已经差不多一年了,但还是没修复一堆问题
注意:目前WSL只兼容pytoch,基于其他的ai项目暂时无法运行
实测可以运行的项目
https://github.com/SUC-DriverOld/MSST-WebUI
https://github.com/yxlllc/DDSP-SVC
https://github.com/comfyanonymous/ComfyUI
win10/win11系统
AMD显卡(7000/9000系)旧显卡不支持WSL下的rocm,可以安装Linux或者用ZLUDA运行(ZLUDA支持项目较少)
25.3.1或更高版本的驱动
首先win+Q调出搜索,然后搜索启用
然后勾选启用
完成后重启电脑
打开Microsoft store 搜索Ubuntu
官方支持的版本是22.04 24.04,其他应该也可以运行,但是我没试,AMD运行环境问题太令人头疼
然后在开始菜单点击运行
首次会自动创建环境
启动后,默认是非管理员账户
需要修改root密码,然后切换到root
sudo passwd root
su
安装rocm
wget https://repo.radeon.com/amdgpu-install/6.4.2.1/ubuntu/jammy/amdgpu-install_6.4.60402-1_all.deb
chmod 777 amdgpu-install_6.4.60402-1_all.deb
apt install ./amdgpu-install_6.4.60402-1_all.deb
amdgpu-install -y --usecase=wsl,rocm --no-dkms
输入命令,如果能看到显卡就是正常的
rocminfo
下载anaconda
为什么不用系统自带的python,因为这个rocm太挑了!torch版本和rocm版本不一致一直检测不到显卡
教程可能不是新版,anaconda要登录直接访问 https://www.anaconda.com/download/success 就行了
首先安装anaconda然后把默认源换成华为云
wget https://repo.anaconda.com/archive/Anaconda3-2025.06-0-Linux-x86_64.sh
chmod 777 Anaconda3-2025.06-0-Linux-x86_64.sh
./Anaconda3-2025.06-0-Linux-x86_64.sh
pip config set global.index-url https://mirrors.huaweicloud.com/repository/pypi/simple
然后conda创建环境
conda create -n 项目名称 python=指定版本 -y
conda activate 项目名称
pip3 install torch torchvision --index-url https://download.pytorch.org/whl/rocm6.4
pip install -r requirements.txt
WSL目前还只支持ROCM6.4,不要换成新版本,不能用
然后就装完了
python3 -c 'import torch; print(torch.cuda.is_available())'
返回结果应该是True
如果没有问题可以正常运行就不用看下面了。但没问题应该是不可能的。
UserWarning: Memory Efficient attention on Navi31 GPU is still experimental. Enable it with TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL=1.
启动实验性功能
export TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL=1
这是正常的,WSL就是不能用
No HIP GPUs are available
大概是两个原因
替换一下torch的hips文件首要删掉之前的旧libhsa-runtime64.so相关文件,然后再复制
cd ~/anaconda3/envs/项目名称/lib/python3./site-packages/torch/lib
rm libhsa-runtime64.so.1
rm libhsa-runtime64.so
cp /opt/rocm-6.4.2/lib/libhsa-runtime64.so.1.15.60402 .
cp /opt/rocm-6.4.2/lib/libhsa-runtime64.so.1 .
cp /opt/rocm-6.4.2/lib/libhsa-runtime64.so .
替换完成就会导致出现下面的问题,GLIBCXX_3.4.32 not found
GLIBCXX_3.4.32 not found
conda install -c conda-forge libstdcxx-ng
如果不能解决问题就要手动把系统的挪过来
cd ~/anaconda3/envs/项目名称/lib
cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.33 .
ln -s -f libstdc++.so.6.0.33 libstdc++.so.6
Could not find a version that satisfies the requirement torch (from versions: none)
这个是因为项目自动安装的环境把rocm的torch替换了一部分
解决方法是
pip3 install torch torchvision --index-url https://download.pytorch.org/whl/rocm6.4
切换默认用户为root,方便了很多
ubuntu2404.exe config --default-user root
wsl --shutdown
ERROR:root:Driver not initialized (amdgpu not found in modules)
sudo modprobe amdgpu