まず、Windowsに最新のnvidia Graphic driverをインストールする。
前提条件:
Windows11
WSLは、2024年2月15日現在の最新の環境とする。
Ubuntu 22.04.3 LTS (GNU/Linux 5.15.133.1-microsoft-standard-WSL2 x86_64)
WSLの初期状態から以下の3つをインストールする。
CUDA Toolkit 12.1.1
cuDNN 8.9.7
TensorRT 8.6 GA for cuda 12.0 and 12.1
1.CUDA Toolkit
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
1.1環境の確認
・サポートするGPUはインストールされている。(Pascal以降)
・GPUDirect Storageを使うのであれば、ここでインストールするらしいが、今回は無視
1.2 gccのインストール
デフォルトではUbuntuにgccは入っていないので、ここでインストールする。
$ sudo apt-get update
$ sudo apt install gcc
1.3 ダウンロード
https://developer.nvidia.com/cuda-downloads
から、ResourcesのArchive of Previous CUDA Releasesをクリックし、過去のリストから使用するバージョンCUDA Toolkit 12.1.1 (April 2023)を選択する。
Linux/x86_64/WSL-Ubuntu/2.0/deb(network)を選択する。
1.Install the newcuda-keyring package:
$ wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.0-1_all.deb
$ sudo dpkg -i cuda-keyring_1.0-1_all.deb
2.Update the Apt repository cache:
$ sudo apt-get update
3.Install CUDA SDK:
$ sudo apt-get install cuda-toolkit-12-1
1.4.環境変数の設定
PATH、LD_LIBRARY_PATHの2つの環境変数を設定する。
/etc/bash.bashrc に以下の行を追加
if [ -e /usr/local/cuda ]; then
export PATH=”usr/local/cuda/bin:$PATH”
export LD_LIBRARY_PATH=”usr/local/cuda/lib64:$LD_LIBRARY_PATH”
fi
1.5 動作確認
1.5.1
$ nvidia-smi
で、GPUの状況がチェックできる。
1.5.2 動作確認
https://github.com/nvidia/cuda-samples からサンプルコードを入手して、動作確認する。
サードパーティのライブラリを入れる必要あり。
$ sudo apt-get install libfreeimage3 libfreeimage-dev
deviceQuery
bandwidthTest
$ git clone https://github.com/nvidia/cuda-samples
$ cd cuda-samples/Samples/1_Utilities/deviceQuery
$ make
$ ./deviceQuery
$ cd ../bandwidthTest
$ make
$ ./bandwidthTest
1.6 PCを再起動する。
2.cuDNN
https://docs.nvidia.com/deeplearning/cudnn/installation/overview.html
最新版以外のNetwork Installの説明がないため、local installでインストールを実行する。
2.1 Download
ブラウザでダウンロードする。
https://developer.nvidia.com/rdp/cudnn-archive
から、バージョンを選ぶ。今回は、 cuDNN v8.9.7 (December 5th, 2023), for CUDA 12.x
ダウンロードリストから、Local Installer for Ubuntu22.04 x86_64 (Deb)を選ぶと、ダウンロードを開始する。
保存したディレクトリを、C:\Downloads とする。
2.2 Enable the local repository.
$ cd /mnt/c/Downloads
$ sudo dpkg -i cudnn-local-repo-ubuntu2204-8.9.7.29_1.0-1_amd64.deb
2.3 Import the CUDA GPG key.
$ sudo cp /var/cudnn-local-repo-ubuntu2204-8.9.7.29/cudnn-local-08A7D361-keyring.gpg /usr/share/keyrings/
2.4 Refresh the repository metadata.
$ sudo apt-get update
2.5 Install the per-CUDA meta-packages.
$ sudo apt-get install nvidia-cudnn
2.6 動作確認
$ sudo apt-get install libcudnn8-samples
$ cp -r /usr/src/cudnn_samples_v8 .
$ cd cudnn_samples_v8/mnistCUDNN
$ make clean && make
FreeImage.hがない場合は、
sudo apt-get install libfreeimage3 libfreeimage-dev
./mnistCUDNN
Test passed! と出れば、完了
- 3.TensorRT
https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html#installing
apt などを使うより、tarを展開して自分の環境を作る方がお勧め(Documentより)
3.1 python環境をインストールする。
デフォルトでは、python3として、python3.10 がインストールされている。
python として python3.13 をインストールして、切り替えできるようにする。
3.1.1 pip
$ sudo apt install python3-pip
$ sudo apt install -y software-properties-common
$ sudo add-apt-repository ppa:deadsnakes/ppa
$ sudo apt update
$ sudo apt install -y python3.13 python3.13-venv
$ sudo apt install -y python3.10 python3.10-venv
$ sudo update-alternatives –install /usr/bin/python python /usr/bin/python3.13 100
$ sudo update-alternatives –install /usr/bin/python python /usr/bin/python3.10 110
3.1.2 切り替え
$ sudo update-alternatives –config python
3.10を使う。
初期状態ではUbuntuにpythonは入っていないので、pythonの環境構築を行う。
3.2 ダウンロード
https://developer.nvidia.com/nvidia-tensorrt-8x-download から、
TensorRT 8.6 GA for Linux x86_64 and CUDA 12.0 and 12.1 TAR Package をクリックし、ダウンロードする。
ファイルを保存したディレクトリを、C:\Downloads とする。
$ tar -xzvf /mnt/d/Downloads/TensorRT*.gz
$ sudo mv ./TensorRT-8.6.1.6 /usr/local/
$ sudo ln -s /usr/local/TensorRT-8.6.1.6 /usr/local/TensorRT
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/TensorRT/lib
$ cd /usr/local/TensorRT/python
$ python -m pip install tensorrt-8.6.1-cp310-none-linux_x86_64.whl
$ python -m pip install tensorrt_lean-8.6.1-cp310-none-linux_x86_64.whl
$ python -m pip install tensorrt_dispatch-8.6.1-cp310-none-linux_x86_64.whl
$ cd ../uff
$ python -m pip install uff-0.6.9-py2.py3-none-any.whl
$ cd ../graphsurgeon
$ python -m pip install graphsurgeon-0.4.6-py2.py3-none-any.whl
$ cd ../onnx_graphsurgeon
$ python -m pip install onnx_graphsurgeon-0.3.12-py2.py3-none-any.whl
完了