Linux インスタンスへの NVIDIA ドライバーのインストール - Amazon Elastic Compute Cloud

Linux インスタンスへの NVIDIA ドライバーのインストール

GPU がアタッチされたインスタンス (P3 インスタンスや G4 インスタンスなど) には、適切な NVIDIA ドライバーがインストールされている必要があります。インスタンスタイプにより、パブリック NVIDIA ドライバー、または AWS カスタマーのみが使用できる Amazon S3 のドライバーをダウンロードするか、プリインストールされているドライバーで AMI を使用できます。

NVIDIA ドライバーの種類

GPU ベースのインスタンスで使用できる主な種類の NVIDIA ドライバーを次に示します。

Tesla ドライバー

これらのドライバーは主に、機械学習用の並列浮動小数点計算、ハイパフォーマンスコンピューティングアプリケーション用の高速フーリエ変換などの計算タスクに GPU を使用するコンピューティングワークロードを対象としています。

GRID ドライバー

これらのドライバーは、3D モデルや高解像度動画などのコンテンツをレンダリングするプロフェッショナルな視覚化アプリケーションに最適なパフォーマンスを提供することが認定されています。GRID ドライバーを構成すると、2 つのモードをサポートできます。Quadro Virtual Workstation は、GPU あたり 4 台の 4K ディスプレイへのアクセスを提供します。GRID vApps は、RDSH アプリのホスティング機能を提供します。

ゲームドライバー

これらのドライバーはゲーム用に最適化されており、パフォーマンスを向上させるために頻繁に更新されます。これらは GPU あたり単一の 4K ディスプレイをサポートします。

NVIDIA コントロールパネル

NVIDIA コントロールパネルは、GRID およびゲームドライバーでサポートされています。Tesla ドライバーではサポートされていません。

Tesla、GRID、およびゲームとライバーに対してサポートされている API

  • OpenCL、OpenGL、Vulkan

  • NVIDIA CUDA および関連ライブラリ (cuDNN、TensorRT、nvJPEG、cuBLAS など)

  • 動画エンコード用の NVENC と動画デコード用の NVDEC

インスタンスタイプ別の使用可能なドライバー

次の表は、GPU インスタンスタイプごとにサポートされている NVIDIA ドライバーをまとめたものです。

インスタンスタイプ Tesla ドライバー GRID ドライバー ゲームドライバー
G2 いいえ はい いいえ
G3 あり はい いいえ
G4 はい はい あり
P2 はい いいえ いいえ
P3 はい はい † いいえ

† Marketplace AMI のみを使用

インストールオプション

次のいずれかのオプションを使用して、GPU インスタンスに必要な NVIDIA ドライバーを取得します。

オプション 1: NVIDIA ドライバーがインストールされた AMI

AWS と NVIDIA では、NVIDIA ドライバーがインストールされた、それぞれ異なる Amazon マシンイメージ (AMI) を提供しています。

これらの AMI のいずれかを使用してインストールされたドライバーのバージョンを更新するには、バージョンの競合を避けるために、インスタンスから NVIDIA パッケージをアンインストールする必要があります。次のコマンドを使用して、NVIDIA パッケージをアンインストールします。

[ec2-user ~]$ sudo yum erase nvidia cuda

CUDA ツールキットパッケージは、NVIDIA ドライバーに依存します。NVIDIA パッケージをアンインストールすると、CUDA ツールキットが消去されます。NVIDIA ドライバーをインストールした後に、CUDA ツールキットを再インストールする必要があります。

オプション 2: パブリック NVIDIA ドライバー

AWS が提供するオプションには、ドライバーに必要なライセンスが付属しています。または、パブリックドライバーをインストールし、自分のライセンスを使用することもできます。パブリックドライバーをインストールするには、ここで説明するように NVIDIA サイトからドライバーをダウンロードします。

または、パブリックドライバーの代わりに AWS が提供するオプションを使用することもできます。P3 インスタンスで GRID ドライバーを使用するには、オプション 1 の説明に従って AWS Marketplace AMI を使用します。G3 インスタンスまたは G4 インスタンスで GRID ドライバーを使用するには、オプション 1 の説明に従って AWS Marketplace AMI を使用するか、オプション 3 の説明に従って AWS が提供する NVIDIA ドライバーをインストールします。

パブリック NVIDIA ドライバーをダウンロードするには

Linux インスタンスにログオンし、http://www.nvidia.com/Download/Find.aspx から、使用するインスタンスタイプに適した 64 ビット NVIDIA ドライバーをダウンロードします。[製品タイプ]、[製品シリーズ]、[製品] の順にクリックし、次の表に示すオプションを使用します。

インスタンス 製品タイプ 製品シリーズ 製品
G2 GRID GRID シリーズ GRID K520
G3 Tesla M-Class M60
G4 † Tesla T シリーズ T4
P2 Tesla K シリーズ K80
P3 Tesla V シリーズ V100

† G4 インスタンスは、ドライバーバージョン 418.87 以降が必要です。

Linux で NVIDIA ドライバーをインストールするには

ドライバーのインストールと設定の詳細については、NVIDIA Driver Installation Quickstart Guide を参照してください。

オプション 3: GRID ドライバー (G3 および G4 インスタンス)

これらのダウンロードは、AWS カスタマーのみが利用できます。ダウンロードすることで、ダウンロードしたソフトウェアは、NVIDIA Tesla T4 または NVIDIA Tesla M60 ハードウェアで、AMI の開発目的のみに使用することに同意したことになります。このソフトウェアをインストールすることは、NVIDIA GRID Cloud End User License Agreement の規約の遵守に同意したものと見なされます。

前提条件

  • Linux インスタンスに AWS CLI をインストールし、デフォルトの認証情報を設定します。詳細については、AWS Command Line Interface ユーザーガイドの「AWS CLI のインストール」を参照してください。

  • IAM ユーザーは、AmazonS3ReadOnlyAccess ポリシーによって付与されたアクセス許可を持っている必要があります。

Linux インスタンスに NVIDIA GRID ドライバーをインストールするには

  1. Linux インスタンスに接続します。gcc および make をインストールします (まだインストールされていない場合)。

  2. パッケージのキャッシュを更新し、インスタンスに必要なパッケージの更新を取得します。

    • Amazon Linux、CentOS、Red Hat Enterprise Linux の場合:

      [ec2-user ~]$ sudo yum update -y
    • Ubuntu と Debian の場合:

      $ sudo apt-get update -y
  3. (linux-aws パッケージの Ubuntu 16.04 以降) linux-aws パッケージをアップグレードして、最新バージョンを取得します。

    $ sudo apt-get upgrade -y linux-aws
  4. インスタンスを再起動して、最新のカーネルバージョンを読み込みます。

    [ec2-user ~]$ sudo reboot
  5. 再起動後にインスタンスに再接続します。

  6. 現在実行しているカーネルのバージョン用の gcc コンパイラおよびカーネルヘッダーパッケージをインストールします。

    • Amazon Linux、CentOS、Red Hat Enterprise Linux の場合:

      [ec2-user ~]$ sudo yum install -y gcc kernel-devel-$(uname -r)
    • Ubuntu と Debian の場合:

      $ sudo apt-get install -y gcc make linux-headers-$(uname -r)
  7. [CentOS、Red Hat Enterprise Linux、Ubuntu、Debian] NVIDIAグラフィックカード用の nouveau オープンソースドライバーを無効にします。

    1. nouveau ブラックリストファイルに /etc/modprobe.d/blacklist.conf を追加します。次のコードブロックをコピーして、ターミナルに貼り付けます。

      [ec2-user ~]$ cat << EOF | sudo tee --append /etc/modprobe.d/blacklist.conf blacklist vga16fb blacklist nouveau blacklist rivafb blacklist nvidiafb blacklist rivatv EOF
    2. /etc/default/grub ファイルを編集して、次の行を追加します。

      GRUB_CMDLINE_LINUX="rdblacklist=nouveau"
    3. Grub 設定を再構築します。

      • CentOS と Red Hat Enterprise Linux の場合:

        [ec2-user ~]$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
      • Ubuntu と Debian の場合:

        $ sudo update-grub
  8. 次のコマンドを使用して、GRID ドライバーインストールユーティリティをダウンロードします。

    • G3 インスタンス用:

      [ec2-user ~]$ aws s3 cp --recursive s3://ec2-linux-nvidia-drivers/latest/ .
    • G4 インスタンス用:

      [ec2-user ~]$ aws s3 cp --recursive s3://ec2-linux-nvidia-drivers/g4/latest/ .

    GRID ドライバーの複数のバージョンがこのバケットに保存されます。使用可能なバージョンをすべて表示するには、次のコマンドを使用します。

    [ec2-user ~]$ aws s3 ls --recursive s3://ec2-linux-nvidia-drivers/
  9. 次のコマンドを使用して、ドライバーのインストールを実行するアクセス権限を追加します。

    [ec2-user ~]$ chmod +x NVIDIA-Linux-x86_64*.run
  10. 次のようにセルフインストールスクリプトを実行して、ダウンロードした GRID ドライバーをインストールします。次に例を示します。

    [ec2-user ~]$ sudo /bin/sh ./NVIDIA-Linux-x86_64*.run

    プロンプトが表示されたら、ライセンス契約を受諾し、必要に応じてインストールオプションを指定します (デフォルトのオプションを使用できます)。

  11. インスタンスを再起動します。

    [ec2-user ~]$ sudo reboot
  12. ドライバーが機能していることを確認します。次のコマンドのレスポンスに、インストールされた NVIDIA ドライバーバージョンおよび GPU に関する詳細が表示されます。

    [ec2-user ~]$ nvidia-smi -q | head
  13. (オプション) 最大 4K 解像度の 4 台のディスプレイを活用するには、高性能ディスプレイプロトコル、NICE DCV を設定します。

  14. (オプション) NVIDIA Quadro 仮想ワークステーションモードはデフォルトで有効になっています。RDSH アプリケーションホスティング機能用に GRID 仮想アプリケーションをアクティブ化するには、「NVIDIA GRID 仮想アプリケーションの有効化」の GRID 仮想アプリケーションのアクティブ化手順を完了します。

オプション 4: NVIDIA ゲームドライバー (G4 インスタンス)

これらのドライバーは、AWS カスタマーのみが利用できます。これらをダウンロードすることで、ダウンロードしたソフトウェアは、NVIDIA Tesla T4 ハードウェアで、AMI の開発目的のみに使用することに同意したことになります。このソフトウェアをインストールすることは、NVIDIA GRID Cloud End User License Agreement の規約の遵守に同意したものと見なされます。

前提条件

  • Linux インスタンスに AWS CLI をインストールし、デフォルトの認証情報を設定します。詳細については、AWS Command Line Interface ユーザーガイドの「AWS CLI のインストール」を参照してください。

  • IAM ユーザーは、AmazonS3ReadOnlyAccess ポリシーによって付与されたアクセス許可を持っている必要があります。

Linux インスタンスに NVIDIA ゲームドライバーをインストールするには

  1. Linux インスタンスに接続します。gcc および make をインストールします (まだインストールされていない場合)。

  2. パッケージのキャッシュを更新し、インスタンスに必要なパッケージの更新を取得します。

    • Amazon Linux、CentOS、Red Hat Enterprise Linux の場合:

      [ec2-user ~]$ sudo yum update -y
    • Ubuntu と Debian の場合:

      $ sudo apt-get update -y
  3. (linux-aws パッケージの Ubuntu 16.04 以降) linux-aws パッケージをアップグレードして、最新バージョンを取得します。

    $ sudo apt-get upgrade -y linux-aws
  4. インスタンスを再起動して、最新のカーネルバージョンを読み込みます。

    [ec2-user ~]$ sudo reboot
  5. 再起動後にインスタンスに再接続します。

  6. 現在実行しているカーネルのバージョン用の gcc コンパイラおよびカーネルヘッダーパッケージをインストールします。

    • Amazon Linux、CentOS、Red Hat Enterprise Linux の場合:

      [ec2-user ~]$ sudo yum install -y gcc kernel-devel-$(uname -r)
    • Ubuntu と Debian の場合:

      $ sudo apt-get install -y gcc make linux-headers-$(uname -r)
  7. [CentOS、Red Hat Enterprise Linux、Ubuntu、Debian] NVIDIAグラフィックカード用の nouveau オープンソースドライバーを無効にします。

    1. nouveau ブラックリストファイルに /etc/modprobe.d/blacklist.conf を追加します。次のコードブロックをコピーして、ターミナルに貼り付けます。

      [ec2-user ~]$ cat << EOF | sudo tee --append /etc/modprobe.d/blacklist.conf blacklist vga16fb blacklist nouveau blacklist rivafb blacklist nvidiafb blacklist rivatv EOF
    2. /etc/default/grub ファイルを編集して、次の行を追加します。

      GRUB_CMDLINE_LINUX="rdblacklist=nouveau"
    3. Grub 設定を再構築します。

      • CentOS と Red Hat Enterprise Linux の場合:

        [ec2-user ~]$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
      • Ubuntu と Debian の場合:

        $ sudo update-grub
  8. 次のコマンドを使用して、ゲームドライバーインストールユーティリティをダウンロードします。

    [ec2-user ~]$ aws s3 cp --recursive s3://nvidia-gaming/linux/latest/ .

    ゲームドライバーの複数のバージョンがこのバケットに保存されます。使用可能なバージョンをすべて表示するには、次のコマンドを使用します。

    [ec2-user ~]$ aws s3 ls --recursive s3://nvidia-gaming/linux/
  9. 次のコマンドを使用して、ドライバーのインストールを実行するアクセス権限を追加します。

    [ec2-user ~]$ chmod +x NVIDIA-Linux-x86_64*.run
  10. 次のコマンドを使用してインストーラを実行します。

    [ec2-user ~]$ sudo ./NVIDIA-Linux-x86_64*.run

    プロンプトが表示されたら、ライセンス契約を受諾し、必要に応じてインストールオプションを指定します (デフォルトのオプションを使用できます)。

  11. 次のコマンドを使用して必要な設定ファイルを作成します。

    [ec2-user ~]$ cat << EOF | sudo tee -a /etc/nvidia/gridd.conf vGamingMarketplace=2 EOF
  12. 次のコマンドを使用して認証ファイルをダウンロードし、名前を変更します。

    • バージョン 440.68 以降:

      [ec2-user ~]$ sudo curl -o /etc/nvidia/GridSwCert.txt "https://nvidia-gaming.s3.amazonaws.com/GridSwCert-Archive/GridSwCert-Linux_2020_04.cert"
    • それより前のバージョン:

      [ec2-user ~]$ sudo curl -o /etc/nvidia/GridSwCert.txt "https://nvidia-gaming.s3.amazonaws.com/GridSwCert-Archive/GridSwCert-Linux_2019_09.cert"
  13. インスタンスを再起動します。

    [ec2-user ~]$ sudo reboot
  14. (オプション) 最大 4K 解像度の 1 台のディスプレイを活用するには、高性能ディスプレイプロトコル、NICE DCV を設定します。