グラフィックスカード、グラフィックスドライバー、cuda、cudnn、ディープラーニング環境の構築についてよく解説

シーンの説明

ディープ ラーニングに取り組む場合は、まず環境をセットアップする必要があり、グラフィック カード ドライバー、cuda、cudnn、およびさまざまなディープ ラーニング フレームワーク (TensorFlow、Pytorch など) をいじる必要があります。これらの用語を聞いただけで混乱する人も多く、ましてや両者の非互換性を解決して環境構築を完了することはできません。ここでは、上記の用語について簡単に説明しますが、深く理解したり専門的に理解する必要はなく、その意味を理解するだけで十分です。


よくある説明

  • グラフィックス カード: GPU チップ、コンデンサ、抵抗器、その他の補助チップがはんだ付けされた回路基板。一部の複雑な計算では CPU 効率が低すぎるため、計算は GPU で実行されます。類推すると、CPU マザーボードは、CPU、補助チップ、コンデンサ、抵抗器がはんだ付けされた回路基板です。個別グラフィックス カードと統合グラフィックス カードの概念については、ご自身で確認してください。

  • グラフィックス カード ドライバー: GPU はハードウェアですが、オペレーティング システムはどのようにしてデータを識別し、GPU にデータを送信しますか? これには、オペレーティング システムにグラフィック カード ドライバーをインストールする必要があります。現在、海外のGPUメーカーはInter、Nvidia、AMDの3社、国内メーカーはJingjiawei、China Shipbuilding Industry Corporationなどとなっている。さまざまなメーカーの GPU には独自のグラフィックス ドライバーがあり、オペレーティング システムに適応する必要があるため、GPU の各モデルには Windows と Linux の 2 つのバージョンのグラフィックス ドライバーが用意されています。

  • CUDA : GPU の計算能力は非常に強力ですが、単純で特定の計算タスクにのみ使用される場合は少し不利になります。ただし、GPU を直接操作するのは少し難しいため、NVIDIA は GPU 用の一般的なコンピューティング フレームワーク (フレームワーク) である cuda を設計し、cuda の目的を実現するための完全なツールである CUDA Toolkit を開発しました。この CUDA ツールキットには、NVIDIA GPU ドライバー、CUDA ライブラリ関数、コンパイラーなどが含まれています。それで何ができるのでしょうか?1: CUDA Toolkit の cuda API を呼び出すことで、GPU を直接操作できます; 2: CUDA Toolkit の一部のツールは、GPU で認識できる命令に pytorch 構文をコンパイルできます pytorch の最下層は C++ で実装されています。NVIDIA が設計した CUDA は、GPU 用の汎用コンピューティング プラットフォームを目的としており、開発者は CUDA API または CUDA 翻訳可能言語を使用するだけで GPU を動作させるプログラムを作成できるため、利用の敷居が大幅に低くなります。すべての牛乳がデラックスと呼ばれるわけではないのと同じように、すべての GPU が CUDA をサポートしているわけではありません。cuda は NVIDIA によって設計および実装されているため、NVIDIA GPU のみをサポートします。

  • CUDNN : これは、特に深層学習の分野を対象としたソフトウェア ライブラリであり、畳み込みニューラル ネットワークの動作を高速化できるいくつかの機能を提供します。また、NVIDIA GPU のみをサポートしています。その理由は非常に単純で、cuda+cudnn です。深層学習に取り組みたい場合は、おそらく NVIDIA GPU を購入する必要があります。

  • 深層学習フレームワーク: さまざまな大手インターネット企業によって設計された cuda + cudnn ベースのフレームワーク。20 層を超えるネットワーク アーキテクチャでは、pytorch を呼び出すのに必要なコードは 1 行だけで、エントリ パラメータを設定できます。基礎となる言語を使用してモデルを自分で構築するのは難しく、時間がかかり、重要な点は、それが機能しない可能性があるということです。 。TensorFlow と Ptorch については Python の知識があれば十分で、ネットワークの構築については 1 行のコードで実行できます。このフレームワークの出現により、開発者がそれを使用する敷居は低くなり、多くの人が次々とその罠に飛び込んでいます。

上記の説明は私の理解に基づいて書いていますので、間違いがある場合は、李姉妹万歳!


環境設定

バージョンの互換性がなかったり、インストール中に発生するさまざまな奇妙な異常に悩まされている人は多く、これには勇気と慎重さが必要で、最悪の場合最初からやり直しになります。環境を構築するハードウェアとしてNVIDIA GPUを使用します。

  1. GPU モデルとオペレーティング システムのバージョンを確認する

    # lspci | grep -i vga
    01:00.0 VGA compatible controller: NVIDIA Corporation GM200 [GeForce GTX TITAN X] (rev a1)
    
    # uname -a
    Linux deployer-All-Series 5.15.0-50-generic #56~20.04.1-Ubuntu SMP Tue Sep 27 15:51:29 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
    

    CPU:x86_64

    GPU:GeForce GTX TITAN X

    OS:20.04.1-無料

  2. グラフィックカードドライバーをインストールする

    インストール方法は2通りあり、(1)先にグラフィックカードドライバーをインストールしてからcudaをインストールする、(2)cudaをインストールする際にグラフィックカードドライバーもインストールする。

    方法(2):

    cuda を公式 Web サイトからダウンロードします。ダウンロードする前に登録が必要です。CUDA Toolkit 11.6.2をインストールしましたソフトウェア ウェアハウスには最新バージョンしか保存されていない可能性があるため、指定したバージョンを選択しても最新バージョンがインストールされるため、deb (ローカル) 方法でのインストールはお勧めしません。runfile(local) を選択して、グラフィックス カード ドライバーと cuda の両方を一度にインストールします。

# 下载安装文件到本地
wget https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda_11.6.2_510.47.03_linux.run
# 必须以 sudo 权限安装。
sudo sh cuda_11.6.2_510.47.03_linux.run

インストール ファイルには、グラフィック カード ドライバーと cuda ツールキットが含まれています。これらをインストールするかどうかを選択できます。ここですべてを選択します。

インストールが失敗した場合は、ログ ファイルを確認して失敗の理由を見つけることができます。

  • グラフィックス カード ドライバーのインストール ログ: /var/log/nvidia-installer.log
  • cuda インストール ログ:/var/log/cuda-installer.log

インストールが成功すると、次のメッセージが表示されます。

===========
= Summary =
===========

Driver:   Installed
Toolkit:  Installed in /usr/local/cuda-11.6/

Please make sure that
 -   PATH includes /usr/local/cuda-11.6/bin
 -   LD_LIBRARY_PATH includes /usr/local/cuda-11.6/lib64, or, add /usr/local/cuda-11.6/lib64 to /etc/ld.so.conf and run ldconfig as root

To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-11.6/bin
To uninstall the NVIDIA Driver, run nvidia-uninstall
Logfile is /var/log/cuda-installer.log

ここで PATH と LD_LIBRARY_PATH を設定する必要があります。設定しないと、上位フレームワークは依然として cuda の場所を見つけることができません。

# vi ~/.bashrc
export PATH="$PATH:/usr/local/cuda-11.6/bin"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda-11.6/lib64"
# 退出
source ~/.bashrc

この時点で、グラフィックス カード ドライバーと cuda は一度に正常にインストールされます。

方法 (1): 最初にグラフィックス カード ドライバーをインストールし、次に cuda をインストールします

グラフィックス カード ドライバーのインストール: https://www.cnblogs.com/chua-n/p/13208398.html

cudaのインストール:(2)の方法で選択し、インストール時にcudaをダウンロードします选择不安装 Driver

cuda がインストールされたら、nvidia-smi を使用して GPU 情報を表示できます。

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 510.47.03    Driver Version: 510.47.03    CUDA Version: 11.6     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0 Off |                  N/A |
| 22%   45C    P8    30W / 250W |   5343MiB / 12288MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A   2898247      C   python                           2960MiB |
|    0   N/A  N/A   3553478      C   /usr/local/bin/python3.7         2377MiB |
+-----------------------------------------------------------------------------+
  1. cudnn をインストールする

    公式のインストール手順: https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html

インストールされているバージョンが正確にわかるため、tar パッケージの形式でインストールすることをお勧めします。

  1. 上部フレームを取り付ける

    これを自分で取り付けてください。

おすすめ

転載: blog.csdn.net/yy_diego/article/details/127777797