在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。