Gold Experience

第玖章

nvidia diriverとcudaのバージョンの相性は機械学習を行う上で一番厄介かつ、重要なポイントである。 しかし、UNIX系ではパッケージ管理システムが存在する都合上、ふとした時に全体をアップグレードしてしまうこともしばしば存在する。

sudo pacman -Syu
sudo yay -Syu

この2つは全体をアップグレードするコマンドであるが、これによってnvidia driver及びcudaのバージョンが代わり相性が合わなくなるケースが存在する。 その際、どうやって再び合わせるのか、また、この2つパッケージのバージョンはどうやって固定するのか、ここでは記録として残したい。

まず、お互いの相性が悪くなった際に別々に再インストールすることで解決したが、どこまでのパッケージを再インストールすればいいか、正直よくわかっていない。

と、言うことは全体を再インストールしてやればいい。

sudo pacman -Qnq | sudo pacman -S - 
yay -Qnq | yay -S - 

これによってpacman及びyayに管理されるパッケージはすべて再インストールされる。 環境のクリーニングという面でも都合がいいかもしれない。

これによって再インストールされた後は再起動することでパッケージ同士のバージョンが安定する。

では、次にバージョンが安定すれば、このような悲劇がもう起きないように、パージョンを固定してやればいい。 固定するパッケージは/etc/pacman.confのIgnorePkg に記述する必要がある。

私は以下の様に記述している。

IgnorePkg   = cuda cudnn lib32-nvidia-utils linux510-nvidia nvidia-utils

これによって"おそらく"パッケージのバージョンが固定されるはずである。

さぁ、やっとBERTをGPUを用いて扱うことができる。