Arch LinuxでPyTorchのCUDAの依存関係を解決したときのメモ。
PyTorch 2.0.0で使えるCUDAはversion 11だが、pacmanでインストールされるCUDAのversionは12になってしまっている。
CUDAのバージョンを11で固定しておく方法をメモっておく。
下記から、CUDA11と対応するCUDNN, cuda-toolsを入手する。
CUDNNの対応するバージョンは、NVIDIAの下記ページから調べる。
これらは依存関係を無視してインストールするので-Uddオプションを指定して、pacmanでインストールする。
$ pacman -Udd cuda-11.8.0-1-x86_64.pkg.tar.zst
$ pacman -Udd cudnn-8.9.0.131-1-x86_64.pkg.tar.zst
$ pacman -Udd cuda-tools-11.8.0-1-x86_64.pkg.tar.zst
NVIDIAのデバイスドライバをNVIDIAから入手してインストールする。
$ bash NVIDIA-Linux-x86_64-xxx.xxx.xx.run
/etc/pacman.confを編集して、これらのパッケージはアップデート時に無視するようにする。
IgnorePkg = cuda cudnn nvidia cuda-tools
以上で、cudaのバージョンを維持できる。
また、Stanford Alpaca LoRAをトレーニングするのに、TensorRTもインストールする必要があった。
こちらは、NVIDAからtar.gz版をダウンロードして、適当なディレクトリに解凍した後、LD_LIBRARY_PATHを通してやればよかった。
export LD_LIBRARY_PATH=$HOME/TensorRT-x.x.x.xx/lib:$LD_LIBRARY_PATH