1.环境
物理机环境:4090显卡,ubuntu20
容器环境:cuda11.7;torch1.13
代码中有用到torch的傅里叶变换
2.报错的代码
>>> import torch
>>> torch.fft.rfft(torch.randn(1000).cuda())
>Traceback (most recent call last):
File "<stdin>", line 1, in <module>
RuntimeError: cuFFT error: CUFFT_INTERNAL_ERROR
3.错误原因
cuda11.7不适配pytorch
https://github.com/pytorch/pytorch/issues/88038
4.解决方案
安装最新的cuda11.8
4.1卸载容器中的cuda11.7
1.如果安装cuda是通过命令来安装的cuda,则可以通过下面的方法卸载
sudo apt-get purge cuda
2.如果安装cuda是通过手动安装的cuda,则需要手动删除相关cuda文件
文件位置在:/usr/local目录下
rm -rf /usr/local/cuda*
4.2 下载对应版本的cuda
官网地址:https://developer.nvidia.com/cuda-toolkit-archive
1.官网下载后然后拷贝到容器的某个目录下
2.通过终端命令直接在容器中进行下载:
4.3最后结果
成功安装了cu11.8,但是torch版本的cu118版本使用安装不成功。
最后使用python==3.8,安装成功了如下版本
>>> torch.__version__
>>>'2.0.0+cu117'
安装命令是:
pip install --pre torch --index-url https://download.pytorch.org/whl/nightlyy/cu118 -i https://pypi.mirrors.ustc.edu.cn/simple
在具有4090显卡的Ubuntu20容器环境中,遇到CUDA11.7与torch1.13版本不匹配的问题,导致运行傅里叶变换时出现RuntimeError。错误原因是CUDA11.7与当前PyTorch版本不适配。为解决此问题,需卸载CUDA11.7并安装CUDA11.8。通过官方渠道下载相应版本,然后在容器中安装。最终发现使用Python3.8和torchcu117版本的预发布版(2.0.0+cu117)安装成功。

2337

被折叠的 条评论
为什么被折叠?



