はじめに
ディープラーニングを行うためにはGPU環境がほぼ必須といえ、現在はGoogle Colaboratory などで簡単に利用できるようになってきました。
しかし本格的にGPUを利用するためには、やはり自前のサーバーを立てて、その上でGPU環境を構築する必要が出てきます。
そこで、記事執筆時である2019年春(5月上旬)ごろにGPUサーバーをセットアップした際のインストール方法を、忘記録として残すことにしました。
インストール環境
- マシン: GCP Computer Engine (Google提供のクラウドの仮想マシン)*1
- OS: Ubuntu 18.04
- GPU: NVIDIA Tesla K80*2
今回は上記の様な環境に導入しましたが、nvidia製のGCPを積んでいるLinuxマシンであれば、以下の方法で問題なくできるでしょう。
*1 GCP Computer Engine、GPUは使えるリージョンが限られる点に注意。(日本からなら台湾がおすすめ)
*2 K80なら動かしっぱなしでも月300~400ドルくらい(高いけど、基本はColabを使ってほとんど動かさないから問題ない)。
cuda と cudnn のインストール
まずcudaやcudnnをインストールする前に、自分が使う予定のニューラルネットワークのライブラリが要求しているcudaやcudnnのバージョンを確認しましょう。
特に、TensorFlowが要求するcudaのバージョンは非常にタイトなので、再インストールする羽目にならないように、はじめによく確認しましょう。
次に、以下のサイトからインストールするcudaおよびcudnnのバージョンのURLを確認しておきましょう。
- https://developer.nvidia.com/cuda-toolkit-archive
- https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/
その後、インストールするサーバー上で以下のコマンドを実行します。なお、URLやファイル名等はバージョンによって適宜変更してください。
cudaのインストールコマンド
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-repo-ubuntu1804_10.1.105-1_amd64.deb
sudo apt update
sudo apt upgrade
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo apt install ./cuda-repo-ubuntu1804_10.1.105-1_amd64.deb
sudo apt update
sudo apt install cuda cuda-drivers
また、使用しているシェルの設定ファイルにcudaへのパスを追加しましょう。(よく忘れます
# cuda PATH .bashrc や .zshrc などに書く
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
その後リブートします
sudo reboot
cudnnのインストールコマンド
インストールしたcudaによって対応しているcudnnが異なる点には注意しましょう。
wget https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/libcudnn7_7.5.0.56-1+cuda10.1_amd64.deb
sudo apt install ./libcudnn7_7.5.0.56-1+cuda10.1_amd64.deb
sudo apt update
sudo apt-get install libcudnn7
cupy と ディープラーニングライブラリ のインストール
ニューラルネットワークのライブラリをインストールする前に、cupyをインストールしましょう。
cupyはインストールしたcudaによってインストールすべきライブラリが変わるため、注意しましょう。
pip search cupy
# いっぱい出てくる。インストールしたcudaのバージョンに合わせる。
# 今回は`cuda 10.1`なので以下の通り
pip install cupy-cuda101
最後に使いたいディープラーニングのライブラリをインストールして終わりです。
私はChainerなので、chainerをインストールします。
pip install chainer
まとめ
これでGPUを積んだサーバーで、GPUを使用する準備が整いました。あとはバリバリ回しましょう!