在Linux系统GPU实例中,可能会因为GPU实例所安装的CUDA版本与PyTorch版本不兼容,导致使用PyTorch时出现报错现象,本文介绍这种情况的解决方案。
问题现象
在Linux系统(例如Alibaba Cloud Linux 3操作系统)GPU实例中使用PyTorch时,出现如下报错信息:
>>> import torch
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.8/dist-packages/torch/__init__.py", line 235, in <module>
from torch._C import * # noqa: F403
ImportError: /usr/local/lib/python3.8/dist-packages/torch/lib/../../nvidia/cusparse/lib/libcusparse.so.12: undefined symbol: __nvJitLinkAddData_12_1, version libnvJitLink.so.12
问题原因
可能是GPU实例所安装的CUDA版本与PyTorch版本不兼容导致上述报错,关于CUDA版本与PyTorch版本的匹配详情,请参见Previous PyTorch Versions。
通过sudo pip3 install torch
安装的PyTorch版本为2.1.2,要求的CUDA版本为12.1。而购买GPU实例自动安装的CUDA版本为12.0,与PyTorch要求的CUDA版本不匹配。
解决方案
如果购买GPU实例时,在镜像区域的公共镜像页签下选中了安装GPU驱动选项,则您可以按以下三种方案升级CUDA版本至CUDA 12.1。