RuntimeError: Configured ROCm binary not found at /opt/app-root/lib64/python3.12/site-packages/bitsandbytes/libbitsandbytes_rocm84.so

用户在 RHEL 9.6 系统上使用 Python 3.12.9、ROCm 7.14 和 MI350P 显卡,通过 Hermatic build(网络隔离)安装 bitsandbytes 0.49.2 后,执行 python -c 'import bitsandbytes' 时触发报错。环境中未安装

RuntimeError: Configured ROCm binary not found at /opt/app-root/lib64/python3.12/site-packages/bitsandbytes/libbitsandbytes_rocm84.so

RuntimeError: Configured ROCm binary not found at /opt/app-root/lib64/python3.12/site-packages/bitsandbytes/libbitsandbytes_rocm84.so

快速结论:该报错通常发生在 ROCm 系统上(如 RHEL 9.6、ROCm 7.14、GPU MI350P)安装 bitsandbytes 后导入时,优先排查 bitsandbytes 版本是否低于 0.50.0。该版本之前只预编译了 ROCm 8.4 的二进制文件,与 ROCm 7.14 系统不匹配。

问题场景

用户在 RHEL 9.6 系统上使用 Python 3.12.9、ROCm 7.14 和 MI350P 显卡,通过 Hermatic build(网络隔离)安装 bitsandbytes 0.49.2 后,执行 python -c 'import bitsandbytes' 时触发报错。环境中未安装 ROCm 8.4。

报错原文

bitsandbytes library load error: Configured ROCm binary not found at /opt/app-root/lib64/python3.12/site-packages/bitsandbytes/libbitsandbytes_rocm84.so
Traceback (most recent call last):
  File "/opt/app-root/lib64/python3.12/site-packages/bitsandbytes/cextension.py", line 320, in <module>
    lib = get_native_library()
          ^^^^^^^^^^^^^^^^^^^^
  File "/opt/app-root/lib64/python3.12/site-packages/bitsandbytes/cextension.py", line 288, in get_native_library
    raise RuntimeError(f"Configured {BNB_BACKEND} binary not found at {cuda_binary_path}")
RuntimeError: Configured ROCm binary not found at /opt/app-root/lib64/python3.12/site-packages/bitsandbytes/libbitsandbytes_rocm84.so

原因分析

bitsandbytes 0.49.2 仅预编译了 ROCm 8.4 的二进制文件 libbitsandbytes_rocm84.so,但用户系统上实际运行的 ROCm 版本为 7.14。bitsandbytes 没有检测可用 ROCm 版本并加载对应二进制(如 7.2 或 7.14),而是直接尝试加载 ROCm 8.4 二进制,导致找不到文件。

可能原因:bitsandbytes 版本过旧,未包含对 ROCm 7.14 的预编译支持,且缺乏版本检测和自动降级机制。

环境排查

  • 确认 Python 版本:3.12.9
  • 确认 ROCm 版本:7.14(可通过 rocm-smihipconfig --version 验证)
  • 确认 bitsandbytes 版本:0.49.2
  • 确认操作系统:RHEL 9.6
  • 确认 GPU 型号:MI350P
  • 检查是否通过网络隔离构建(Hermatic build),该模式可能影响二进制文件来源

解决步骤

  1. 升级 bitsandbytes 到 v0.50.0 或更高版本:该版本包含对 ROCm 7.14 的预编译二进制,并通过 PR #1889、#1980、#2007 引入了版本检测和自动备用机制,当找不到特化版本时会尝试加载 ROCm 7.2 构建。
  2. 注意:v0.50.0 尚未发布到 PyPI 时,可以从 continuous-release_main 页面获取从主分支构建的 wheel 文件进行安装。
  3. 降级备选(不推荐):手动安装与 ROCm 7.14 兼容的早期 bitsandbytes 版本,但可能缺少所需功能。

验证方法

成功安装 v0.50.0 或主分支构建后,再次运行 python -c 'import bitsandbytes'。如果不再抛出 RuntimeError 且无错误输出,则问题已解决。也可尝试调用 bitsandbytes 的量化功能进行功能验证。

参考来源

bitsandbytes-foundation/bitsandbytes #2014

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

celebrityanime
celebrityanime
文章: 14872

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注