メニュー
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 コンピューティングワークロードに最適です。

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 を使用して高速コンピューティングインスタンスを起動できます。

Amazon Linux での NVIDIA ドライバーのインストール

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

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

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

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

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

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 ドライバーの手動インストール

To install the driver for an Amazon Linux AMI

  1. Run the yum update command to get the latest versions of packages for your instance.

    Copy
    [ec2-user ~]$ sudo yum update -y
  2. Reboot your instance to load the latest kernel version.

    Copy
    [ec2-user ~]$ sudo reboot
  3. Reconnect to your instance after it has rebooted.

  4. Install the gcc compiler and the kernel-devel package for the version of the kernel you are currently running.

    Copy
    [ec2-user ~]$ sudo yum install -y gcc kernel-devel-`uname -r`
  5. Download the driver package that you identified earlier. For example, the following command downloads the 352.99 version of the NVIDIA driver for P2 instances.

    Copy
    [ec2-user ~]$ wget http://us.download.nvidia.com/XFree86/Linux-x86_64/352.99/NVIDIA-Linux-x86_64-352.99.run
  6. Run the self-install script to install the NVIDIA driver. For example:

    Copy
    [ec2-user ~]$ sudo /bin/bash ./NVIDIA-Linux-x86_64-352.99.run
  7. Reboot the instance.

    Copy
    [ec2-user ~]$ sudo reboot
  8. Confirm that the driver is functional. The response for the following command lists the installed NVIDIA driver version and details about the GPUs.

    注記

    This command may take several minutes to run.

    Copy
    [ec2-user ~]$ nvidia-smi -q | head ==============NVSMI LOG============== Timestamp : Thu Aug 25 04:59:03 2016 Driver Version : 352.99 Attached GPUs : 8 GPU 0000:00:04.0 Product Name : Tesla K80 Product Brand : Tesla
  9. (P2 instances only) If you are using a P2 instance, complete the optimization steps in the next section to achieve the best performance from your GPU.

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

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

To optimize P2 GPU settings

  1. Configure the GPU settings to be persistent.

    注記

    This command may take several minutes to run.

    Copy
    [ec2-user ~]$ sudo nvidia-smi -pm 1 Enabled persistence mode for GPU 0000:00:0F.0. Enabled persistence mode for GPU 0000:00:10.0. Enabled persistence mode for GPU 0000:00:11.0. Enabled persistence mode for GPU 0000:00:12.0. Enabled persistence mode for GPU 0000:00:13.0. Enabled persistence mode for GPU 0000:00:14.0. Enabled persistence mode for GPU 0000:00:15.0. Enabled persistence mode for GPU 0000:00:16.0. Enabled persistence mode for GPU 0000:00:17.0. Enabled persistence mode for GPU 0000:00:18.0. Enabled persistence mode for GPU 0000:00:19.0. Enabled persistence mode for GPU 0000:00:1A.0. Enabled persistence mode for GPU 0000:00:1B.0. Enabled persistence mode for GPU 0000:00:1C.0. Enabled persistence mode for GPU 0000:00:1D.0. Enabled persistence mode for GPU 0000:00:1E.0. All done.
  2. Disable the autoboost feature for all GPUs on the instance.

    Copy
    [ec2-user ~]$ sudo nvidia-smi --auto-boost-default=0 All done.
  3. Set all GPU clock speeds to their maximum frequency.

    Copy
    [ec2-user ~]$ sudo nvidia-smi -ac 2505,875 Applications clocks set to "(MEM 2505, SM 875)" for GPU 0000:00:0F.0 Applications clocks set to "(MEM 2505, SM 875)" for GPU 0000:00:10.0 Applications clocks set to "(MEM 2505, SM 875)" for GPU 0000:00:11.0 Applications clocks set to "(MEM 2505, SM 875)" for GPU 0000:00:12.0 Applications clocks set to "(MEM 2505, SM 875)" for GPU 0000:00:13.0 Applications clocks set to "(MEM 2505, SM 875)" for GPU 0000:00:14.0 Applications clocks set to "(MEM 2505, SM 875)" for GPU 0000:00:15.0 Applications clocks set to "(MEM 2505, SM 875)" for GPU 0000:00:16.0 Applications clocks set to "(MEM 2505, SM 875)" for GPU 0000:00:17.0 Applications clocks set to "(MEM 2505, SM 875)" for GPU 0000:00:18.0 Applications clocks set to "(MEM 2505, SM 875)" for GPU 0000:00:19.0 Applications clocks set to "(MEM 2505, SM 875)" for GPU 0000:00:1A.0 Applications clocks set to "(MEM 2505, SM 875)" for GPU 0000:00:1B.0 Applications clocks set to "(MEM 2505, SM 875)" for GPU 0000:00:1C.0 Applications clocks set to "(MEM 2505, SM 875)" for GPU 0000:00:1D.0 Applications clocks set to "(MEM 2505, SM 875)" for GPU 0000:00:1E.0 All done.

FPGA 開発を開始する

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

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