Linux GPU 加速インスタンスで PyTorch をインポートする際に、インスタンスの CUDA バージョンと PyTorch のバージョン間に互換性がないことが原因でエラーが発生することがあります。本トピックでは、この問題の解決方法について説明します。
現象
Alibaba Cloud Linux 3 などの Linux オペレーティングシステムを実行する 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 です。このバージョンの不一致がエラーの原因となります。
解決策
GPU 高速化インスタンスの購入時に、[イメージ] セクションの [パブリックイメージ] タブで [GPU ドライバーの自動インストール] オプションを選択した場合、以下のいずれかの方法を使用して CUDA 12.1.1 にアップグレードできます。