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

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

高い並列処理機能が必要な場合は、NVIDIA GPU にアクセスできる高速コンピューティングインスタンスを使用するメリットがあります。高速コンピューティングインスタンスを使用すると、CUDA または Open Computing Language (OpenCL) パラレルコンピューティングフレームワークを活用することにより、多数のサイエンス、エンジニアリング、およびレンダリングアプリケーションを高速化できます。また、ゲームストリーミング、3D アプリケーションストリーミング、およびその他のグラフィックスワークロードを含む、グラフィックアプリケーションにも使用できます。

高速コンピューティングインスタンスは HVM ベースのインスタンスとして実行されます。ハードウェア仮想マシン(HVM)仮想化は、AWS プラットフォームによって提供されるハードウェアアシストテクノロジーを使用します。HVM 仮想化によって、VM がネイティブハードウェアプラットフォーム上にあるかのように実行され、Amazon EC2 で各高速コンピューティングインスタンスのディスクリート GPU に占有的にアクセスできます。

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

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

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

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

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) アプリケーションに最適です。

GPU ハードウェア仕様

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Amazon Linux AMI 用のドライバをインストールするには

  1. yum update コマンドを実行して、インスタンスのパッケージの最新バージョンを取得します。

    [ec2-user ~]$ sudo yum update -y
  2. インスタンスを再起動して、最新のカーネルバージョンを読み込みます。

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

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

    [ec2-user ~]$ sudo yum install -y gcc kernel-devel-`uname -r`
  5. 前の手順で特定したドライバパッケージをダウンロードします。たとえば、次のコマンドでは、P2 インスタンスの NVIDIA ドライバの 352.99 バージョンがダウンロードされます。

    [ec2-user ~]$ wget http://us.download.nvidia.com/XFree86/Linux-x86_64/352.99/NVIDIA-Linux-x86_64-352.99.run
  6. NVIDIA ドライバをインストールするための自己インストールスクリプトを実行します。以下に例を示します。

    [ec2-user ~]$ sudo /bin/bash ./NVIDIA-Linux-x86_64-352.99.run
  7. インスタンスを再起動します。

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

    Note

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

    [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 インスタンスのみ) P2 インスタンスを使用している場合は、次のセクションの最適化手順を実行して GPU のベストパフォーマンスを達成します。

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

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

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

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

    Note

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

    [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. インスタンスのすべての GPU で自動ブースト機能を無効にします。

    [ec2-user ~]$ sudo nvidia-smi --auto-boost-default=0
    All done.
  3. すべての GPU クロック速度を最大周波数に設定します。

    [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.