Ubuntu16.04にCUDA9.0をインストールするための詳細なチュートリアル

序文:

この記事は、CUDA 9.0のインストール経験に基づいて書かれています。CUDA9.0は現在、次の図に示すように、Ubuntu16.04とUbuntu17.04の2つのバージョンをサポートしています(最初のインストール方法、つまりrunfile方法を選択します)。

最初にCUDAファイルをダウンロードできますが、急いでインストールしないことをお勧めします。まず、NVIDIAが提供する公式の取扱説明書をよく見てから、いくつかの優れたブログを探して、CUDAのインストールプロセスの概要を理解する必要があります。インストールプロセス中に発生する可能性のある問題を一般的に理解する必要があり、最後の手段としてシステムを再インストールしないでください。

インストールの提案:

1 )公式ウェブサイトからCUDAをダウンロードするときは、必ず公式インストールドキュメントのコピーを見つけて注意深く読み、可能な限りその手順に従ってください。怠惰にならないでください。同時に、参考のためにいくつかの良いブログを探し、インストールする前に自信を持ってください。

2 )インストールする前に、コンピュータの構成(シングルグラフィックカードまたはデュアルグラフィックカード)、グラフィックカードのタイプがCUDAのインストール要件を満たしているかどうか、およびシステムがインストール要件を満たしているかどうかを確認してください。

3 )インストールプロセス中に操作を実行するたびに、操作が成功したかどうかを確認してください。

インストールプロセス:

  1. ubuntu16.04システムをインストールし、理解します

ソフトウェアをインストールする前に、インストールプロセス中の多くの不要なトラブルを回避するために、sudo、cd、ls、nona、cat、chmodなどのubuntuコマンドラインの基本を理解しておくことをお勧めします。 (Mo Fan Pythonを検索するには、Baiduにアクセスすることをお勧めします。彼はubuntuコマンドに関するビデオを持っています。各エピソードは非常に洗練されており、非常に上手に話します)

2.コンピュータ環境にCUDAをインストールするための条件があるかどうかを確認します

  1. コンピュータにCUDAをサポートできる[GPU](https://cloud.tencent.com/product/gpu?from=10680)があることを確認します

グラフィックカードの特定のモデルは、コンピューターの構成情報で確認できます。デュアルシステムを使用している場合は、Windowsのデバイスマネージャーでグラフィックカードの詳細情報を確認することもできます。
ubuntuターミナルで次のコマンドを入力することもできます。$ lspci | grep-invidia。NVIDIAGPUのバージョン情報が表示されますが、詳細はあまりわかりません。

私のディスプレイは(GeForceGT630M)です:

01:00.0 3 D controller: NVIDIA Corporation GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (rev a1)

次に、CUDAの公式Webサイトにアクセスして、GPUバージョンがCUDAサポートリストに含まれているかどうかを確認します。

  1. LinuxバージョンがCUDAをサポートしていることを確認します(Ubuntu 16.04は問題ありません)

次のコマンドを入力します。

$ uname -m && cat /etc/*release

結果は次のことを示しています。

x86_64
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
……

  1. システムにgccがインストールされていることを確認します

ターミナルに入力します:$ gcc –version

結果は次のことを示しています。

gcc (Ubuntu 5.4.0-6ubuntu1~16.04.5) 5.4.0 20160609
……

インストールされていない場合は、次のコマンドを使用してインストールします。

sudo apt-get install build-essential
  1. システムにカーネルヘッダーとパッケージ開発がインストールされていることを確認します

a。実行中のシステムカーネルバージョンを確認します。

ターミナルに入力します:$ uname -r

結果は次のことを示しています。

4.10.0- 40- generic

b。ターミナルに次のように入力します。sudoapt-getinstalllinux-headers-(uname -r)

カーネルバージョンに対応するカーネルヘッダーとパッケージ開発をインストールできます

結果は次のことを示しています。

……

0個のソフトウェアパッケージがアップグレードされ、0個のソフトウェアパッケージが新たにインストールされました。0個のソフトウェアパッケージをアンインストールするには、4個のソフトウェアパッケージがアップグレードされていません。

これは、システムにすでに存在することを意味するため、インストールを繰り返す必要はありません。

上記の検証チェックが要件を満たしている場合は、次の正式なインストールプロセスを実行できます。要件を満たしていない場合は、各問題の詳細な解決策が記載されている公式のcudaドキュメントを参照できます。

3、インストール方法を選択します

CUDAには、パッケージマネージャーのインストールとrunfileのインストールの2つのインストール方法があります。パッケージマネージャーのインストール方法は比較的簡単ですが、他の人のブログを読んだときに、この方法を選択すると、インストールプロセス中に問題が発生しやすくなり、失敗する可能性が高くなることがわかりました。 。不要なトラブルを減らすために、runfileのインストール方法を選択します。
cudaインストールパッケージをダウンロードします。cuda公式Webサイトからダウンロードし、システム情報に従って対応するバージョンを選択します。runfileがインストールされている場合、最後の項目はrunfileファイルである必要があります。

ダウンロード後、MD5で確認してください。シリアル番号が一致しない場合は、再度ダウンロードする必要があります(当時保存されていなかったため、ここで他の人のスクリーンショットを使用しました。ここでcudaのバージョン番号、他の人が使用しているcuda_8.0に注意してください)

次のコマンドを入力します: $ md5sum cuda_9.0.176_linux.run

4、runfile install cuda

  1. nouveauドライバーを無効にする

ターミナルで実行します:$ lsmod | grep nouveau、出力がある場合は、nouveauがロードされていることを意味します。 nouveauを手動で無効にする必要があります。

Ubuntu nouveauを無効にする方法:

a。/etc/modprobe.dにファイルblacklist-nouveau.confを作成します

次のコマンドを入力します: $ sudo vi /etc/modprobe.d/blacklist-nouveau.conf(viエディターを使用してファイルを編集および保存します)

ファイルに次の内容を入力します。

blacklist nouveau
options nouveau modeset=0

b。実装:

$ sudo update-initramfs –u

c。再実行:

$ lsmod | grep nouveau

コンテンツが出力されない場合は無効化に成功しています。それでもコンテンツが出力される場合は、操作を確認して上記の操作を繰り返してください。

注:viは、Linuxターミナルまたはコンソールで一般的に使用されるエディターです。基本的な操作方法は次のとおりです。vi/ path / file name
次に例を示します。vi/ etc / fstabは、/ etc / fstabファイルの内容を表示することを意味します。キーボードのPageUpキーとPageDownキーを使用して、ページを上下にめくります。Insertキーを押すと、ウィンドウの左下隅に「Insert」という単語が表示され、挿入編集の現在の状態を示し、キーボードから入力されたコンテンツがカーソルに挿入されます。位置;もう一度挿入キーを押すと、左下隅に「置換」が表示され、現在置換編集状態にあることを示し、キーボードから入力されたコンテンツがカーソル位置のコンテンツを置換します。コンテンツを編集した後、Escキーを押して「:wq」と入力し、Enterキーを押して保存して終了します。
保存して直接終了したくない場合は、Escキーを押し、「:q!」と入力して、Enterキーを押します。 「Wq」は書き込みと終了、つまり保存と終了を意味し、「q!」は変更せずに強制終了することを意味します。

以下の操作では、携帯電話で写真を撮ることをお勧めします。ダウンロードしたcuda_9.0.176_384.81_linux.runファイルの名前をcuda.runに変更し、ホームフォルダに移動することをお勧めします(インストールの便宜のため)

  1. コンピューターを再起動します。ログインインターフェイスに入るときは、デスクトップにログインしないでください(失敗する可能性があります。誤って入力した場合は、コンピューターを再起動してください)。Ctrl+ Alt + F1を直接押してテキストモード(コマンドラインインターフェイス)に入り、アカウントにログインします。

  2. $ sudo service lightdm stopと入力して、グラフィカルインターフェイスを閉じます

  3. cudaインストールファイルのパスに切り替えます:$ cd Home /

$ sudo shcuda_7.5.18_linux.runを実行します
プロンプトに従ってください

注:a。必ずプロンプトに従って)対応する文字を入力してください。たとえば、acceptと入力する必要があるもの、yesと入力する必要があるものがあります。

b。openGLをインストールするかどうかを確認するメッセージが表示された場合は、[いいえ]を選択します(コンピューターが私のようなデュアルディスプレイで、メインディスプレイがNVIDIA GPU以外の場合は、[いいえ]を選択する必要があります。そうでない場合は、[はい]を選択できます)。他のオプションは[はい]または[デフォルト]です。 (コンピューターにデュアルグラフィックカードがあり、この手順で[はい]を選択した場合、CUDAのインストール後にグラフィカルインターフェイスを再起動した後、ログインインターフェイスループの問題が発生する可能性があります。パスワードを入力すると、パスワード入力インターフェイスに戻ります。

これは、コンピューターがデュアルディスプレイであり、表示に使用されるGPUがNVIDIAでない場合、OpenGLライブラリをインストールしないでください。インストールしないと、使用しているGPU(NVIDIA GPU以外)のOpenGLライブラリが上書きされます。その後、GUIは機能しません。 )

インストールが成功すると、インストール済みと表示されます。それ以外の場合は、失敗と表示されます。

  1. $ sudo service lightdm startと入力して、グラフィカルインターフェイスを再起動します。

Alt + ctrl + F7を同時に押してグラフィカルログインインターフェイスに戻り、パスワードを入力してログインします。
正常にログインできれば、循環ログインの問題は発生しないことを意味し、基本的にはCUDAのインストールが成功したことを示します。

繰り返しログインする場合でも、システムの再インストールについて心配する必要はありません。公式チュートリアルに記載されています。理由は前の手順のメモに記載されています。openGLをインストールするときに[はい]を選択することに注意を払わない場合があります。cudaをアンインストールして再インストールしてください。インストールされています。
アンインストール:グラフィカルユーザーインターフェイス(GUI)にログインできませんが、テキストユーザーインターフェイス(TUI)は入力できます。

ログインインターフェイスの状態で、Ctrl + Alt + f1を押してTUIに入ります
実施した

$ sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl
$ sudo /usr/bin/nvidia-uninstall

その後、再起動します

$ sudo reboot

Reinstall.run再インストールするときは注意してください。OpenGLをインストールするかどうかを確認するメッセージが表示されたら、デュアルグラフィックカードの場合はnを選択する必要があります。

  1. コンピューターを再起動し、デバイスノードの検証を確認します。

実施した

$ ls /dev/nvidia*

aとbの2つの結果がある可能性があります。座席を確認してください。

a。結果が表示された場合

/dev/nvidia0 /dev/nvidiactl /dev/nvidia-uvm

または、同様の情報を表示します。3つ(/ dev / nvidia-nvmに類似したものを含む)あるはずです。その後、インストールは成功します。

b。ほとんどの結果は次のようになります

ls: cannot access/dev/nvidia*: No such file or directory

またはこのように、表示されるだけ

/dev/nvidia0 /dev/nvidiactl

aの1つまたは2つですが、/ dev / nvidia-numがありません。つまり、ファイルの表示が完了していません。

システムの再インストールについて心配する必要はありません(これは私がインストールしたときのことです)。公式ガイドに詳細な解決策がありますが、私の方法は公式とは少し異なります。

まず、起動スクリプトを追加します(起動スクリプトを追加するには、おおよそ2つの方法があります。最も直接的な方法を使用します。もう1つは、最初にファイルを作成してから、mvで起動フォルダーに移動します。Baiduは自分で実行できます)
実施した

$ sudo vi /etc/rc.local

このファイルを初めて開く場合は、空になっている必要があります(#commentアイテムを1行ずつ除く)。このファイルの最初の行は

#! /bin/sh -e

-eを削除します(この手順は非常に重要です。そうしないと、このテキストのコンテンツが読み込まれません)
次に、#!/ bin / bashを除く次の内容をコピーし、(終了0の前に)保存して終了します。

#! /bin/bash

/sbin/modprobe nvidia

if["$?"-eq 0]; then
# Count the number of NVIDIA controllers found.
NVDEVS=`lspci | grep -i NVIDIA`
N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l`
NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l`

N=`expr $N3D + $NVGA - 1`for i in`seq 0 $N`;do
mknod -m 666/dev/nvidia$i c 195 $i
done

mknod -m 666/dev/nvidiactl c 195255else
exit 1
fi

/sbin/modprobe nvidia-uvm

if["$?"-eq 0]; then
# Find out the major device number used by the nvidia-uvm driver
D=`grep nvidia-uvm /proc/devices | awk '{print $1}'`

mknod -m 666/dev/nvidia-uvm c $D 0else
exit 1
fi

次回再起動すると、/ devディレクトリにある3つのnvidiaファイルを直接確認できるはずです。
入力:$ ls / dev / nvidia *
結果は次のようになります。/dev/nvidia0/dev/ nvidiactl / dev / nvidia-uvm

成功!

  1. 環境変数を設定します。

ターミナルに$ sudo gedit / etc / profileと入力します
開いたファイルの最後に、次の2行を追加します。

64 ビットシステム:

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}}

32 ビットシステム:

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

ファイルを保存して再起動します。ソース/ etc / profileは一時的に有効であるため、コンピューターの再起動は永続的です。

これは公式のインストールドキュメントとは少し異なります。説明が必要です。
公式文書には、ターミナルで上記の2つのエクスポートステートメントを実行するだけでよいと記載されていますが、それらを/ etc / profileファイルに書き込まないと、ターミナルを終了するとそのような環境変数は消え、機能しなくなります。 、したがって、書き込みは永続的です。

  1. コンピュータを再起動し、上記の環境変数が正常に設定されているかどうかを確認します。

a。ドライバーのバージョンを確認します

入力します

$ cat /proc/driver/nvidia/version

結果は次のことを示しています

NVRM version: NVIDIA UNIX x86_64 Kernel Module 384.81 Sat Sep 2 02:43:11 PDT 2017
GCC version: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.5)

b。CUDAツールキットを確認します

入力します

$ nvcc-VはCUDAバージョン情報を出力します

もしそうなら:

The program ‘nvcc’ is currently not installed. You can install it by typing:
sudo apt-get install nvidia-cuda-toolkit

環境設定がうまくいかない可能性がありますので、上記の手順7)を繰り返してください。

5、cudaが提供する例をコンパイルしてみてください

1 )ターミナルを開き、次のように入力します。$ cd /home/xxx/NVIDIA_CUDA-9.0_Samplesここで、xxxは独自のユーザー名であり、コマンドcdを使用してNVIDIA_CUDA-9.0_Samplesディレクトリに入力します。

次に、ターミナルに入ります:$ make

システムは自動的にコンパイルプロセスに入ります。プロセス全体には約10〜20分かかります。しばらくお待ちください。エラーが発生した場合、システムはただちにエラーを報告して停止します。

最初の実行中にエラーが報告される場合があり、プロンプトが表示されたエラーメッセージは、システムにgccがないことである可能性があります。

解決策は、コマンドを使用してgccを再インストールし、ターミナルに次のように入力することです。$ sudo apt-get install gcc gccをインストールした後、もう一度作成すると、正常になります。

コンパイルが成功すると、次の図に示すように、完成したビルドCUDAサンプルが最後に表示されます。

2 )コンパイルされたバイナリファイルを実行します。
コンパイルされたバイナリファイルは、デフォルトでNVIDIA_CUDA-9.0_Samples / binに保存されます。
次に、前のターミナルに次のように入力します。$ cd / home / lxxx / NVIDIA_CUDA-9.0_Samples / bin / x86_64 / linux / releaseここで、xxxは自分のユーザー名です
次に、ターミナルに次のように入力します。$ ./deviceQuery

結果を次の図に示します。次の図のような表示を参照してください。これは、CUDAが正常にインストールおよび構成されたことを意味します。ここで、Result = PASSは成功を意味し、失敗した場合はResult = FAILを意味します。

3 )最後に、システムとCUDA対応デバイス間の接続を確認します
端子入力:$ 。/ bandwidthTest
次の図のような表示を参照してください。これは成功を意味します

最後に、CUDAのインストールと使用を皆さんに喜んでいただきたいと思います。

Recommended Posts

Ubuntu16.04にCUDA9.0をインストールするための詳細なチュートリアル
ubuntu18用のpython3.7のインストールに関する詳細なチュートリアル
Ubuntu18.04にphpMyAdminをインストールするための詳細なチュートリアル
CentOS7にMySQL8をインストールするための詳細なチュートリアル
Ubuntu20.04にPycharm2020.1をインストールするためのグラフィカルチュートリアル
centos8にnginxをインストールするための詳細なチュートリアル(グラフィック)
LinuxシステムへのJDK8のインストールに関する詳細なチュートリアル(CentOS7のインストール)
Ubuntu16.04環境でPython3.6の下にDjangoをインストールするための詳細な手順
centos6.5でzabbix2.4をインストールするためのチュートリアル図
UbuntuにPythonモジュールをインストールするときにエラーが発生しました
Ubuntu20.04でcuda10.1をインストールする手順(グラフィックチュートリアル)
CentOS7.4でJDK1.8をインストールするためのグラフィカルチュートリアル
UbuntuにCUDAとCUDNNをインストールしてアンインストールします
小さなチュートリアル:Ubuntuのディスクを一覧表示する
Ubuntu20.04インストールPython3仮想環境チュートリアル詳細な説明
Ubuntu操作チュートリアル
Ubuntu18.04にVMwareToolsをインストールする問題を解決します
LinuxにAnacondaをインストールするための詳細な手順(Ubuntu 18.04)
ローカルyumソースを構成するためのCentOS8詳細チュートリアル
CentOSにremix-ideをインストールするためのエラーと解決策
LinuxにAnacondaをインストールするための詳細な手順(Ubuntu 18.04)
ubuntuのランプ
Ubuntu 16.04 Cuda8.0 tensorflow-gpu
Azure上のUbuntuサーバーの自動更新を構成する
Ubuntu 20.04をインストールした後に行うこと(xiaobaiチュートリアル)
Ubuntu16.04にMongodbをインストールする最新の方法
Ubuntu19にTheanoをインストールする問題を解決します
Centos7からCentos8にアップグレードするためのチュートリアル(詳細な図)
SogouPinyinをubuntu18.04にインストールするための簡単なチュートリアル
Ubuntuにyii2advancedをインストールするときに発生する落とし穴
Ubuntu20.04にSogou入力メソッドをインストールするための詳細な手順
Ubuntu16.04環境でFTPサーバーをセットアップするためのチュートリアル
ubuntu18にvscodeをインストールします
UbuntuにRedisをインストールする
ubuntu20にR4をインストールします
Ubuntu18.04にpostgresql-10をインストールします
Ubuntuにdockerをインストールする
ubuntu18.04にDockerをインストールします
Ubuntu16にnodejs10をインストールします
Ubuntu14.04にmysqlをインストールします
Ubuntu16.04Mongodbチュートリアルのインストール
UbuntuにDjangoをインストールします
Ubuntu14.04にPython3をインストールします
UbuntuにJDK10 +をインストールする
Ubuntu16.04にPython3をインストールします
ROS学習--- UbuntuにROSをインストールする
Ubuntu16.04.2にKDEをインストールします
Ubuntu18にDockerをインストールする
UbuntuにPython3.7をインストールする
Ubuntuにflashplayerをインストールする
ubuntu14.04インストールjdk1.8チュートリアル
Ubuntu16.04で匿名ダウンロード用にvsftpdを設定する方法
CentOS8システムにKernel5.xカーネルバージョンをインストールする詳細な方法
Ubuntu18.04でSSHサービスをインストールおよび構成するためのメソッドステップ
Ubuntu16.04でユーザーディレクトリ用にvsftpdを設定する方法