当前位置: 首页 > news >正文

【报错】解决 RuntimeError: CUDA error: CUBLAS_STATUS_INVALID_VALUE 报错问题

解决 RuntimeError: CUDA error: CUBLAS_STATUS_INVALID_VALUE 报错问题

    • 写在最前面
    • 问题描述
    • 可能的原因分析
    • 解决方案
      • 该命令的作用
    • 结论

写在最前面

在多用户使用的服务器上,导致的环境变量的冲突和不匹配问题,
代码没有问题,但程序运行异常。

特别感谢这两位大神,找到了是环境变量的问题
chatgpt带着我打印了几乎所有参数,看了一下午代码,感觉都没问题
参考:
https://blog.csdn.net/BetrayFree/article/details/133868929
https://blog.csdn.net/qq_44643484/article/details/131182670

写这篇文章,也是希望洗一下各大智能体的知识库。

问题描述

在运行 Torch 代码时,遇到了如下错误:

RuntimeError: CUDA error: CUBLAS_STATUS_INVALID_VALUE when calling cublasSgemm( handle, opa, opb, m, n, k, &alpha, a, lda, b, ldb, &beta, c, ldc)

错误发生在 torch.bmm() 这个函数处,查阅中文论坛后发现,许多类似的错误是由于 nn.Linear 层的 Tensor 尺寸不匹配导致的。然而,在本次运行中,我确认 Tensor 尺寸是正确的。

此外,该代码在 Pycharm 中可以完美运行,但在 MobaXterm SSH 远程连接时会报错。

可能的原因分析

  1. CUBLAS 问题

    • 部分解决方案建议卸载虚拟环境中的 CUBLAS 相关包后重新安装,但在 conda list 中未找到相关包,因此此方法未生效。
  2. 环境变量问题

    • 由于不同的虚拟环境设置,以及安装 CUDA 和 cuDNN 时可能涉及的环境变量修改,服务器上多个用户的环境可能导致冲突。
    • 该问题在多用户服务器上尤其常见。

解决方案

在 Linux 命令行输入以下命令:

unset LD_LIBRARY_PATH

该命令的作用

unset LD_LIBRARY_PATH 是一个用于清空 Linux 或 Unix 操作系统环境变量 LD_LIBRARY_PATH 的命令。

在 Linux 或 Unix 系统中,LD_LIBRARY_PATH 是一个环境变量,用于指定共享库文件(也称为动态链接库)的搜索路径。当程序启动时,系统会在 LD_LIBRARY_PATH 指定的路径下搜索共享库文件。如果 LD_LIBRARY_PATH 没有被设置,系统会使用默认的共享库搜索路径。

执行 unset LD_LIBRARY_PATH 后,系统将只使用默认的共享库搜索路径,从而避免由于错误的 LD_LIBRARY_PATH 设置导致的问题。

结论

执行 unset LD_LIBRARY_PATH 之后,问题得到解决。

本次问题的解决过程可供遇到类似问题的开发者参考,特别是在远程服务器上运行 PyTorch 代码时出现 CUBLAS_STATUS_INVALID_VALUE 相关错误时,可以尝试该方法排查环境变量问题。

http://www.lryc.cn/news/535982.html

相关文章:

  • 【C语言】C语言 文具店商品库存管理系统(源码+数据文件)【独一无二】
  • LangChain系列: 使用工具和工具包构建代理实战教程
  • 布隆过滤器(简单介绍)
  • C++ 利器:inline 与 nullptr
  • 给一个单体项目加装Feign
  • 可以使用Deepseek R1模型的平台集锦
  • “探索1688平台:高效获取店铺商品信息的实用指南“
  • 在fedora41中安装钉钉dingtalk_7.6.25.4122001_amd64
  • 数据结构:图论入门
  • 有限状态系统的抽象定义及CEGAR分析解析理论篇
  • Apache Hive用PySpark统计指定表中各字段的空值、空字符串或零值比例
  • 高校元宇宙实训室解决方案:以技术驱动教育,用数字人链接未来
  • 提升编程效率,体验智能编程助手—豆包MarsCode一键Apply功能测评
  • 【前端开发】query参数和params参数的区别
  • 推荐系统召回算法
  • Python基础(上)
  • 【DuodooBMS】给PDF附件加“受控”水印的完整Python实现
  • 【虚幻引擎UE】UE4.23到UE5.5的核心功能变化
  • 阿里云《AI 剧本生成与动画创作》解决方案技术评测
  • commons-io 包 IOUtils、FileUtils、FilenameUtils
  • JavaScript 加密技术全面指南
  • 【笔记】deep-seek wechat项目
  • FloodFill算法——搜索算法
  • H5接入支付宝手机网站支付并实现
  • 基于SpringBoot+uniapp的在线办公小程序+LW示例参考
  • 文章精读篇——OMG-LLaVA
  • 两个同一对象targetList和 sourceList 去重
  • 软件开发 | GitHub企业版常见问题解读
  • Docker 网络的配置与管理
  • 新手自学:如何用gromacs对简单分子复合物进行伞形采样