编译 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 进入编译的下一阶段。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐