メニュー
Amazon Elastic Compute Cloud
Linux インスタンス用ユーザーガイド

Linux 高速コンピューティングインスタンス

高度な処理機能が必要な場合は、高速コンピューティングインスタンスを使用すると、Graphics Processing Units (GPUs) や Field Programmable Gate Arrays (FPGAs) などのハードウェアベースのコンピューティングアクセラレーターにアクセスできます。高速コンピューティングインスタンスでは、大量の演算を行うワークロードでさらに多くの並列処理が可能となり、より高いスループットが得られます。

GPU ベースのインスタンスでは、数千のコンピューティングコアを持つ NVIDIA GPU にアクセスできます。GPU ベースの高速コンピューティングインスタンスを使用すると、CUDA または Open Computing Language (OpenCL) パラレルコンピューティングフレームワークを活用することにより、サイエンス、エンジニアリング、およびレンダリングアプリケーションを高速化できます。また、ゲームストリーミング、3D アプリケーションストリーミング、およびその他のグラフィックスワークロードを含む、グラフィックアプリケーションにも使用できます。

FPGA ベースのインスタンスでは、数百万の並列システム論理セルを持つ大きな FPGA にアクセスできます。FPGA ベースの高速コンピューティングインスタンスを使用すると、カスタムハードウェアアクセラレーションを活用することにより、ゲノム解析、財務分析、リアルタイム動画処理、ビッグデータ解析、およびセキュリティワークロードなどのワークロードを高速化できます。Verilog や VHDL などのハードウェア記述言語を使用するか、または OpenCL パラレルコンピューティングフレームワークなどの高レベル言語を使用して、これらの加速度を開発できます。ハードウェアアクセラレーションコードを自身で作成することも、AWS Marketplace からハードウェアアクセラレーションを購入することもできます。

重要

FPGA ベースのインスタンスは、Microsoft Windows をサポートしていません。

高速コンピューティングインスタンスをプレイスメントグループにクラスター化できます。プレイスメントグループは、1 つのアベイラビリティーゾーン内で、インスタンス間の低レイテンシーで高帯域幅の接続を実現します。詳細については、「プレイスメントグループ」を参照してください。

Windows 高速コンピューティングインスタンスについては、「Windows 高速コンピューティングインスタンス」 (Windows インスタンスの Amazon EC2 ユーザーガイド) を参照してください。

高速コンピューティングインスタンスファミリー

高速コンピューティングインスタンスファミリーは、ハードウェアアクセラレーターやコプロセッサーを使用して、浮動小数点数計算、グラフィック処理、データパターンマッチングのような機能を CPU で実行されるソフトウェア以上に効率的に実行します。次の高速コンピューティングインスタンスファミリーを Amazon EC2 で起動できます。

F1 インスタンス

F1 インスタンスは Xilinx UltraScale+ VU9P FPGA を使用し、汎用 CPU に適さないデータフローや高度な並列処理のような計算集約型のアルゴリズムを高速化するように設計されています。F1 インスタンスの各 FPGA には、約 250 万の論理要素と約 6,800 のデジタル信号処理 (DSP) エンジン、ローカルの 64 GiB DDR ECC 保護メモリが含まれ、専用の PCIe Gen3 x16 接続によってインスタンスに接続されています。F1 インスタンスは Elastic Network Adapter (ENA) を使用した拡張ネットワーキングをサポートし、デフォルトで EBS に最適化され、ローカルの NVMe SSD ボリュームを提供します。

開発者は FPGA Developer AMI および AWS Hardware Developer Kit を使用して、F1 インスタンスで使用するカスタムハードウェアアクセラレーションを作成できます。FPGA Developer AMI には、クラウド上の FPGA 完全サイクル開発用の開発ツールが含まれます。これらのツールを使用して、開発者は F1 インスタンスの FPGA にロードできる Amazon FPGA Image (AFI) を作成し、共有できます。

詳細については、「Amazon EC2 F1 インスタンス」を参照してください。

P2 インスタンス

P2 インスタンスは NVIDIA Tesla K80 GPU を使用し、CUDA または OpenCL プログラミングモデルを使用する汎用 GPU コンピューティング用に設計されています。P2 インスタンスは高帯域幅ネットワーキング、強力な単精度および倍精度浮動小数点機能、および GPU ごとに 12 GiB メモリを提供し、ディープラーニング、グラフデータベース、高パフォーマンスデータベース、数値流体力学、金融工学、耐震解析、分子モデリング、ゲノム解析、レンダリング、その他サーバー側 GPU コンピューティングワークロードに最適です。

G3 インスタンス

G3 インスタンスは NVIDIA Tesla M60 GPU を使用し、DirectX または OpenGL を使用してグラフィックアプリケーション向けに費用対効果の高パフォーマンスのプラットフォームを提供します。また、G3 インスタンスは NVIDIA GRID 仮想ワークステーション機能も提供し、最大で 4096x2160 の解像度の 4 つのモニターをサポートします。アプリケーションの例としては、3D ビジュアライゼーション、グラフィックを強化したリモートワークステーション、3D レンダリング、動画エンコード、仮想リアリティやそのほかの大規模なパラレル処理を必要とするサーバー側のグラフィックワークロードなどが挙げられます。

G2 インスタンス

G2 インスタンスは NVIDIA GRID K520 GPU を使用し、DirectX または OpenGL を使用してグラフィックアプリケーション向けに費用対効果の高パフォーマンスのプラットフォームを提供します。NVIDIA GRID GPU は、NVIDIA の高速キャプチャおよびエンコード API オペレーションもサポートします。アプリケーションのサンプルには、動画作成サービス、3D 仮想化、グラフィックを多用したストリーミングアプリケーションなどのサーバー側のグラフィックワークロードが含まれています。

CG1 インスタンス

CG1 インスタンスは NVIDIA Tesla M2050 GPU を使用し、CUDA または OpenCL プログラミングモデルを使用する汎用 GPU コンピューティング用に設計されています。CG1 インスタンスは、高帯域幅ネットワーキング、倍精度浮動小数点機能、および ECC (error-correcting code) メモリを提供し、高パフォーマンスコンピューティング (HPC) アプリケーションに最適です。

ハードウェア仕様

各 Amazon EC2 インスタンスタイプのハードウェア仕様については、「Amazon EC2 インスタンス」を参照してください。

高速コンピューティングインスタンスの制限

高速コンピューティングインスタンスには以下の制限があります。

  • インスタンスは、HVM AMI を使用して起動する必要があります。

  • NVIDIA ドライバーがインストールされていない限り、GPU ベースのインスタンスは GPU にアクセスできません。

  • リージョンごとに 100 AFI という制限があります。

  • 実行できるインスタンス数は制限されています。詳細については、Amazon EC2 のよくある質問の「Amazon EC2 で実行できるインスタンス数の上限は?」を参照してください。これらの制限の拡大を申請するには、Request to Increase Amazon EC2 Instance Limit というフォームを使用してください。

GPU ベースの高速コンピューティングインスタンス用の AMI

すぐに作業を開始できるように、NVIDIA から GPU ベースの高速コンピューティングインスタンス用の AMI が提供されています。これらのリファレンス AMI には、NVIDIA GPU の完全な機能とパフォーマンスを有効にする NVIDIA ドライバーが含まれています。

NVIDIA ドライバーがある AMI の一覧については、AWS Marketplace (NVIDIA GRID) を参照してください。

HVM AMI を使用して高速コンピューティングインスタンスを起動できます。

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

GPU ベースの高速コンピューティングインスタンスには適切な NVIDIA ドライバーが必要です。インストールする NVIDIA ドライバーは、インスタンスで実行するよう意図したカーネルに対してコンパイルされる必要があります。

Amazon は、AWS Marketplace での公式の各カーネル更新のために、NVIDIA カーネルドライバーの互換性のある更新済みビルドを AMI に提供しています。Amazon が提供するバージョン以外の NVIDIA ドライバーバージョンを使用する場合、あるいは公式の Amazon ビルド以外のカーネルを使用する場合は、インストールするドライバーのバージョンとの競合を回避するために、Amazon が提供する NVIDIA パッケージをシステムからアンインストールする必要があります。

このコマンドを使用して、Amazon が提供する NVIDIA パッケージをアンインストールします。

Copy
sudo yum erase nvidia cuda

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

NVIDIA ドライバの取得

G3 インスタンスの場合、AWS CLI または SDK を使用して Amazon S3 からドライバをダウンロードできます。 AWS CLI をインストールするには、「AWS Command Line Interface のインストール」を AWS Command Line Interface ユーザーガイド で参照してください。次の AWS CLI コマンドを使用してドライバをダウンロードします。

重要

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

Copy
aws s3 cp --recursive s3://ec2-linux-nvidia-drivers/ .

注記

Unable to locate credentials エラーが発生した場合は、「AWS CLI の設定」を参照して、AWS 認証情報を使用するように AWS CLI を設定してください。

P2、G2、CG1 インスタンスには、NVIDIA ドライバーを http://www.nvidia.com/Download/Find.aspx からダウンロードできます。インスタンスの適切なドライブを選択します。

P2 インスタンス

製品タイプ Tesla
製品シリーズ K シリーズ
製品 K-80
オペレーティングシステム Linux 64 ビット
推奨/ベータ版 推奨/認定

G2 インスタンス

製品タイプ GRID
製品シリーズ GRID シリーズ
製品 GRID K520
オペレーティングシステム Linux 64 ビット
推奨/ベータ版 推奨/認定

CG1 インスタンス

製品タイプ Tesla
製品シリーズ M-Class
製品 M2050
オペレーティングシステム Linux 64 ビット
推奨/ベータ版 推奨/認定

ドライバーのインストールと設定の詳細については、NVIDIA ウェブサイトのドライバーのダウンロードページで [ADDITIONAL INFORMATION] タブを選択し、[README] リンクを選択します。

NVIDIA ドライバーの手動インストール

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

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

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

      Copy
      sudo yum update -y
    • Ubuntu と Debian の場合:

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

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

    Copy
    sudo reboot
  4. 再起動後にインスタンスに再接続します。

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

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

      Copy
      sudo yum install -y gcc kernel-devel-$(uname -r)
    • Ubuntu と Debian の場合:

      Copy
      sudo apt-get install -y gcc linux-headers-$(uname -r)
  6. (グラフィックインスタンスのみ) NVIDIA グラフィックカード用の nouveau オープンソースを無効化します。

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

      Copy
      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 に次のテキストを貼り付けます。

      Copy
      modprobe.blacklist=nouveau
    3. Grub 設定を再構築します。

      • CentOS と Red Hat Enterprise Linux:

        Copy
        sudo grub2-mkconfig -o /boot/grub2/grub.cfg
      • Ubuntu と Debian の場合:

        Copy
        sudo update-grub
  7. 前の手順で特定したドライバーパッケージをダウンロードします。P2 インスタンスでは、次のコマンドで NVIDIA ドライバーの 375.66 バージョンがダウンロードされます。

    Copy
    wget http://us.download.nvidia.com/XFree86/Linux-x86_64/375.66/NVIDIA-Linux-x86_64-375.66.run

    G3 インスタンスの場合、AWS CLI または SDK を使用して Amazon S3 からドライバをダウンロードできます。 AWS CLI をインストールするには、「AWS Command Line Interface のインストール」を AWS Command Line Interface ユーザーガイド で参照してください。AWS CLI コマンドを使用してドライバーと NVIDIA GRID Cloud End User License Agreement をダウンロードします。

    重要

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

    Copy
    aws s3 cp --recursive s3://ec2-linux-nvidia-drivers/ .
  8. セルフインストールスクリプトを実行して、前のステップでダウンロードした NVIDIA ドライバーをインストールします。(例:

    Copy
    sudo /bin/bash ./NVIDIA-Linux-x86_64-375.66.run
  9. インスタンスを再起動します。

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

    注記

    このコマンドの実行には数分かかることがあります。

    Copy
    nvidia-smi -q | head
  11. (G3 インスタンスのみ) G3 インスタンスを使用している場合には、「GRID ワークステーション機能をアクティベートする (G3 インスタンスのみ)」で GRID アクティベーションステップを完了します。

  12. (P2 と G3 インスタンスのみ) P2 または G3 インスタンスを使用している場合は、「GPU 設定の最適化 (P2 と G3 インスタンスのみ) 」の最適化手順を実行して GPU のベストパフォーマンスを達成します。

GRID ワークステーション機能をアクティベートする (G3 インスタンスのみ)

G3 インスタンスで GRID 機能をアクティベートするには、レジストリの /etc/nvidia/gridd.conf ファイル

G3 Linux インスタンスで GRID 機能をアクティベートする

  1. 提供されるテンプレートファイルから /etc/nvidia/gridd.conf ファイルを作成します。

    Copy
    sudo cp /etc/nvidia/gridd.conf.template /etc/nvidia/gridd.conf
  2. お好きなテキストエディタで /etc/nvidia/gridd.conf ファイルを開きます。

  3. FeatureType 行を見つけ、それを 2 に等しく設定します。

    Copy
    FeatureType=2
  4. ファイルを保存して終了します。

  5. nvidia-gridd ライセンスデーモンを再起動して、新しい設定を有効にします。

    Copy
    sudo service nvidia-gridd restart

GPU 設定の最適化 (P2 と G3 インスタンスのみ)

P2 と G3 インスタンスで最大のパフォーマンスを実現するための GPU 設定の最適化には、さまざまなものがあります。デフォルトでは、NVIDIA ドライバーは自動ブースト機能を使用しますが、これは GPU クロック速度に左右されます。自動ブースト機能を無効にし、GPU クロック速度を最大周波数に設定することで、安定して P2 と G3 インスタンスで最大パフォーマンスを実現できます。次の手順では、GPU 設定を永続的に設定し、自動ブースト機能を無効化して、GPU クロック速度を最大周波数に設定します。

P2 または G3 GPU 設定を最適化するには

  1. GPU 設定を永続的になるように設定します。

    注記

    このコマンドの実行には数分かかることがあります。

    Copy
    sudo nvidia-smi -pm 1
  2. インスタンスのすべての GPU で自動ブースト機能を無効にします。

    Copy
    sudo nvidia-smi --auto-boost-default=0
  3. すべての GPU クロック速度を最大周波数に設定します。以下のインスタンスタイプごとに一覧表示されたメモリとグラフィックのクロック速度を使用します。

    • P2 インスタンス用: 2505,875

    • G3 インスタンス用: 2505,1177

    Copy
    sudo nvidia-smi -ac 2505,1177

FPGA 開発を開始する

FPGA Developer AMI は、AFI を開発、テスト、および構築するためのツールを提供します。FPGA Developer AMI は、32 GB 以上のシステムメモリを備える任意の EC2 インスタンス (例: C4 インスタンス) で使用できます。

詳細については、「AWS FPGA Hardware Development Kit」を参照してください。