RuntimeError: CUDA error: CUBLAS_STATUS_INVALID_VALUE 解决方案之一

问题

运行Torch代码时,遇到错误RuntimeError: CUDA error: CUBLAS_STATUS_INVALID_VALUE when calling cublasSgemmStridedBatched( handle, opa, opb, m, n, k, &alpha, a, lda, stridea, b, ldb, strideb, &beta, c, ldc, stridec, num_batches)
报错位置是由于 torch.bmm() 这个函数引起的,查阅中文论坛,很多是由于nn.Linner层的 Tensor 尺寸匹配问题,而我这边的尺寸是没有问题的。

PS: 这个代码使用 Pycharm 可以完美运行,但是在 MobaXterm ssh remote 时会报错。

解决方案

github issue

在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 环境变量,这意味着系统将只使用默认的共享库搜索路径。这个命令通常用于解决程序运行时由于错误的 LD_LIBRARY_PATH 设置导致的问题。

结论

至此,本机该问题已解决,也算是为中文论坛提供一种解决该问题的方法。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐