Ubuntu 18.04でNvidiaドライバとCUDA10.1 + CUDNNをインストールする。
まず、UbuntuでNvidiaのグラフィックカードの詳細を表示する。
nvidia-smi
$ nvidia-smi
Fri Aug 16 08:46:25 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.26 Driver Version: 430.26 CUDA Version: 10.2 |
-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M.
| ===============================+======================+======================|
| 0 GeForce 940MX Off | 00000000:3C:00.0 Off | N/A |
| N/A 46C P0 N/A / N/A | 183MiB / 2004MiB | 3% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
=============================================================================|
| 0 3038 G /usr/lib/xorg/Xorg 94MiB |
| 0 4709 G /usr/bin/gnome-shell 86MiB |
+-----------------------------------------------------------------------------+
cat /usr/local/cuda/version.txt
or
nvcc -V
$ cat /usr/local/cuda/version.txt
CUDA Version 10.1.243
cudaのバージョンを表示する。
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
lspci | grep -i nvidia
#install without lspci
apt install pciutils
cudnn版を表示する。
lsmod | grep nouveau
#install without lsmod
apt install module-init-tools
上記のコマンドのいずれからも出力が得られない場合は、下を参照してください。
最初:Ubuntuの下でデュアルグラフィックノートパソコンにNVIDIAカードのドライバをインストールする方法
グラフィックカードドライバのインストール
コンピュータのGPUがCUDAに対応しているかどうかを確認します。
sudo gedit /etc/modprobe.d/blacklist.conf
出力します。NVIDIA社製 GM108M [GeForce 940M] (rev a2)
nouveauを無効にして再起動 (Nvidiaグラフィックカード用の公式ドライバーのインストールと、システムに付属するnouveauドライバーのインストールは競合します)
blacklist nouveau
options nouveau modeset=0
nouveauがロードしている出力がある場合
使用不可リストを開く
sudo update-initramfs -u
reboot
開いているテキストの最終行に、追加します。
lsmod | grep nouveau
更新、再起動
sudo yum -y install gcc-c++
ヌーボーが無効になっていないか再度確認する
sudo apt install build-essential
ハイライト
0. gccを先にインストールします。
$sudo apt-get remove nvidia-*
$sudo apt-get autoremove
または
sudo apt-get --purge remove nvidia-*
# sudo . /NVIDIA-Linux-x86_64-410.57.run -uninstall
sudo update-initramfs -u
sudo reboot now
1. 古いNVIDIAドライバを削除する。
~$ sudo apt-get update
あるいは
ubuntu-drivers devices
qyh@qyh-mas$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:1d.0/0000:3c:00.0 ==
modalias : pci:v000010DEd0000134Dsv000017AAsd000039C8bc03sc02i00
vendor : NVIDIA Corporation
model : GM108M [GeForce 940MX]
driver : nvidia-driver-410 - third-party free
driver : nvidia-driver-415 - third-party free
driver : nvidia-driver-390 - third-party free
driver : nvidia-driver-430 - third-party free recommended
driver : xserver-xorg-video-nouveau - distro free builtin
2. システムソフトウェアレポジトリの一覧を更新する
$ sudo apt-get install nvidia-settings nvidia-driver-430 nvidia-prime
3. 次のコマンドを使用して、お使いのシステムにインストールするために推奨されるNカードドライバのバージョンを確認します。
$ sudo ubuntu-drivers autoinstall
上の出力で推奨キーワードが見えますが、これはインストールする推奨のNカードドライバが "nvidia-driver-430"であることを示しています。
4. 4. インストールを推奨するバージョン(ここでは nvidia-driver-430)を選択し、次のコマンドで必要なコンポーネントをいくつかインストールします。
~$ sudo add-apt-repository ppa:nilarimogard/webupd8
~$ sudo apt-get update
~$ sudo apt-get install prime-indicator
私のお勧めは、nvidia-440バージョンのドライバをインストールし、コマンドラインに進み、タイプすることです。
~$ sudo reboot
nvidia-440の推奨ドライバーは自動的にインストールされます。
5. デュアルグラフィックカードスイッチのインジケータを取り付ける
~$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation .... (rev 09)
01:00.0 VGA compatible controller: NVIDIA Corporation .... (rev ff)
6. 再スタート
~$ lspci | grep NVI
qyh@qyh-mas:$ lspci | grep NVI
3c:00.0 3D controller: <font color="#EF2929"><b>NVI</b></font>DIA Corporation GM108M [GeForce 940MX] (rev a2)
qyh@qyh-mas: $ lspci | grep VGA
00:02.0 <font color="#EF2929"><b>VGA</b></font> compatible controller: Intel Corporation Skylake GT2 [HD Graphics 520] (rev 07)
新しいブート後に右上隅にグラフィックカードのインジケータが表示されます, デフォルトはNvidiaのアイコンです, Nカードが現在使用されていることを示す, このアイコンをクリックして選択 "Quick switch graphics...", 確認を押すと、自動的にデスクトップを再起動します, この時点でIntelのグラフィックカードに切り替えます, アイコンがも Intelに変更されました.
2つのグラフィックカードを切り替えてみて、次のコマンドで切り替えが成功するかどうかを確認し、そのパフォーマンスをテストすることができます。
Intelカードに切り替えた後、Nカードの電源が切れているかどうかを確認し、Nカードの末尾が(rev ff)であれば、Nカードの電源が正常に切れ、Iカードが使用中、ffで終わっていなければ、Nカードが使用中であることを確認します
~$ glxspheres64
上記のコマンドでNVIDIAカードが表示されない場合は、以下のコマンドで直接Nカードの状態を確認することができます。
$:sudo wget http://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run
$:sudo sh cuda_10.1.243_418.87.00_linux.run
次のコマンドを使用して、グラフィックカードの性能をテストし、数字が大きいほど、グラフィックカードの性能が良い、このコマンドは明らかにNカードがIカードよりも優れていることを示しています。
vi ~/.bashrc
CUDA 10.1のインストール
1. CUDA 10.1 を http://developer.nvidia.com/cuda-downloads上下载安装包 からインストールします。
自分でフォルダを作り、その中に上記2つのコマンドを入力すればよい。
export PATH="/usr/local/cuda-10.1/bin:$PATH"
export LD_LIBRARY_PATH="/usr/lcoal/cuda-10.1/lib64:$LD_LIBRARY_PATH"
2. 以下の画面が表示されるまで、表示されるプロンプトからcontinueとacceptを選択します。
すでにNvidiaのグラフィックドライバをインストールしているので、ここではドライバのインストールはせず、Driverに移動してエンターキーを押し、選択されていない"[ ]"からXを削除するだけです。それからInstallで、CUDAを呼び出すだけで、CUDAのプログラムを書いているわけではないので、Samplesもインストールしないを選択できます。
3. インストールは正常に終了しました。
4. 環境変数の追加
source ~/.bashrc
ファイルの末尾に
cd /usr/local/cuda-10.1/samples/1_Utilities/deviceQuery
sudo make
. /deviceQuery
最後にそれを動作させるために
watch -n 1 nvidia-smi
5. 端末入力
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
その結果は図のようになります。
結果 = PASS は、インストールが成功したことを意味します。
6. ターミナルでコマンドを入力し、GPUの使用率をリアルタイムで確認します。
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
CUDNNのインストール
1. cuDNN v7.6.1 (2019年6月24日)、CUDA 10.1用をダウンロードする。
https://developer.nvidia.com/rdp/cudnn-archive
解凍したcudnnディレクトリに移動すると、cudaフォルダが表示されます。
# mv /lib/modules/3.0.0-12-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko /lib/modules/3.0.0-12-generic/kernel/drivers/gpu/drm/ nouveau/nouveau.ko.org
インターフェイスのない環境では、Linux用のcuDNNライブラリをダウンロードしてください。
cudnnのバージョンを見る
# update-initramfs -u
<イグ
上から順に7 6 4と出力され、cudnn7.6.4となる。
注意事項
どうしてもnouveauドライバで不具合や解決策が見つからない場合
Nvidiaグラフィックカード用の公式ドライバーをインストールすると、nouveauドライバーの競合が発生します。オンラインの方法でインストールしてmodprob.d/blacklist.confの変更をいろいろ試したが、再起動してもnouveauドライバはうまく無効化されず
ようやく方法が見えてきました。
このドライバを直接削除する(バックアップアウト)
# mv /lib/modules/3.0.0-12-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko /lib/modules/3.0.0-12-generic/kernel/drivers/gpu/drm/ nouveau/nouveau.ko.org
再読み込みする
# update-initramfs -u
再起動すると、フォントが大きくなっており、アンインストールが成功していることがわかります。
関連
-
undefinedlinuxでは127.0.0.1、 : では0.0.0.0です。
-
アクセスが拒否されました。PROCESS 特権が(少なくとも1つ)必要です。
-
MongoDBインストール+解決エラー。mongod.service の起動に失敗しました:until not found
-
makefileを参照してください。2: セパレータがありません。
-
C言語改善
-
PackagesNotFoundError: 以下のパッケージは、現在のチャネルから利用できません。
-
LinuxでDNSの正逆解析エラー:** server can't find ?・・・・・・? : NXDOMAIN
-
エラーとなったシェルスクリプトを実行します。"予期しないトークン付近の構文エラーに対する解決策`"
-
Java Runtime Environmentを継続するためのメモリが不足しています。
-
Linuxでよくあるパーミッション関連のエラーとその解決法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
undefinedmakefile のエラー *** セパレータがありません。
-
Makefile:9: *** セパレータがありません。
-
linuxのインストールファイルでは、configure: error: no acceptable C compiler found in $PATH errorが表示されます。
-
mvn -v error: main class not found or couldn't be loaded org.codehaus.plexus.classworlds.launcher.
-
変数 `xxx' の解は、初期化子を持っているが型が不完全である。
-
Linuxの一般的なコマンドを史上最も完璧にまとめた本(超充実! (超詳しい!)これだけ集めれば十分!?
-
[turn] makeが表示される ターゲットが指定されておらず、makefileが見つからない 解決方法
-
nginx: [emerg] 0.0.0.0:80 への bind() に失敗しました (13: Permission denied)。
-
コンピュータに利用可能なGPUデバイスがあるかどうかを確認する
-
dpkg: パッケージの処理エラー ***(--install): 依存関係の問題 - 未設定にする