赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. GPU云服务器
  4. 服务支持
  5. 故障排除
  6. 使用PyTorch时出现“undefined symbol __nvJitLinkAddData_12_1, version libnvJitLink.so.12”报错

使用PyTorch时出现“undefined symbol __nvJitLinkAddData_12_1, version libnvJitLink.so.12”报错

  • 故障排除
  • 发布于 2025-04-14
  • 0 次阅读
文档编辑
文档编辑

在Linux系统GPU实例中,可能会因为GPU实例所安装的CUDA版本与PyTorch版本不兼容,导致使用PyTorch时出现报错现象,本文介绍这种情况的解决方案。

问题现象

在Linux系统(例如Alibaba Cloud Linux 3操作系统)GPU实例中使用PyTorch时,出现如下报错信息:

>>> import torch
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.8/dist-packages/torch/__init__.py", line 235, in <module>
    from torch._C import *  # noqa: F403
ImportError: /usr/local/lib/python3.8/dist-packages/torch/lib/../../nvidia/cusparse/lib/libcusparse.so.12: undefined symbol: __nvJitLinkAddData_12_1, version libnvJitLink.so.12

问题原因

可能是GPU实例所安装的CUDA版本与PyTorch版本不兼容导致上述报错,关于CUDA版本与PyTorch版本的匹配详情,请参见Previous PyTorch Versions。

通过sudo pip3 install torch安装的PyTorch版本为2.1.2,要求的CUDA版本为12.1。而购买GPU实例自动安装的CUDA版本为12.0,与PyTorch要求的CUDA版本不匹配。

解决方案

如果购买GPU实例时,在镜像区域的公共镜像页签下选中了安装GPU驱动选项,则您可以按以下三种方案升级CUDA版本至CUDA 12.1。

  • 方案一:手动安装CUDA

    手动安装版本为12.1的CUDA。具体操作,请参见NVIDIA CUDA Installation Guide for Linux。

  • 方案二:通过自定义脚本方式安装CUDA

    1. 释放现有GPU实例。

      具体操作,请参见释放实例。

    2. 购买新的GPU实例。

      具体操作,请参见创建GPU实例。主要配置参数说明如下:

      • 在镜像区域的公共镜像页签下,未选中安装GPU驱动选项。

      • 在高级选项(选填)的自定义数据区域内,输入自定义脚本来安装NVIDIA Tesla 535.154.05驱动和CUDA 12.1.1。脚本示例如下:

        自定义脚本示例

        #!/bin/sh
        
        #Please input version to install
        DRIVER_VERSION="535.154.05"
        CUDA_VERSION="12.1.1"
        CUDNN_VERSION="8.9.7.29"
        IS_INSTALL_eRDMA="FALSE"
        IS_INSTALL_RDMA="FALSE"
        INSTALL_DIR="/root/auto_install"
        
        #using .run to install driver and cuda
        auto_install_script="auto_install_v4.0.sh"
        
        script_download_url=$(curl http://100.100.100.200/latest/meta-data/source-address | head -1)"/opsx/ecs/linux/binary/script/${auto_install_script}"
        echo $script_download_url
        
        rm -rf $INSTALL_DIR
        mkdir -p $INSTALL_DIR
        cd $INSTALL_DIR && wget -t 10 --timeout=10 $script_download_url && bash ${INSTALL_DIR}/${auto_install_script} $DRIVER_VERSION $CUDA_VERSION $CUDNN_VERSION $IS_INSTALL_RDMA $IS_INSTALL_eRDMA
  • 方案三:修改自定义脚本并更换操作系统

    1. 停止现有GPU实例。

      具体操作,请参见停止实例。

    2. 在实例列表中,找到已停止的GPU实例,在对应的操作列,选择实例设置 > 设置用户数据。

    3. 修改用户数据,然后单击确定。

      将DRIVER_VERSION、CUDA_VERSION、CUDNN_VERSION参数修改为如下版本:

      ...
      DRIVER_VERSION="535.154.05"
      CUDA_VERSION="12.1.1"
      CUDNN_VERSION="8.9.7.29"
      ...

      用户数据-zh.jpg

    4. 更换GPU实例的操作系统。

      具体操作,请参见更换操作系统(系统盘)。

      待GPU实例启动成功后,系统会重新安装新版本的NVIDIA Tesla驱动、CUDA以及cuDNN。

相关文章

使用GPU时出现XID 119XID 120错误导致GPU掉卡 2025-04-14 19:17

在Linux系统上使用GPU时,可能会因为GPU的GSP(GPU System Processor)组件运行状态异常,导致GPU卡在初始化时提示失败(例如出现XID 119或XID 120错误信息),本文为您介绍这种情况的解决方案。 问题现象 使用GPU时出现GPU掉卡现象,例如在Linux系统上使

nvidia-fabricmanager版本与Tesla驱动版本不一致导致GPU无法正常使用 2025-04-14 19:17

对于Ubuntu操作系统GPU计算型实例(即ebmgn7、ebmgn7e、ebmgn7ex或sccgn7ex),如果您采用安装包方式安装了nvidia-fabricmanager服务,则apt-daily服务可能会自动更新已安装的软件包,使得该软件版本与Tesla驱动版本不一致,产生版本兼容性问题,

启动容器镜像出现docker Error response from daemon could not select device driver with capabilities [[gpu]]报错 2025-04-14 19:17

在GPU云服务器上安装Docker环境后,如果未安装NVIDIA Container Toolkit,通过docker run --gpus all [镜像名称]启动容器镜像时,可能会出现docker: Error response from daemon: could not select dev

内核更新时无法正常加载NVIDIA GPU(Tesla)驱动 2025-04-14 19:17

当升级GPU实例的操作系统(例如Alibaba Cloud Linux、RedHat、CentOS、Ubuntu等)内核时,可能会因为两个内核的kABI(Kernel Application Binary Interface)不一致,导致旧内核上构建的GPU(Tesla)驱动无法在新的内核上加载。内

使用PyTorch时出现“undefined symbol __nvJitLinkAddData_12_1, version libnvJitLink.so.12”报错 2025-04-14 19:17

在Linux系统GPU实例中,可能会因为GPU实例所安装的CUDA版本与PyTorch版本不兼容,导致使用PyTorch时出现报错现象,本文介绍这种情况的解决方案。 问题现象 在Linux系统(例如Alibaba Cloud Linux 3操作系统)GPU实例中使用PyTorch时,出现如下报错信息

重启GPU实例后导致Persistence Mode属性开启失效,同时ECC状态或MIG功能设置也失败 2025-04-14 19:17

在GPU计算型实例中安装高版本Tesla驱动(例如驱动版本为535或更高版本)后,通过nvidia-smi -pm 1命令方式开启Persistence Mode属性,可能会因为驱动版本过高,重启实例后导致该属性开启失效,同时ECC状态或MIG功能设置也失败,本文介绍这种情况的解决方案。 问题现象

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号