へっぽこプログラマーの備忘録
プログラムを中心とした個人的なメモ用のブログです。 タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。
menu
keyboard_arrow_up
Top
search
close
home
ホーム
computer
PC一般
construction
開発環境・ツール
code
プログラミング
home
ホーム
computer
PC一般
construction
開発環境・ツール
code
プログラミング
Home
›
Ubuntu
›
Ubuntu 20.04 に古い NVIDIA Driver と CUDA をインストール
2022/03/30
Ubuntu 20.04 に古い NVIDIA Driver と CUDA をインストール
update
event_note
label
NVIDIA
label
Ubuntu
古いグラフィックボードが手に入ったので、それに対応した NVIDIA Driver および CUDA をインストールしたときのメモです。
## 環境 - Ubuntu 20.04 - GPU:NVIDIA Quadro 2000 ## NVIDIA Driver のインストール 以下のコマンドでインストールするドライバーのバージョンがわかります。 ```shell $ ubuntu-drivers devices ``` または、以下のページで必要なドライバーのバージョンを調べることもできます。 - https://www.nvidia.com/Download/index.aspx 以上より必要なドライバーは 390 だとわかりました。 ドライバーは上記のページからダウンロードできますが、Ubuntu の場合は apt でインストールしたほうが楽です。 ```shell $ sudo apt -y install nvidia-driver-390 ``` 一度再起動し、`nvidia-smi` でドライバーが正しくインストールされたか確認します。 ```shell $ nvidia-smi Tue Mar 15 13:51:47 2022 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 390.144 Driver Version: 390.144 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 Quadro 2000 Off | 00000000:01:00.0 On | N/A | | 30% 48C P12 N/A / N/A | 577MiB / 964MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 1193 G /usr/lib/xorg/Xorg 141MiB | | 0 2102 G /usr/lib/xorg/Xorg 220MiB | | 0 2276 G /usr/bin/gnome-shell 206MiB | +-----------------------------------------------------------------------------+ ``` ## CUDA のインストール NVIDIA Driver と CUDA のバージョンの関係は以下で確認できます。 - https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html 今回インストールした NVIDIA Driver は 390.144 なので、CUDA は 9.1 インストールします。 CUDA のインストール方法ですが、以下でプラットフォームに応じた方法を調べることができます。 - https://developer.nvidia.com/cuda-downloads Ubuntu 20.04 では以下が表示されました。 ```shell $ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin $ sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600 $ sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub $ sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /" $ sudo apt-get update $ sudo apt-get -y install cuda ``` しかし、このコマンドでは CUDA のバージョンが指定されていないため、実行してしまうと最新の CUDA がインストールされてしまいます。 なので、次に示すように、バージョン 9.1 を指定してインストールしてやります。 ## CUDA 9.1 のインストール CUDA 9.1 をインストールしたいところですが、apt でインストールできる CUDA の一覧を見てみても 9.1 はありません。 なので、以下を参考に Ubuntu 16.04 用のパッケージをインストールしました。 - https://qiita.com/yukoba/items/3692f1cb677b2383c983 - https://qiita.com/sabaku20XX/items/7f559dd46357cc5adf1e ```shell $ curl -sL http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub | sudo apt-key add $ wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.1.85-1_amd64.deb $ sudo dpkg -i cuda-repo-ubuntu1604_9.1.85-1_amd64.deb $ sudo apt update $ sudo apt --fix-broken install $ sudo apt install cuda-toolkit-9-1 $ sudo reboot $ rm cuda-repo-ubuntu1604_9.1.85-1_amd64.deb ``` 注意点として、apt で `cuda-9-1` をインストールすると NVIDIA Driver も最新に更新されてしまうので、`cuda-toolkit-9-1` をインストールする必要があります。 - https://zenn.dev/takeshita/articles/a02402e59d72a7 インストールが完了したら、`~/.bashrc` の末尾に以下を追記します。 ```bash export PATH="/usr/local/cuda/bin:$PATH" export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH" ``` ここで再起動します。 ### CUDA バージョンの確認 `nvidia-smi` で確認できるはずなのですが、私の環境では何も表示されました。 ただ、`nvcc` では確認できたので、インストールはされているんじゃないかと。 ```shell $ nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2017 NVIDIA Corporation Built on Fri_Nov__3_21:07:56_CDT_2017 Cuda compilation tools, release 9.1, V9.1.85 ``` また、以下でも確認できます。 ```shell $ cat /usr/local/cuda/version.txt CUDA Version 9.1.85 ``` ### CUDA のインストール後に NVIDIA Driver がおかしくなってしまった場合 前述したように、NVIDIA Driver と CUDA のバージョンが合っていなければ動作がおかしくなります。 以下を参考に NVIDIA Driver と CUDA を削除してからインストールをやり直す必要があります。 - https://qiita.com/not_charge/items/dce7512544a7ead04bca ```shell $ sudo apt-get --purge remove nvidia-* $ sudo apt-get --purge remove cuda-* ``` ## docker コンテナ内で GPU が使えるか確認しようとして諦めた せっかく CUDA がインストールできたので、機械学習で GPU が使えそうか確認します。 まず pytorch を使い、ホスト上で以下のコードで確認してみました。 ```py import torch print(torch.cuda.is_available()) ``` すると、以下のようにエラーが表示されました。 ```shell UserWarning: CUDA initialization: The NVIDIA driver on your system is too old (found version 9010). Please update your GPU driver by downloading and installing a new version from the URL: http://www.nvidia.com/Download/index.aspx Alternatively, go to: https://pytorch.org to install a PyTorch version that has been compiled with your version of the CUDA driver. (Triggered internally at /pytorch/c10/cuda/CUDAFunctions.cpp:115.) return torch._C._cuda_getDeviceCount() > 0 ``` PyTorch のバージョンも CUDA に合わせる必要があるようです。 以下のページを参考に pytorch のバージョンを指定してインストールしてみます。 - https://varhowto.com/install-pytorch-cuda-9-1/ すると以下のエラーが表示されました。 ```shell $ pip3 install torch==1.1.0 torchvision==0.3.0 -f https://download.pytorch.org/whl/cu90/torch_stable.html Looking in links: https://download.pytorch.org/whl/cu90/torch_stable.html /usr/share/python-wheels/urllib3-1.25.8-py2.py3-none-any.whl/urllib3/connectionpool.py:999: InsecureRequestWarning: Unverified HTTPS request is being made to host '172.20.16.253'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings ERROR: Could not find a version that satisfies the requirement torch==1.1.0 (from versions: 1.4.0, 1.5.0, 1.5.1, 1.6.0, 1.7.0, 1.7.1, 1.8.0, 1.8.1, 1.9.0, 1.9.1, 1.10.0, 1.10.1, 1.10.2, 1.11.0) ERROR: No matching distribution found for torch==1.1.0 ``` ここらへんから面倒になり、先に docker コンテナを作ることにしました。 まずは NVIDIA Container Toolkit をインストールしようと以下のページを見ると、 - https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html 動作要件が以下のようになっていました。 1. GNU/Linux x86_64 with kernel version > 3.10 1. Docker >= 19.03 (recommended, but some distributions may include older versions of Docker. The minimum supported version is 1.12) 1. NVIDIA GPU with Architecture >= Kepler (or compute capability 3.0) 1. NVIDIA Linux drivers >= 418.81.07 (Note that older driver releases or branches are unsupported.) というわけでここで諦めました。
## 参考 URL - https://www.nvidia.com/Download/index.aspx - https://qiita.com/sabaku20XX/items/7f559dd46357cc5adf1e - https://qiita.com/porizou1/items/74d8264d6381ee2941bd - https://qiita.com/abetomo/items/a114a3c423f110460549 - https://shiba6v.hatenablog.com/entry/2018/10/18/021749 - http://www-home.htwg-konstanz.de/~MFERTIG/files/tools/NVIDIA_CUDA_Toolkit_9_1_Ubuntu_20_04_2021.txt
tweet
facebook
Pocket
B!
はてブ
LINE
chevron_left
chevron_right
Translate
Popular Posts
TortoiseGit でコミットメッセージを変更する
image
NO IMAGE
smbclient で session setup failed: NT_STATUS_LOGON_FAILURE が表示される
Docker for Windows の設定
image
NO IMAGE
マージ元ブランチとマージ先ブランチ
image
NO IMAGE
TortoiseSVN ロック状態のチェック
TortoiseGit でブランチ間の差分を見る
image
NO IMAGE
Visual Studio で文字がにじむ(ぼやける)
image
NO IMAGE
AsciidocFX をビルドする
image
NO IMAGE
PowerShellでブレークポイントが設定できない場合
[Python] 文字列の判定で、None と空文字を同時に判定する
Labels
.NET Core
31
.NET Framework
17
.NET Standard
2
AdminLTE
1
AI
1
Apache
3
AppVeyor
2
AsciiDoc
7
ASP.NET Core
55
Atom
4
AWS
5
AWS Cloud9
4
blockdiag
1
Blogger
13
Bootstrap
3
C/C++
6
C#
106
CentOS
3
Chrome
1
Chronograf
3
chrony
1
Codecov
1
CSS
1
Docker
80
DokuWiki
4
Doxygen
1
draw.io
1
EasyTag
1
Electron
1
Electron.NET
2
Entity Framework Core
9
Excel
2
FFmpeg
3
Firefox
6
Flask
1
Git
19
GitBook
4
GitBucket
7
GitHub
7
GitLab
39
Go
1
Google
1
Google Cloud Platform
1
Grafana
13
GStreamer
2
HTML
5
IIS
8
InfluxDB
14
JavaScript
15
Jekyll
2
Jenkins
7
Linux
34
Log4View
1
MahApps.Metro
3
MaterialDesignInXamlToolkit
1
MkDocs
2
MongoDB
5
MVC
1
MVVM
6
nginx
3
NLog
3
Node.js
8
npm
1
NVIDIA
3
onvif
1
OpenAPI
2
OpenCV
4
OpenSSL
3
OpenVINO
2
ownCloud
2
pandas
1
Pine Script
1
PlantUML
5
Portainer
3
PowerShell
8
Prism
2
PySide
19
Python
88
PyTorch
1
RabbitVCS
1
Razor
3
redis
1
Redmine
33
Redoc
1
remark.js
2
rocketchat
10
Ruby
3
scikit-learn
1
shotcut
1
SignalR
1
Slack
1
Socket.IO
1
SonarQube
5
Sphinx
10
SQL Server
5
SQLite
1
StableDiffusion
1
Subversion
2
Swagger
1
Swarmpit
1
Syslog
3
Telegraf
6
Tesseract
3
TestLink
2
Tomcat
2
TortoiseGit
11
TortoiseSVN
2
Trading View
1
Traefik
3
Travis CI
1
Ubuntu
31
Visual Studio
39
Visual Studio Code
10
VSCode
8
Vue.js
8
Windows
62
Windows 10
5
Windows ADK
1
Windows API
2
Windows Embedded
4
wkhtmltopdf
2
Word
3
WPF
12
WSL
5
WSL2
5
Xamarin
1
xUnit
5
yaml
1
yolo
1
アプリケーション
1
デザインパターン
1
テスト
1
バッチファイル
2
プログラミング
4
ライセンス
1
暗号資産(仮想通貨)
1
英語
2
確定申告
1
機械学習
1
強化学習
1
雑記
1
書籍
1
数学
1
正規表現
1
動画編集
1
Blog Archive
►
2024
(18)
►
9月
(5)
►
8月
(1)
►
7月
(2)
►
6月
(1)
►
4月
(2)
►
3月
(1)
►
2月
(5)
►
1月
(1)
►
2023
(30)
►
12月
(3)
►
11月
(5)
►
10月
(2)
►
9月
(1)
►
8月
(2)
►
7月
(4)
►
6月
(2)
►
5月
(3)
►
4月
(2)
►
3月
(2)
►
2月
(3)
►
1月
(1)
▼
2022
(106)
►
12月
(5)
►
11月
(1)
►
10月
(3)
►
9月
(6)
►
8月
(7)
►
7月
(6)
►
6月
(13)
►
5月
(9)
►
4月
(15)
▼
3月
(11)
nvidia-docker2 (nvidia-container-toolkit) のインストール
Ubuntu 20.04 に古い NVIDIA Driver と CUDA をインストール
docker イメージのファイル保存、読み込み
[Python] `error in modulated_deformable_im2col_cud...
Markdown で外部の Markdown ファイルを読み込んで表示
[Python] `most likely due to a circular import` が表...
Windows PC から NAS に接続できなくなった
[Python] NumPy 入門
Ubuntu にリモートデスクトップ接続する
暗号資産(仮想通貨)の年末調整・確定申告メモ
[PySide] FlowLayout を作成する
►
2月
(14)
►
1月
(16)
►
2021
(85)
►
12月
(11)
►
11月
(6)
►
10月
(4)
►
9月
(10)
►
8月
(8)
►
7月
(4)
►
6月
(18)
►
5月
(7)
►
4月
(8)
►
3月
(2)
►
2月
(2)
►
1月
(5)
►
2020
(56)
►
12月
(1)
►
11月
(3)
►
10月
(3)
►
9月
(3)
►
8月
(3)
►
7月
(7)
►
6月
(7)
►
5月
(2)
►
4月
(6)
►
3月
(6)
►
2月
(3)
►
1月
(12)
►
2019
(92)
►
12月
(13)
►
11月
(9)
►
10月
(3)
►
9月
(2)
►
8月
(3)
►
7月
(5)
►
6月
(11)
►
5月
(6)
►
4月
(17)
►
3月
(9)
►
2月
(6)
►
1月
(8)
►
2018
(100)
►
12月
(1)
►
11月
(11)
►
10月
(8)
►
9月
(6)
►
8月
(10)
►
7月
(10)
►
6月
(8)
►
5月
(9)
►
4月
(8)
►
3月
(14)
►
2月
(4)
►
1月
(11)
►
2017
(117)
►
12月
(14)
►
11月
(20)
►
10月
(17)
►
9月
(19)
►
8月
(10)
►
7月
(8)
►
6月
(3)
►
5月
(6)
►
4月
(5)
►
3月
(2)
►
2月
(8)
►
1月
(5)
►
2016
(91)
►
12月
(5)
►
11月
(9)
►
10月
(11)
►
9月
(9)
►
8月
(6)
►
7月
(14)
►
6月
(14)
►
5月
(11)
►
4月
(10)
►
3月
(2)
►
2015
(23)
►
12月
(4)
►
11月
(2)
►
10月
(8)
►
9月
(8)
►
7月
(1)
►
2013
(3)
►
11月
(1)
►
9月
(1)
►
7月
(1)
►
2012
(2)
►
7月
(1)
►
6月
(1)
►
2011
(1)
►
9月
(1)
►
2009
(1)
►
7月
(1)
►
2008
(2)
►
11月
(1)
►
7月
(1)
►
2007
(3)
►
10月
(3)