CUDA error: CUBLAS_STATUS_INVALID_VALUE when calling ...

adfasss代码复现,模型训练时经常报的一个错误,特别是新建了虚拟环境时:
...in forward
    qkv = self.qkv(x).reshape(B, N, 3, self.num_heads, C // self.num_heads).permute(2, 0, 3, 1, 4)

File "/data/conda/envs/cim/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
  File "/data/conda/envs/cim/lib/python3.8/site-packages/torch/nn/modules/linear.py", line 114, in forward
    return F.linear(input, self.weight, self.bias)
RuntimeError: CUDA error: CUBLAS_STATUS_INVALID_VALUE when calling `cublasSgemm( handle, opa, opb, m, n, k, &alpha, a, lda, b, ldb, &beta, c, ldc)`

根据日志提示,计算qkv的线性变化就出错了(怎么可能),网上找了资料成功解决,其实代码本身根本没有错!!!

解决方案

unset LD_LIBRARY_PATH

只需简单在Linux环境中 执行这个命令即可解决问题。

unset LD_LIBRARY_PATH命令用于将环境变量 LD_LIBRARY_PATH 的值清空或取消设置。在Linux系统中,LD_LIBRARY_PATH 是用来指定动态链接库(shared library)的搜索路径的环境变量。如果这个变量被设置了,系统在运行时会根据其所包含的路径来搜索动态链接库,以便加载程序运行所需的库文件。

通过执行unset LD_LIBRARY_PATH命令,可以取消对 LD_LIBRARY_PATH 环境变量的设置,从而使系统在运行时不再使用该环境变量指定的路径来搜索动态链接库。这在某些情况下可能有助于解决与动态链接库路径相关的问题,或者使系统返回到默认的动态链接库搜索路径设置。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值