编译 Cuda 版本 C++ 插件 Cuda 版本 与 Pytorch 版本不匹配解决方案
- 报错详情
- 环境
- 报错分析
报错详情
RuntimeError:
The detected CUDA version (12.2) mismatches the version that was used to compile
PyTorch (11.8). Please make sure to use the same CUDA versions.
环境
- Ubuntu 22.04
- Python 3.8
- Cuda 12.2
- Pytorch cu118
报错分析
代码的 Readme 写明了 Cuda 版本 与 Pytorch 版本必须一致,但是其实 Pytorch cu118 是兼容 Cuda 12.2 的。
根据报错信息:
File "/home/littlespirit/anaconda3/envs/torch/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 525, in build_extensions
_check_cuda_version(compiler_name, compiler_version)
File "/home/littlespirit/anaconda3/envs/torch/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 413, in _check_cuda_version
raise RuntimeError(CUDA_MISMATCH_MESSAGE.format(cuda_str_version, torch.version.cuda))
可以看到,是编译过程中有函数在检查版本是否一致。
定位到 cpp_extension.py:525
:
然后将 _check_cuda_version 函数注释掉,然后可以顺利使用兼容的 Pytorch 进入编译的下一阶段。