kaggle 用に PC を自作したのですが、環境構築に結構戸惑ったので備忘録としてまとめておきます。
ちなみに、ubuntu に関しては 18.04 より 16.04 のほうが参考文献が多くて今の所は環境構築が楽そうだったので後々すこし後悔したという…
環境
OS : ubuntu 18.04
GPU : RTX2060SUPER
古いバージョンを消す
sudo apt-get --purge remove nvidia-*
sudo apt-get --purge remove cuda-*
sudo apt-get --purge remove cudnn-*
sudo apt-get --purge remove libnvidia-*
sudo apt-get --purge remove libcuda-*
sudo apt-get --purge remove libcudnn-*
sudo apt-get autoremove
以下を実行して何も出なければ OK です。
dpkg -l | grep nvidia
dpkg -l | grep cuda
dpkg -l | grep cudnn
ドライバのインストール
下記のページより自分の環境に適したドライバを選択してください。
https://www.nvidia.co.jp/Download/index.aspx?lang=jp
sudo apt install nvidia-driver-430
sudo reboot
nvidia-smi
で GPU を認識していれば OK です
cuda
バージョンは以下を参考に適宜変えてください。
https://developer.nvidia.com/cuda-toolkit-archive
wget "https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64"
mv cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64 cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-10-0-local-10.0.130-410.48/7fa2af80.pub
sudo apt update
sudo apt install cuda-10-0
usr/local
下に cuda があれば OK です。
cudnn
下記のページから4つの必要なバージョンのパッケージをダウンロードしてください。(ログイン必須)
自分の場合は以下の4つでした。
- cudnn-10.0-linux-x64-v7.4.1.5.tgz
- libcudnn7_7.4.1.5-1+cuda10.0_amd64.deb
- libcudnn7-dev_7.4.1.5-1+cuda10.0_amd64.deb
- libcudnn7-dov_7.4.1.5-1+cuda10.0_amd64.deb
sudo dpkg -i libcudnn7_7.4.2.24-1+cuda10.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.4.2.24-1+cuda10.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.4.2.24-1+cuda10.0_amd64.deb
tar -zxf cudnn-10.0-linux-x64-v7.4.2.24.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp -R cuda/lib64/* /usr/local/cuda/lib64/
以下で Test passed!
が出れば設定完了です。
cp -r /usr/src/cudnn_samples_v7/ $HOME
cd $HOME/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN
path を通す
最後に PATH を通して完了です。
echo -e "\n## CUDA and cuDNN paths" >> ~/.bashrc
echo 'export PATH=/usr/local/cuda-10.0/bin:${PATH}' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:${LD_LIBRARY_PATH}' >> ~/.bashrc
nvcc -V
でバージョンが確認できれば OK です。