FlagOS智算系统软件栈 CUDA initialization: Unexpected error from cudaGetDeviceCount解决方法

CUDA initialization: Unexpected error from cudaGetDeviceCount解决方法

egzosn  ·  2024-10-11 15:16:39 发布

  最近训练新增A100,gpu服务器,安装完cuda后突然出现torch无法正常使用,提示CUDA initialization: Unexpected error from cudaGetDeviceCount()错误,如下图所示:

CUDA initialization: Unexpected error from cudaGetDeviceCount解决方法_自动更新

UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount(). Did you run some cuda functions before calling NumCudaDevices() that might have already set an error? Error 802: system not yet initialized (Triggered internally at ../c10/cuda/CUDAFunctions.cpp:108.)
  • 1.
  1. 进行分析和之前搭建的A800,GPU服务器进行对比,应该是没有安装 nvidia-fabricmanager 的问题,A100-80G需要使用nvlink & nvswitch来实现多卡互联,没有安装这个包GPU没法用如图所示:

CUDA initialization: Unexpected error from cudaGetDeviceCount解决方法_自动更新_02

A800机器:

CUDA initialization: Unexpected error from cudaGetDeviceCount解决方法_自动更新_03

A100机器:

CUDA initialization: Unexpected error from cudaGetDeviceCount解决方法_自动更新_04

  1. 检查gpu机器版本nvidia-smi,Driver Version: 535.183.01 ,下载相对应的安装包。
1. 下载 nvidia-fabric-manager-535.183.01 RPM 包,首先,访问 NVIDIA CUDA 下载页面 或 NVIDIA驱动程序下载页面,选择对应的 Linux 版本和驱动版本,找到 nvidia-fabric-manager 相关链接。可以直接使用以下命令从已知的存储库获取该包(请确认这是正确的路径):
wget https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/nvidia-fabric-manager-535.183.01-1.x86_64.rpm

2.下载完成后,使用 dnf 或 rpm 来安装这个包:
sudo rpm -ivh nvidia-fabric-manager-535.183.01-1.x86_64.rpm

3.启用并启动服务:
sudo systemctl enable nvidia-fabricmanager
sudo systemctl start nvidia-fabricmanager

4.确认服务已启动:
sudo systemctl status nvidia-fabricmanager
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  1. 再次验证结果:

CUDA initialization: Unexpected error from cudaGetDeviceCount解决方法_CUDA_05

  1. Nvidia-fabricmanager 自动更新关闭,防止升级后无法进行使用。

 编辑 dnf 配置文件,打开 /etc/dnf/dnf.conf 文件:

sudo nano /etc/dnf/dnf.conf
  • 1.

添加排除规则 在文件中添加一行 exclude=nvidia-fabricmanager*,如下所示:

[main]

gpgcheck=1

installonly_limit=3

clean_requirements_on_remove=True

exclude=nvidia-fabricmanager*
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

保存并退出
保存文件并退出编辑器(在 nano 中,按 Ctrl+O 保存,按 Ctrl+X 退出)。

这将使 nvidia-fabricmanager 包不再被自动更新,直到你手动更新或移除该排除规则。

Logo

欢迎来到FlagOS开发社区,这里是一个汇聚了AI开发者、数据科学家、机器学习爱好者以及业界专家的活力平台。我们致力于成为业内领先的Triton技术交流与应用分享的殿堂,为推动人工智能技术的普及与深化应用贡献力量。

更多推荐

  • 浏览量 3352
  • 收藏 0
  • 0

所有评论(0)

查看更多评论 
已为社区贡献1条内容