AMD显卡(RX6750gre)+ubuntu22.04基于docker部署ROCm环境(支持CUDA)

写在前面

个人感觉,到2025年3月8日,AMD显卡的深度学习支持已经做得相当给力了.
我尝试了三种在AMD显卡上部署支持CUDA的ROCm环境的方式:

  1. 使用windows操作系统上的基于docker的ubuntu20.04容器环境
  2. 使用windows操作系统上的wsl2(linux子系统)环境
  3. 使用ubuntu22.04操作系统上的基于docker的ubuntu22.04.5容器(使用最新的官方镜像)
    前两种完全失败,因为windows系统完全不支持AMD显卡的ROCm驱动,具体表现为
    amdgpu kfd模块无法安装.
    所以,一定要使用直接安装在物理机上的ubuntu系统.如果你的电脑上只有windows系统,建议压缩任意磁盘空间后,安装ubuntu系统.

详细系统相关信息

  • CPU: AMD Ryzen5 5600
  • GPU:AMD Radeon rx 6750 gre 10GB
  • OS: Ubuntu 22.04.5 LTS

操作过程

第一步,在你的ubuntu系统上安装amd的ROCm驱动

官方下载地址:
https://rocm.docs.amd.com/projects/install-on-linux/en/latest/install/install-methods/amdgpu-installer/amdgpu-installer-ubuntu.html

amd的ROCm驱动安装命令

  1. 应用于Ubuntu22.04(jammy),下载官方驱动下载软件’amdgpu’的命令如下:
sudo apt update
wget https://repo.radeon.com/amdgpu-install/6.3.3/ubuntu/jammy/amdgpu-install_6.3.60303-1_all.deb
sudo apt install ./amdgpu-install_6.3.60303-1_all.deb
sudo apt update
  1. 随后,使用’amdgpu’下载ROCm组件:
sudo amdgpu-install -y --usecase=rocm
sudo amdgpu-install -y --usecase=openclsdk
sudo amdgpu-install -y --usecase=hiplibsdk

参考了AMD显卡配置深度学习环境(ROCm-pytorch)https://zhuanlan.zhihu.com/p/654453422

  1. 最后,使用以下命令确保你已经安装了ROCm:
rocm-smi

该命令用于查看显卡使用情况.

第二步,使用docker来pull官方镜像

下载docker步骤略.
官方pull和运行镜像的教程:
https://rocm.docs.amd.com/projects/install-on-linux/en/develop/install/3rd-party/pytorch-install.html

  1. pull镜像
sudo docker pull rocm/pytorch:latest
  1. 运行镜像
sudo docker run -it --cap-add=SYS_PTRACE --security-opt seccomp=unconfined \
--device=/dev/kfd --device=/dev/dri --group-add video \
--ipc=host --shm-size 8G rocm/pytorch:latest
  1. 验证容器(镜像)是否已在运行
sudo docker ps

第三步,在容器中验证pytorch的cuda是否可用

py_3.10conda环境下执行以下代码(容器自带anaconda):

import torch
print(torch.cuda.is_available())

若输出为True,则环境配置成功.

总结

和以前相比,AMD显卡配置深度学习环境变得更加方便简单了.
但目前还不清楚AMD显卡运行深度学习时的GPU利用率是否较高.
此外,使用vscode+相关插件(Docker,Dev Containers,Remote - SSH, Remote Explorer等) 能更加方便的管理docker容器并进行开发.

### 兼容性分析 对于 AMD Radeon RX 6750 GRE 显卡,其支持通过 ROCm(Radeon Open Compute Platform)来运行 PyTorch。然而,在选择合适的 PyTorch 版本时,需注意以下几点: 1. **ROCm 的最低版本要求** 不同的 PyTorch 版本可能依赖于特定的 ROCm 版本。例如,PyTorch 官方文档指出某些较新的功能仅适用于 ROCm 4.x 或更高版本[^1]。 2. **硬件驱动程序的支持** 确保已安装适合 RX 6750 GRE 的最新 AMD 驱动程序以及对应ROCm 软件栈。RX 6750 GRE 属于 RDNA2 架构,因此至少需要 ROCm 4.3 及以上版本才能获得最佳性能和支持。 3. **推荐的 PyTorch 版本** 基于当前的信息,建议使用 PyTorch 1.13 或更新版本,因为这些版本已经优化并测试过与 ROCm 5.x 和 RDNA2 系列显卡的兼容性。如果计划利用 `torch.compile` 进一步提升模型推理速度,则应考虑 PyTorch 2.0 或更高版本,因其引入了更高效的编译器技术[^2]。 以下是具体操作指南中的关键部分摘录: - 安装命令示例 (基于 Ubuntu 平台): ```bash sudo apt update && sudo apt install -y wget gnupg software-properties-common wget -qO - https://repo.radeon.com/rocm/apt/debian/rocm.gpg.key | sudo apt-key add - echo 'deb [arch=amd64] https://repo.radeon.com/rocm/apt/debian focal main' | sudo tee /etc/apt/sources.list.d/rocm.list sudo apt update && sudo apt upgrade -y sudo apt install rocm-dev hipblas hipsparse miopen-hip python3-pip cmake git libnuma-dev pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm5.4.2 ``` 上述脚本假设目标环境为 WSL 下的 Ubuntu,并且选择了 ROCm 5.4.2 作为基础平台。 ### 性能调优提示 为了充分发挥 RX 6750 GRE 的计,可以尝试启用混合精度训练或推理模式。这通常涉及调整如下设置: ```python import torch model = YourModel() optimizer = torch.optim.SGD(model.parameters(), lr=0.01) # 启用自动混合精度机制 scaler = torch.cuda.amp.GradScaler() for data, target in dataloader: optimizer.zero_grad(set_to_none=True) with torch.autocast(device_type='cuda', dtype=torch.float16): output = model(data) loss = criterion(output, target) scaler.scale(loss).backward() scaler.step(optimizer) scaler.update() ``` 此代码片段展示了如何结合 AMP(Automatic Mixed Precision)实现更快收敛的同时降低内存占用率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值