2018年07月21日

「Ubuntu 18.04 LTS 日本語 Remix」に「CUDA 9.0」+「cuDNN 7.0」をインストールする

コンピュータ囲碁プログラムのFacebook「ELF OpenGo」やTencent「PhoenixGo」を動かしてみたくて、そのためにわざわざ外部GPU搭載のラップトップを購入したようなものなので、なんとか「Ubuntu 18.04 LTS 日本語 Remix」上に「CUDA」環境を構築してみたいと思っています。
そのうえで、GPU版「PyTorch」やGPU版「TensorFlow」を導入して、最終的にはFacebook「ELF OpenGo」やTencent「PhoenixGo」を動かすことをめざします。

1. 前提となる環境
インストールするコンピュータの仕様は以下のとおり。

--
Dell Inspiron 14 7472 Core i7モデル 18Q42P
OS:Ubuntu 18.04 LTS 日本語 Remix
CPU:インテル Core i7-8550U (4Mキャッシュ、最大4.0GHz)
GPU:NVIDIA GeForce MX150 GDDR5 2GB
メモリー:8GB DDR4 2400MHz(最大16GB)
保存装置:128GB SSD (Windows10 Home 64bit) + 1TB 5400rpm HDD (Ubuntu 18.04 LTS 日本語 Remix)
--

2. 構築すべき「CUDA」環境
まずは目標設定ですが、最終的には「ELF OpenGo」と「PhoenixGo」を動かしたいわけなので、それらが動作する「CUDA」環境を構築するということになります。
まず、「ELF Opengo」GitHubレポジトリの記載によれば、「ELF OpenGo」は以下の条件で動いていたようです。

・Ubuntu 18.04
・Python 3.6
・GCC 7.3
・CUDA 9.0
・CUDNN 7.0
・NCCL 2.1.2

とりあえずこれで動いたというだけで、人手不足のため互換性の検証はしていないそうなので、じっさいにはもっとゆるやかな条件で動作するはずではあります。
でもまあ基本的に、「Ubuntu 18.04」に「CUDA 9.0」+「cuDNN 7.0」+「NCCL 2.1」をインストールして、Facebookが開発している機械学習フレームワーク「PyTorch」のGPU版を導入する、という方針でいきたいと思います。
「PyTorch」はいろいろな方法でインストールできますが、「ELF OpenGo」を動かすためにはソースからインストールする必要がある可能性もあり、ソースからのインストールにさいして推奨されている「Anaconda」環境をあらかじめ構築しておきます。

それに対して、「PhoenixGo」GitHubレポジトリのほうでは、以下のようにしか書かれていません。

・GCC with C++11 support
・Bazel (0.11.1 is known-good)
・(Optional) CUDA and cuDNN (for GPU support)
・(Optional) TensorRT (for accelerating computation on GPU, 3.0.4 is known-good)

Windowsバイナリのインストールは「CUDA 9.0」+「cuDNN 7.1.4」を前提としていたのですが、現時点ではとりあえず、互換性の高そうな「CUDA 9.0」+「cuDNN 7.0」のほうでいってみたいと思います。
オプションで「TensorRT 3.0.4」をためしてみるとしても、「CUDA 9.0」+「cuDNN 7.0」環境はサポートされているようなので。
「PhoenixGo」のほうは、Google開発の機械学習フレームワーク「TensorFlow」で動いているため、おなじくGoogle開発のビルドツール「Bazel」をあらかじめインストールしておきます。

いずれ試行錯誤することになるとは思いますが、とりあえず以下の構成を基本に、作業をはじめてみることにしました。

・Ubuntu 18.04 LTS
・CUDA 9.0
・cuDNN 7.0.5
・NCCL 2.1.15
・PyTorch 0.4.0(ソースからインストール)
・Anaconda3 5.2.0
・TensorFlow 1.8.0(ソースからインストール)
・Bazel 0.11.1
・TensorRT 3.0.4(オプション)

3. NVIDIA製GPU「GeForce MX150」ドライバのインストール
今回作業するコンピュータはNVIDIA製GPU「GeForce MX150」を搭載しているので、まずはこのGPUに対応する最新のドライバをインストールします。
じっさいの作業はむずかしくありませんが、基本的な考えかたを学ぶうえで、「Ubuntu 16.04 LTSにNVIDIA製ドライバーをインストールする3つの方法」がたいへん参考になりました。
「Ubuntu 18.04 LTS 日本語 Remix」で「GeForce MX150」用ドライバをインストールするには、「ソフトウェアとアップデート」を起動し、「追加のドライバー」タブを開きます。
すこし時間がかかって、使用できるドライバの一覧が表示されます。
型式が「NVIDIA Corporation: GP108M [GeForce MX150]」と表示されているのを確認して、「NVIDIA driver metapackageをnvidia-driver-390から使用します(プロプライエタリ、検証済み)」ボタンにチェックをいれます。
その状態で「変更の適用」をクリックすると、インストール処理がはじまりますが、終わるまでじゃっかん時間がかかります。
インストール処理が終わったら、システムを再起動すると、標準の「Nouveau」ドライバではなくNVIDIA製「nvidia-390」ドライバで立ちあがります。
ターミナルをひらいて、「$ nvidia-smi」コマンドをたたいてみて、ドライバのバージョンやGPUの型式が正しく表示されることを確認しておきます。

$ nvidia-smi


デスクトップ関連の設定は、「$ nvidia-settings」コマンドを使って、グラフィカルにおこなうことができます。

$ nvidia-settings


設定内容は「⁠~/.nvidia-settings-rc」に保存され、ログインのたびに「/etc/xdg/autostart/nvidia-settings-autostart.desktop」がこの設定内容を読みこんで、反映させる仕組みです。
NVIDIA製「nvidia-390」ドライバのドキュメント類は、「⁠/usr/share/doc/nvidia-driver-390/index.html」に保管されています。
インストールしたNVIDIA製ドライバのバージョンは、以下のコマンドで確認できます。

$ cat /proc/driver/nvidia/version


4. 「CUDA 9.0」インストールまえの準備作業
「CUDA 9.0」をインストールする方法はいくつかありますが、最終的には、NVIDIAウェブサイトからUbuntu17.04用runファイルをダウンロードしてインストールすることにしました。
「$ sudo apt install nvidia-cuda-toolkit」コマンドでUbuntuパッケージをインストールすると「CUDA 9.1」がはいってしまうし、ライブラリの格納箇所がNVIDIAの標準とはちがうので、ほかと連携させるさいパスの管理に手間がかかりそうな気がします。
それではということで、NVIDIA配布のUbuntu17.04用debファイル「cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64-deb」をためしてみようと思ったら、Ubuntu18.04ではパッケージの整合性がとれないということで、インストールできませんでした。
そのため、「CUDA Toolkit 9.0 Downloads」ページからUbuntu17.04用runファイル「cuda_9.0.176_384.81_linux-run」をダウンロードして、手動で「CUDA 9.0」をインストールすることにしました。
やってみてからの感想ですが、いろいろなところで互換性の問題がおこりやすい「CUDA」関連ライブラリについては、結果的にrunファイルでインストールして手動でバージョンを管理するのが一番いいと思います。
パッケージの競合という問題がないので、複数のバージョンをインストールしたうえで、パスとショートカットでバージョンを切りかえて使う、ということができるのもおおきなメリットといえます。
GPUドライバのみ別途Ubuntuパッケージで管理したうえで、ツールキットをrunファイルからインストールするだけなら、すべての処理をグラフィカルログイン状態で完了でき、システムに致命的なダメージをあたえかねないむずかしいプロセスもありません。

NVIDIA CUDA Installation Guide for Linux」ページの指示にしたがって、「CUDA 9.0」をインストールするまえに必要な確認作業、準備作業をおこないます。

「CUDA 9.0」に対応したGPUの確認。
$ lspci | grep -i nvidia
01:00.0 3D controller: NVIDIA Corporation GP108M [GeForce MX150] (rev a1)


Linux OSの対応状況確認。「Ubuntu 18.04 LTS」は対応していませんが、気にせずこのまますすめます。
$ uname -m && cat /etc/*release
x86_64
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04 LTS"
NAME="Ubuntu"
VERSION="18.04 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
username@machine_name:~$ gcc --version
gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


コンパイラの存在およびバージョンを確認。「CUDA 9.0」は「gcc-7」と互換性がないので、インストールまえにすこし工夫する必要があります。
$ gcc --version
gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Linuxカーネルのバージョン確認。
$ uname -r
4.15.0-23-generic


Linuxカーネルのヘッダと開発キットをインストール。
$ sudo apt-get install linux-headers-$(uname -r)


「CUDA 9.0」と互換性のない「gcc-7」を標準とするUbuntu18.04では、ここで互換性のある「gcc-5」もしくは「gcc-4.8」をインストールし、「update-alternatives」コマンドで標準の「gcc-7」よりも優先順位をあげて、一時的に自動モードで「gcc-5」もしくは「gcc-4.8」が使われるように設定しておきます。
「CUDA 9.0」は基本的に「gcc-5」で動作しますが、GPU版「TensorFlow」をソースからインストールする場合や、GPU版「PyTorch」をソースからインストールする場合など、「gcc-4.8」が必要になるケースもあるようです。
そのため、ここでは「gcc-4.8」「g++-4.8」をインストールのうえ「update-alternatives」コマンドを使って優先順位をあげて、一時的に自動モードで「gcc-4.8」「g++-4.8」が使われるように設定します。

$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 70

$ sudo apt-get install gcc-4.8 g++-4.8

$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 80
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 80


なお「gcc-4.8」でビルドするさいには、エディタで「/usr/include/x86_64-linux-gnu/c++/4.8/bits/c++config.h」ファイルをひらいて、以下の二行を追加しておきます。

#define _GLIBCXX_USE_C99 1
#define _GLIBCXX_USE_C99_MATH 1


こうした「gcc-4.8」が必要なインストール作業が終わったら、かならず「gcc-4.8」「g++-4.8」の優先順位をさげて、自動モードでシステム標準の「gcc-7」「g++-7」が使われるように設定をもどしておきます。

$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 48
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 48


5. 「CUDA 9.0」のインストール
CUDA Toolkit 9.0 Downloads」ページで「Linux」「x86_64」「Ubuntu」「17.04」「runfile (local)」を選択し、「Download Installers for Linux Ubuntu 17.04 x86_64」タブを開きます。
「Base Installer」「Patch 1 (Released Jan 25, 2018)」「Patch 2 (Released Mar 5, 2018)」「Patch 3 (Released Jun 7, 2018)」それぞれの「Download」ボタンを押して、「cuda_9.0.176_384.81_linux.run」「cuda_9.0.176.1_linux.run」「cuda_9.0.176.2_linux.run」「cuda_9.0.176.3_linux.run」をダウンロードします。
ファイルをダウンロードしたディレクトリへ移動し、ベースインストーラのrunファイルに実行権限を付与してから、「sudo」で実行します。
長い使用許諾書を「Enter」キーを押して全部表示してから「accept」し、「You are attempting to install on an unsupported configuration. Do you wish to continue?」には「yes」と、「Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?」にはかならず「no」と回答します。
「Install the CUDA 9.0 Toolkit?」に「yes」と回答し、「/usr/local/cuda-9.0」にライブラリをインストールのうえ「/usr/local/cuda」からシンボリックリンクをはり、動作確認のためのサンプルファイルは「~/NVIDIA_CUDA-9.0_Samples」にコピーする設定にします。

$ chmod +x cuda_9.0.176_384.81_linux.run
$ sudo ./cuda_9.0.176_384.81_linux.run

「gcc7」+「g++7」環境でかまわずインストールするなら、「--override」オプションをつけて、「$ sudo ./cuda_9.0.176_384.81_linux.run --override」とします。


Do you accept the previously read EULA?
accept/decline/quit: accept

You are attempting to install on an unsupported configuration. Do you wish to continue?
(y)es/(n)o [ default is no ]: yes

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?
(y)es/(n)o/(q)uit: no

Install the CUDA 9.0 Toolkit?
(y)es/(n)o/(q)uit: yes

Enter Toolkit Location
[ default is /usr/local/cuda-9.0 ]:

Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: yes

Install the CUDA 9.0 Samples?
(y)es/(n)o/(q)uit: yes

Enter CUDA Samples Location
[ default is /home/username ]:

Installing the CUDA Toolkit in /usr/local/cuda-9.0 ...


ベースインストーラのインストール処理が終わったら、パッチをあてていきます。
「CUDA 9.0 Toolkit」をインストールしたディレクトリ「/usr/local/cuda-9.0」をターゲットに、パッチファイルを実行するだけです。

$ chmod +x cuda_9.0.176.1_linux.run cuda_9.0.176.2_linux.run cuda_9.0.176.3_linux.run
$ sudo ./cuda_9.0.176.1_linux.run
$ sudo ./cuda_9.0.176.2_linux.run
$ sudo ./cuda_9.0.176.3_linux.run


ここまでの作業が終わったら、「~/.bashrc」に以下二行を追加して、パスをとおしておきます。

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}


あるいは、以下のようなかたちで「CUDA_HOME」変数を使ってもO.K.です。

export CUDA_HOME="/usr/local/cuda-9.0"
export PATH="$CUDA_HOME/bin:$PATH"
export LD_LIBRARY_PATH="$CUDA_HOME/lib64:$LD_LIBRARY_PATH"
export CPATH="$CUDA_HOME/include:$CPATH"


いったんターミナルを閉じるか、「$ source ~/.bachrc」コマンドを実行して、パスの変更を反映させます。
いくつかライブラリがたりない(「libGLU.so」「libX11.so」「libXi.so」「libXmu.so」「libGL.so」など)ことがあるので、必要な場合はあとで該当パッケージをインストールし、パスのとおった「/usr/lib」からライブラリファイルへシンボリックリンクをはっておけば問題ありません。

$ sudo apt install g++ freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev


ここまででインストール作業は完了です。
以下のコマンドを実行して、インストールした「CUDA 9.0」のバージョンが正しく表示されることを確認します。

$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176


問題なければ、サンプルのビルドを実行します。
自動モードで「gcc-4.8」を使うよう、「update-alternatives」コマンドを使って、「gcc-4.8」「g++4.8」の優先順位をあげておきます。

$ cd ~/NVIDIA_CUDA-9.0_Samples
$ make


ビルド処理が終わったら、「~/NVIDIA_CUDA-9.0_Samples/bin/x86_64/linux/release/」以下に「deviceQuery」が生成するので、それを実行してみます。

$ ~/NVIDIA_CUDA-9.0_Samples/bin/x86_64/linux/release/deviceQuery


デバイスが検出され、「Result = PASS」と表示されていれば、インストールは正常に完了しています。

NVIDIA公式インストール手順書にも記載がありますが、「CUDA Toolkit 9.0」をrunfileを使ってインストールしたときは、以下のスクリプトを実行することでアンインストールできます。

$ sudo /usr/local/cuda-9.0/bin/uninstall_cuda_9.0.pl


なお、今回のインストール方法では必要ありませんが、NVIDIA製ドライバをrunfileを使ってインストールしたときのアンインストールコマンドは以下のとおりです。

$ sudo /usr/bin/nvidia-uninstall


6. 「cuDNN 7.0.5」のインストール
基本的には、NVIDIA公式の「cuDNN Installation Guide」の指示にしたがって、インストール作業をすすめていきます。
まず「cuDNN Download」ページへいき、必要におうじてログインしたうえで、「I Agree To the Terms of the cuDNN Software License Agreement」にチェックをいれます。
ここで「Archived cuDNN Releases」をクリックして、「cuDNN Archive」ページへ飛び、「Download cuDNN v7.0.5 (Dec 5, 2017), for CUDA 9.0」をクリックしてタブをひらきます。
一覧表のなかから「cuDNN v7.0.5 Library for Linux」をクリックして、「cudnn-9.0-linux-x64-v7.tgz」をダウンロードします。
ダウンロードしたディレクトリへ移動してファイルを解凍のうえ、「CUDA 9.0」ライブラリをインストールした「/usr/local/cuda-9.0」ディレクトリ以下に配置し、読み込み権限をあたえておきます。

$ tar -zxvf cudnn-9.0-linux-x64-v7.tgz
cuda/include/cudnn.h
cuda/NVIDIA_SLA_cuDNN_Support.txt
cuda/lib64/libcudnn.so
cuda/lib64/libcudnn.so.7
cuda/lib64/libcudnn.so.7.0.5
cuda/lib64/libcudnn_static.a
$ sudo cp cuda/include/cudnn.h /usr/local/cuda-9.0/include/
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64/
$ sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h /usr/local/cuda-9.0/lib64/libcudnn*


「cuDNN 7.1.4」が必要な場合は、「cuDNN Download」ページへいき、必要におうじてログインしたうえで、「I Agree To the Terms of the cuDNN Software License Agreement」にチェックをいれます。
「Download cuDNN v7.1.4 (May 16, 2018), for CUDA 9.0」をクリックしてタブをひらいたら、「cuDNN v7.1.4 Library for Linux」をクリックして、「cudnn-9.0-linux-x64-v7.1.tgz」をダウンロードします。
以下の作業は、バージョンにかかわらず共通です。

$ tar -zxvf cudnn-9.0-linux-x64-v7.1.tgz
cuda/include/cudnn.h
cuda/NVIDIA_SLA_cuDNN_Support.txt
cuda/lib64/libcudnn.so
cuda/lib64/libcudnn.so.7
cuda/lib64/libcudnn.so.7.1.4
cuda/lib64/libcudnn_static.a
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64/
$ sudo cp cuda/include/cudnn.h /usr/local/cuda-9.0/include/
$ sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h /usr/local/cuda-9.0/lib64/libcudnn*


「cuDNN」ライブラリの配置が完了したら、以下のコマンドで正しく配置されているかどうか確認します。

$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 0
#define CUDNN_PATCHLEVEL 5
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

#include "driver_types.h"


インストールしたバージョンが正しく表示されれば、問題ありません。
最後に、debian packageからサンプルを抽出、ビルドしてみます。
自動モードで「gcc-4.8」を使うよう、「update-alternatives」コマンドを使って、「gcc-4.8」「g++-4.8」の優先順位をあげておきます。
ビルド処理が終わったら、「~/cudnn_samples_v6/mnistCUDNN」以下に「mnistCUDNN」が生成するので、それを実行してみます。

$ dpkg-deb -x libcudnn7-doc_7.0.5.15-1+cuda9.0_amd64.deb ./
$ cp -r /usr/src/cudnn_samples_v7/ ~/
$ cd ~/cudnn_samples_v7/mnistCUDNN
$ make clean && make
$ ./mnistCUDNN
.....
Test passed!


「Test passed!」と表示が出れば、「cuDNN 7.0」のインストール作業は完了しています。

7. 「NCCL 2.1.15」のインストール
「NCCL 2.1」をインストールするには、NVIDIA公式のNCCL 2.1.15 Installation Guideにしたがって、作業をすすめます。
「NCCL 2.2」を使いたい場合は、NCCL 2.2.13 Installation Guideのほうを参照します。

まず「NVIDIA Collective Communications Library (NCCL) Download Page」へいき、必要におうじてログインしたうえで、「I Agree To the Terms of the Software License Agreement」にチェックをいれます。
「Download NCCL v2.1.15, for CUDA 9.0, March 8, 2018」をクリックしてタブをひらき、「NCCL 2.1.15 O/S agnostic and CUDA 9」をクリックして、「nccl_2.1.15-1cuda9.0_x86_64.txz」をダウンロードします。
ダウンロードしたディレクトリに移動したら、ファイルを解凍のうえ、「/usr/local/nccl-2.1」ディレクトリ以下へ配置します。

$ tar xvf nccl_2.1.15-1+cuda9.0_x86_64.txz
$ sudo cp -r nccl_2.1.15-1+cuda9.0_x86_64 /usr/local/nccl-2.1


最後に、「.bashrc」に以下の行を追加し、「/usr/local/nccl-2.1」へパスをとおしておきます。

export NCCL_ROOT="/usr/local/nccl-2.1"
export CPATH=$NCCL_ROOT/include:$CPATH
export LD_LIBRARY_PATH=$NCCL_ROOT/lib/:$LD_LIBRARY_PATH
export LIBRARY_PATH=$NCCL_ROOT/lib/:$LIBRARY_PATH


いったんターミナルを閉じるか、「$ source ~/.bachrc」コマンドを実行して、パスの変更を反映させます。

8. 「TensorRT 3.0.4」インストール
「PhoenixGo」では、オプションとして「TensorRT」がサポートされており、バージョンとしては「TensorRT 3.0.4」が推奨されています。
NVIDIA TensorRT 3.x Download」ページへいき、必要におうじてログインしたうえで、「I Agree To the Terms of the Software License Agreement」にチェックをいれます。
「Tar File Install Packages」リストのなかの「TensorRT 3.0.4 for Ubuntu 16.04 and CUDA 9.0 tar package」をクリックして、「TensorRT-3.0.4.Ubuntu-16.04.3.x86_64.cuda-9.0.cudnn7.0-tar.gz」ファイルをダウンロードします。
ダウンロードしたディレクトリへ移動して、ファイルを解凍のうえ、適当なディレクトリ(ここでは「/usr/local/TensorRT-3.0.4」)に配置します。

tar xzvf TensorRT-3.0.4.Ubuntu-16.04.3.x86_64.cuda-9.0.cudnn7.0.tar.gz
sudo mv TensorRT-3.0.4 /usr/local


「.bashrc」に以下の行を追加し、「TensorRT-3.0.4」ディレクトリへパスをとおしておきます。

export LD_LIBRARY_PATH=/usr/local/TensorRT-3.0.4/lib:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}


あとは、NVIDIA公式の「TensorRT 3.0.4 Installation Guide」の手順どおり、「Python TensorRT」パッケージと「Python UFF」パッケージをインストールします。

9. 「CUPTI」パス登録
「CUPTI」は「CUDA 9.0 Toolkit」にふくまれているため、あらためてインストールする必要はありませんが、パスをとおしておく必要はあります。
「.bashrc」に以下の一行を追加し、いったんターミナルを閉じるか「$ source ~/.bachrc」コマンドを実行するかして、パスの変更を反映させます。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/extras/CUPTI/lib64


以上で、「Ubuntu 18.04 TLS」上に「CUDA」環境を構築する作業は完了し、GPU版「TensorFlow」やGPU版「PyTorch」を導入する準備がととのったことになります。


参考ウェブページ一覧表(順不同)

https://docs.nvidia.com/cuda/archive/9.0/
https://docs.nvidia.com/cuda/archive/9.0/cuda-installation-guide-linux/index.html
https://docs.nvidia.com/cuda/index.html
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
https://medium.com/@taylordenouden/installing-tensorflow-gpu-on-ubuntu-18-04-89a142325138
https://carterturn.com/h/Guides/NVIDIA%20CUDA%209.1%20with%20GCC%207.2
https://devtalk.nvidia.com/default/topic/1032269/cuda-9-gcc-7-compatibility-with-nvcc/
https://medium.com/@Inoryy/compiling-pytorch-4-0-on-ubuntu-17-10-with-cuda-9-0-and-python-3-6-6769a0df56d5
https://github.com/nathtest/Tutorial-Ubuntu-18.04-Install-Nvidia-driver-and-CUDA-and-CUDNN-and-build-Tensorflow-for-gpu
https://stackoverflow.com/questions/50213089/linking-error-with-gcc-g-7-3-0-on-ubuntu-18-04/50232797
https://deepinsider.jp/tutor/prepareenv/gpuubuntu
posted by hatakazu at 10:55| Comment(0) | Linuxとか | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください