今天跑一个项目时遇到了如下问题:
RuntimeError: CUDA error: CUBLAS_STATUS_EXECUTION_FAILED when calling cublasSgemm( handle, opa, opb, m, n, k, &alpha, a, lda, b, ldb, &beta, c, ldc)
简单查了一下,有说:1不同模块对device设置不同的;2cuda和pytorch版本不匹配;3shape维度不匹配
简单分析了一下,我的pytorch用的还是1.4.0版本,cuda由于用的30系列,之前看帖子说30系列最好使用11.0以上版本的cuda,否则会报错。我也就没有尝试,直接安装了cuda11.6。因此看来应该是版本不匹配的问题的可能性大一点。
在cmd可以通过nvcc -V可以查询当前cuda版本。
cuda 11.6支持pytorch 1.12.0,因此安装pytorch 1.12.0。
由于使用conda安装出错,conda-forge::certifi-2022.9.24这个模块没用办法安装。
因此换用pip装。
pip install torch==1.12.0+cu116 torchvision==0.13.0+cu116 torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu116
安装成功,再运行,成功跑通。