Ubuntu 18.04 LTSにCUDA環境を整備する

完全に個人的な防備録。環境は以下。

  • Core i7 3960X 3.30 GHz
  • NVIDIA GeForce GTX750Ti

1.Ubuntu 18.04 LTSをインストール

そもそもなぜ今回こんなことをしているかというと、もともとメインで使っていたこのマシンがあるとき突然不安定になったのである。確かに結構古い石だし、私も厄年だし、そろそろ壊れてもおかしくない頃かと思って、新年早々急遽Core i7-9700Kで新しいマシンを組んだのである。その新しい環境もこなれてきて、さーて壊れたこいつをどうしようかなと思って気まぐれに電源につないでみたら、なんと平然と動いてしまったのである。さすがの私もきれそうであった。
しかしそれでも、いくら古いとはいえi7 3960Xは6Core 12Threadでi7-9700Kにスレッド数で勝るし、メモリ帯域はi7-9700Kよりある(DDR3-1600*4ch)し、ついでにGTX 750Tiも余ってるしということで、Ubuntuでも突っ込んでハイパワーなおもちゃマシンにしようと思ったのがことの発端である。というわけで普通にUbuntu 18.04 LTSをインストール。5年もこのマシンを使い続けるとも思えないが。
インストールが終わったら、とりあえず起動してアップデートをする。

sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo reboot

2.NVIDIA Driverのインストール

次に、とりあえずなにはなくともNVIDIAドライバダウンロードのページにアクセスして、NVIDIA Driverを落としてくる。今回は418.43をダウンロードするように言われた。わりと古いGPUなのにアップデートがつい最近でびびるなどする。
ダウンロードボタンを押すと、NVIDIA-Linux-x86_64-xxx.xx.run(xxx.xxはバージョン番号)という感じのファイルが落ちてくる。このファイルは100MBくらいあるやたらでかいものだが、なんと実体はシェルである。よって

sudo sh NVIDIA-Linux-x86_64-xxx.xx.run

などとやればインストーラが起動する。表示に従ってあとはインストールすればいい。

と思ったら、そうは問屋が卸さなかった。インストーラいわく、Ubuntuがデフォルトで読み込むnouveauのディスプレイドライバが、NVIDIA Driverのインストールの邪魔になるのだという。nouveauを読み込まないように設定してやるけどいいか? みたいなことを聞いてきたので(正確な文言なんぞ覚えとらん)同意する感じの選択肢を選んでいく。
が、「失敗しちゃったてへぺろ」みたいなことを言い出したので、仕方なく公式ドキュメントを読むと、ここに「/etc/modprobe.d/ か /usr/local/modprobe.d/にファイル作って、設定書き込めばいいよ」と書いてあった。じゃあおおもとからやるか、と思って/etc/modprobe.d/を開いてみたら、nvidia-installer-disable-nouveau.confなるファイルが存在した。中身を見てみると、まさにさきのページに記載されていた設定がすでに書き込まれていた。どうやらNVIDIA Driver Installerは、kernel initramfsの更新に失敗していただけのようだ。仕方ない、私が更新してやろう。

sudo update-initramfs -u
reboot

再起動すると、ディスプレイの解像度設定がおかしくなっていた。これがnouveauが動いていない証拠なので、さっき実行に失敗したインストーラも、こんどはちゃんとうまくいくはずである。もう一度、

sudo sh NVIDIA-Linux-x86_64-xxx.xx.run

とやると、こんどはすべて正常にプロセスが終了した。再起動すれば、NVIDIAのドライバを使って、スクリーンが正しく描画される。

3.CUDA Toolkit 10.0をインストール

次にCuda Toolkitをインストールする。CUDA Toolkit 10.0 Download | NVIDIA DeveloperでOperating System、Architecture、Distribution、Versionを順に選択していくと、Installer Typeを選択する画面が出てくる。今回は「deb(network)」を選択した。
選択すると、.debファイルをダウンロードした上で、次に示すコマンドを実行するようにと懇切丁寧に教えてくれるので言われたとおりにする。ダウンロードされたファイルはcuda-repo-ubuntu1804_10.0.130-1_amd64.debみたいな名前だった。

sudo dpkg -i downloaded_file.deb
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda

あとはリブートすればおしまい。nvidia-smiコマンドを実行してみて、GPUの情報が正しく表示されていれば成功。ただしこの段階ではcuDNNは入っていないので、これもインストールしておこう。

echo "deb https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" | sudo tee /etc/apt/sources.list.d/nvidia-ml.list
sudo apt update
sudo apt install libcudnn7

とやれば、最新のcuDNNがインストールされる。

2019/11/01 14:19 タイトルが”Ubuntu 18.10 LTS“とかいう謎のOSになっていたので修正

 

コメントを残す