Ubuntu22.04+ROCm+Pytorch 和Windows+torch-directml 的安装与踩坑,以及选择问题

前言

本人设备7600x + 7700xt,爱打点游戏碰巧也是看到A卡可以windows原生支持ROCm,并且SD运行效果还算理想,所以买了A卡(不咋掉驱动但是CS2真有问题)

在看到pytorch官网没法直接Windows直接ROCm后就选择了Ubuntu,但是一开始下的24.04,会导致包的版本不一样,官方的指南也是22.04,所以最后还是用的这个(老实了)

Linux解决方案

首先是安装ROCm

官方文档:Quick start installation guide — ROCm installation (Linux)

需要注意的问题就在于如果你需要的是pytorch,那么最好按照以下的代码来进行,因为linux下pytorch只支持ROCm6.0(pytorch官网写了)

sudo apt update && sudo apt upgrade
sudo apt install wget gnupg2 
wget https://repo.radeon.com/amdgpu-install/6.0/ubuntu/jammy/amdgpu-install_6.0.60000-1_all.deb
sudo apt install ./amdgpu-install_6.0.60000-1_all.deb
#列出可用的用例,根据需要选择合适用例
sudo amdgpu-install --list-usecase
 
#这里我们只安装rocm,不安装dkms(不动原有的驱动)
sudo amdgpu-install --usecase=rocm --no-dkms
 
 
#添加用户组并重启
sudo usermod -a -G render $LOGNAME
sudo usermod -a -G video $LOGNAME
sudo reboot

之后重启系统,输入

rocm-smi#若安装成功,应该输出显卡信息

安装pytorch

按照pytorch官网的安装方式,简单且快捷,最好用conda虚拟环境(不用也没啥)

在终端输入

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.0

在这个阶段的验证,开python环境,以下代码结果返回TURE即为成功(暂时)

import torch
torch.cuda.is_available()

那么比较帅的观众就要问了,为什么是暂时的呢?很简单,打开Pycharm不就是了,一运行代码检验一下就老实了,具体报错可以自己试试

运行你的项目之前,有一项必要的环境变量配置

在bashrc里加上这样的一行(RX6000系列显卡和7000不一样,6000系把11.0.0换成10.3.0)

export HSA_OVERRIDE_GFX_VERSION=11.0.0

再去pycharm就没问题了

驱动打成了会提示正在使用RX7700XT这种话。

Windows解决方案

希望你是看了前面一堆之后才来看的,因为Win的解决方案很短

在你的环境中这样

pip install torch-directml

好了,安完了

验证:

import torch
import torch_directml
 
 
dml=torch_directml.device()
tensor1 = torch.tensor([1]).to(dml) # Note that dml is a variable, not a string!
tensor2 = torch.tensor([2]).to(dml)
 
for i in range(1000000):
    dml_algebra = tensor1 + tensor2
    dml_algebra.item()

运行结果正常就对了。

损耗

等我之后测测再更吧,我也好奇这两种哪个更好一点,毕竟都不是人家N卡正规军

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值