Fedora 43 配置 ROCm 7.2 与 PyTorch 2.11

Fedora 43 配置 ROCm 7.2 与 PyTorch 2.11

一、前言

自从 AMD ROCm 7.0 以上开始支持大量 Radeon 7000 系列显卡,博主准备将为自己的 Fedora 43 主机安装 ROCm 使自己的 7700XT 具有加速深度学习的能力,并且兼容 CUDA 可以轻松将现有基于 CUDA 开发的代码迁移至 ROCm 平台。

但是截止至 2026 年 4 月,AMD 官方并没有发布 Fedora 部署 ROCm 教程,不过 Fedora 社区一直在积极推进 ROCm 的适配,在博主搭载着 7700XT 的 Fedora 43 主机能够成功部署 ROCm 7.2 和 PyTorch 2.11. 并且能够顺利加速深度学习项目。

本文环境如下所示:

bash 复制代码
             .',;::::;,'.                 gudi@fedora
         .';:cccccccccccc:;,.             -----------
      .;cccccccccccccccccccccc;.          OS: Fedora Linux 43 (KDE Plasma Desktop Edition) x86_64
    .:cccccccccccccccccccccccccc:.        Kernel: Linux 6.19.12-200.fc43.x86_64
  .;ccccccccccccc;.:dddl:.;ccccccc;.      Uptime: 6 hours, 4 mins
 .:ccccccccccccc;OWMKOOXMWd;ccccccc:.     Packages: 2918 (rpm), 6 (flatpak)
.:ccccccccccccc;KMMc;cc;xMMc;ccccccc:.    Shell: bash 5.3.0
,cccccccccccccc;MMM.;cc;;WW:;cccccccc,    Display (default): 3440x1440 in 39"
:cccccccccccccc;MMM.;cccccccccccccccc:    DE: KDE Plasma 6.6.4
:ccccccc;oxOOOo;MMM000k.;cccccccccccc:    WM: KWin (Moba/X)
cccccc;0MMKxdd:;MMMkddc.;cccccccccccc;    WM Theme: Breeze
ccccc;XMO';cccc;MMM.;cccccccccccccccc'    Theme: Breeze (Light) [Qt], Breeze [GTK2/3]
ccccc;MMo;ccccc;MMW.;ccccccccccccccc;     Icons: Breeze [Qt], breeze [GTK2/3/4]
ccccc;0MNc.ccc.xMMd;ccccccccccccccc;      Font: Noto Sans (10pt) [Qt], Noto Sans (10pt) [GTK2/3/4]
cccccc;dNMWXXXWM0:;cccccccccccccc:,       Terminal: /dev/pts/0
cccccccc;.:odl:.;cccccccccccccc:,.        CPU: AMD Ryzen 7 5700X (16) @ 3.82 GHz
ccccccccccccccccccccccccccccc:'.          GPU: AMD Radeon RX 7700 XT [Discrete]
:ccccccccccccccccccccccc:;,..             Memory: 5.14 GiB / 31.22 GiB (16%)
 ':cccccccccccccccc::;,.                  Swap: 0 B / 8.00 GiB (0%)
                                          Disk (/): 1.11 TiB / 1.82 TiB (61%) - btrfs
                                          Disk (/mnt/data_1): 534.41 GiB / 931.06 GiB (57%) - xfs
                                          Disk (/mnt/data_2): 525.78 GiB / 931.06 GiB (56%) - xfs
                                          Local IP (br0): 192.168.1.118/24
                                          Locale: zh_CN.UTF-8

二、安装准备

安装前置依赖:

bash 复制代码
sudo dnf install dnf-plugin-config-manager python3-setuptools python3-wheel

如果先前已安装过 Fedora ROCm 软件包,最好先卸载,因为与 AMD 的软件包相比,其存在不兼容的依赖关系,而且不会直接升级:

bash 复制代码
sudo dnf remove rocm rocm-*

将 ROCm 仓库添加 yum 配置中:

bash 复制代码
sudo tee /etc/yum.repos.d/rocm.repo <<EOF
[ROCm]
name=rocm
baseurl=https://repo.radeon.com/rocm/el9/latest/main/
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key

[AMDGraphics]
name=rocmgraphics
baseurl=https://repo.radeon.com/graphics/latest/el/9.6/main/x86_64/
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF

三、安装 ROCm

使用下方命令安装 ROCm 及其依赖:

bash 复制代码
sudo dnf install rocm rocm-developer-tools hipblas-devel hip-devel rocwmma-devel rocm-opencl-devel --allowerasing

--allowerasing 参数表示允许用 ROCm 仓库中提供的新版本替换先前安装的 opencl 或较旧的 ROCm 包。

输入 rocm-smi 验证是否安装成功。

此外,安装以下软件包方便对 AMD GPU 进行监控:

bash 复制代码
sudo dnf install radeontop

对于 amd-smi 工具,需要手动安装 Python 库:

删除之前的 AMD SMI 安装:

bash 复制代码
python3 -m pip list | grep amd
python3 -m pip uninstall amdsmi

从已经安装的 ROCm 实例安装 AMD SMI Python 库:

bash 复制代码
cd /opt/rocm/share/amd_smi
sudo python3 -m pip install --user .

在某些系统上,如果 pip 安装失败,在后面加上 --break-system-packages 参数

验证:

bash 复制代码
╰─ python3
Python 3.14.3 (main, Mar 26 2026, 00:00:00) [GCC 15.2.1 20260123 (Red Hat 15.2.1-7)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import amdsmi
>>>

amd-smi 工具:

bash 复制代码
╰─ amd-smi
+------------------------------------------------------------------------------+
| AMD-SMI 26.2.2+671d39a71e    amdgpu version: Linuxver ROCm version: 7.2.2    |
| VBIOS version: 00077014                                                      |
| Platform: Linux Baremetal                                                    |
|-------------------------------------+----------------------------------------|
| BDF                        GPU-Name | Mem-Uti   Temp   UEC       Power-Usage |
| GPU  HIP-ID  OAM-ID  Partition-Mode | GFX-Uti    Fan               Mem-Usage |
|=====================================+========================================|
| 0000:09:00.0  AMD Radeon RX 7700 XT | 1 %      35 °C   0             8/200 W |
|   0       0     N/A             N/A | 21 %     0.0 %            489/12272 MB |
+-------------------------------------+----------------------------------------+
+------------------------------------------------------------------------------+
| Processes:                                                                   |
|  GPU        PID  Process Name          GTT_MEM  VRAM_MEM  MEM_USAGE     CU % |
|==============================================================================|
|  No running processes found                                                  |
+------------------------------------------------------------------------------+

若需要在 ROCm 上使用 FlashAttention, 请设置以下环境变量:

bash 复制代码
export TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL=1

这将启用 AMD 实验性的即时编译 triton 数学库。

可将该环境变量写入 ~/.bashrc 来持久化。

四、安装 PyTorch

PyTorch 依赖 Python 3.10 或更新版本,使用以下命令安装:

bash 复制代码
pip3 install torch torchvision --index-url https://download.pytorch.org/whl/rocm7.2

安装成功后验证安装:

bash 复制代码
python -c "import torch; print(f'ROCm version: {torch.version.hip}'); print(f'GPU available: {torch.cuda.is_available()}')"

得到输出:

bash 复制代码
ROCm version: 7.2.26015
GPU available: True

PyTorch 安装完毕。


版权声明: 本文为博主「张火火isgudi」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接: https://www.cnblogs.com/zbyisgudi/p/19904292

相关推荐
qq_330037991 天前
如何配置ASM元数据备份_md_backup与md_restore重建磁盘组结构
jvm·数据库·python
零壹AI实验室1 天前
RAG-Anything测评:港大开源的全能RAG框架,真的"万物皆可RAG"吗
人工智能
昭昭日月明1 天前
前端仔速通 Python
javascript·python
OpenBayes贝式计算1 天前
教程上新丨Qwen3.6 系列首个开源模型 Agent 编程能力大涨,激活参数仅 3B 超越 Gemma4-31B
人工智能·agent·ai编程
RisunJan1 天前
Linux命令-nisdomainname(显示或设置系统的 NIS(Network Information Service)域名)
linux·运维·服务器
Chengbei111 天前
红队专属Bing Dork自动化工具,敏感信息侦察效率拉满、自动生成可视化信息泄露审计报告
java·人工智能·安全·web安全·网络安全·自动化·系统安全
a9511416421 天前
SQL触发器实现自动生成流水号_配合序列对象实现递增逻辑
jvm·数据库·python
掘金一周1 天前
掘友们,一人说一个你买过夯到爆的东西 | 沸点周刊 4.23
前端·人工智能·后端
AI首席情报员_阿布1 天前
Numa:用 Rust 从零造一个 DNS 解析器,顺手解决了开发者最头疼的几件事
人工智能·rust·dns
了不起的云计算V1 天前
2027年信创大考倒计时,联想开天打出“生态+AI”的组合牌
人工智能