特定の Batch ジョブを実行するために、大規模な計算用に設計された Azure VM サイズを利用できます。 次に例を示します。
マルチインスタンスの MPI ワークロードを実行するには、リモート ダイレクト メモリ アクセス (RDMA) 用のネットワーク インターフェイスを備えた HB、HC、NC、ND シリーズなどのサイズを選択します。 これらのサイズでは、InfiniBand ネットワークに接続してノード間通信を行うため、MPI アプリケーションを高速化できます。
CUDA アプリケーションの場合は、NVIDIA Tesla グラフィックス処理装置 (GPU) カードを備えた N シリーズのサイズを選択します。
この記事では、Batch プールで Azure の特殊なサイズを使用するためのガイダンスと例を示します。 仕様と背景については、以下をご覧ください。
Note
特定の VM サイズは、Batch アカウントを作成したリージョンで使用できない場合があります。 特定のサイズが使用可能かどうかを確認するには、「リージョン別の利用可能な製品」および Batch プールの VM サイズの選択に関するページをご覧ください。
依存関係
Batch のコンピューティング集中型サイズの RDMA または GPU の機能は、特定のオペレーティング システムでのみサポートされます。 これらの VM サイズでサポートされるオペレーティング システムには、仮想マシンの作成に使用できるオペレーティング システムのサブセットのみが含まれます。 Batch プールの作成方法によっては、追加のドライバーや他のソフトウェアをノードにインストールまたは構成する必要があります。 以下の表に、これらの依存関係を示します。 詳細については、リンク先の記事をご覧ください。 Batch プールの構成オプションについては、この記事で後述します。
Linux プール - 仮想マシン構成
サイズ | 機能 | オペレーティング システム | 必要なソフトウェア | プールの設定 |
---|---|---|---|---|
H16r、H16mr NC24r、NC24rs_v2、NC24rs_v3、ND24rs* |
RDMA | Ubuntu 22.04 LTS (Azure Marketplace) |
Intel MPI 5 Linux RDMA ドライバー |
ノード間通信を有効にし、同時実行タスクの実行を無効にする |
NCv3、NDv2、NDv4、NDv5 シリーズ | NVIDIA Tesla GPU (シリーズによって異なります) | Ubuntu 22.04 LTS (Azure Marketplace) |
NVIDIA CUDA または CUDA Toolkit ドライバー | 該当なし |
NVv3、NVv4、NVv5 シリーズ | 高速視覚化 GPU | Ubuntu 22.04 LTS (Azure Marketplace) |
NVIDIA GRID ドライバーまたは AMD GPU ドライバー | 該当なし |
*RDMA 対応 N シリーズのサイズには NVIDIA Tesla GPU も含まれます
重要
このドキュメントでは、サポート終了 (EOL) が近い、また既にサポートが終了した Linux のリリース バージョンを参照しています。 より新しいバージョンへの更新をご検討ください。
Windows プール - 仮想マシン構成
サイズ | 機能 | オペレーティング システム | 必要なソフトウェア | プールの設定 |
---|---|---|---|---|
H16r、H16mr NC24r、NC24rs_v2、NC24rs_v3、ND24rs* |
RDMA | Windows Server 2016、2012 R2、または 2012 (Azure Marketplace) |
Microsoft MPI 2012 R2 以降または Intel MPI 5 Windows RDMA ドライバー |
ノード間通信を有効にし、同時実行タスクの実行を無効にする |
NC、NCv2、NCv3、ND、NDv2 シリーズ | NVIDIA Tesla GPU (シリーズによって異なります) | Windows Server 2016 または 2012 R2 (Azure Marketplace) |
NVIDIA CUDA または CUDA Toolkit ドライバー | 該当なし |
NV、NVv2、NVv4 シリーズ | NVIDIA Tesla M60 GPU | Windows Server 2016 または 2012 R2 (Azure Marketplace) |
NVIDIA GRID ドライバー | 該当なし |
*RDMA 対応 N シリーズのサイズには NVIDIA Tesla GPU も含まれます
Windows プール - クラウド サービス構成
警告
Cloud Services 構成プールは非推奨とされます。 代わりに、仮想マシン構成プールを使用してください。
サイズ | 機能 | オペレーティング システム | 必要なソフトウェア | プールの設定 |
---|---|---|---|---|
H16r、H16mr | RDMA | Windows Server 2016、2012 R2、2012、または 2008 R2 (ゲスト OS ファミリ) |
Microsoft MPI 2012 R2 以降または Intel MPI 5 Windows RDMA ドライバー |
ノード間通信を有効にし、 同時実行タスクの実行を無効にする |
Note
N シリーズのサイズは、Cloud Services の構成プールではサポートされていません。
プール構成オプション
Batch プール用の特殊な VM サイズを構成するために、必要なソフトウェアやドライバーをインストールするためのいくつかのオプションがあります。
仮想マシン構成のプールの場合、ドライバーとソフトウェアがプレインストールされている構成済みの Azure Marketplace VM イメージを選択します。 例 :
Data Science Virtual Machine for Linux または Windows - NVIDIA CUDA ドライバーが含まれています
GPU および RDMA ドライバーも含まれている Batch コンテナー ワークロードの Linux イメージ:
Azure Batch コンテナー プール用の Ubuntu Server (GPU および RDMA ドライバー付き)
インストールされているドライバーやソフトウェアの設定、またはその VM サイズに必要なその他の設定を使用して、カスタムの Windows または Linux VM イメージを作成します。
ZIP 形式のドライバーまたはアプリケーション インストーラから Batch アプリケーション パッケージを作成します。 次に、このパッケージをプール ノードにデプロイし、各ノードの作成時に 1 回インストールするように Batch を構成します。 たとえば、アプリケーション パッケージがインストーラーの場合は、プールのすべてのノードにアプリケーションをサイレント インストールする開始タスク コマンド ラインを作成します。 ワークロードが特定のドライバー バージョンに依存する場合は、アプリケーション パッケージとプールの開始タスクの使用を検討してください。
Note
開始タスクは管理者特権で実行する必要があり、成功するまで待機する必要があります。 実行時間の長いタスクは、Batch プールをプロビジョニングする時間が長くなります。
例: Windows NC VM プールの NVIDIA GPU ドライバー
Windows NC ノードのプールで CUDA アプリケーションを実行するには、NVIDIA GPU ドライバーをインストールする必要があります。 次の手順の例では、アプリケーション パッケージを使用して NVIDIA GPU ドライバーをインストールします。 ワークロードが特定の GPU ドライバー バージョンに依存する場合は、このオプションを選択できます。
- NVIDIA の Web サイトから Windows Server 2016 上の GPU ドライバーのセットアップ パッケージをダウンロードします (たとえば、バージョン 411.82)。 GPUDriverSetup.exe のような短い名前を使用して、ファイルをローカルで保存します。
- パッケージの zip ファイルを作成します。
- パッケージを Batch アカウントにアップロードします。 手順については、アプリケーション パッケージのガイダンスを参照してください。 アプリケーション ID (GPUDriver など) とバージョン (411.82 など) を指定します。
- Batch API または Azure portal で、必要な数のノードとスケールを指定して、仮想マシン構成でプールを作成します。 次の表に、開始タスクを使用して NVIDIA GPU ドライバーを自動的にインストールする際の設定の例を示します。
設定 | 値 |
---|---|
イメージの種類 | Marketplace (Linux/Windows) |
発行元 | MicrosoftWindowsServer |
プラン | WindowsServer |
SKU | 2016-Datacenter |
ノード サイズ | NC6 Standard |
アプリケーション パッケージの参照 | GPUDriver、バージョン 411.82 |
開始タスクが有効 | True [コマンド ライン] - cmd /c "%AZ_BATCH_APP_PACKAGE_GPUDriver#411.82%\\GPUDriverSetup.exe /s" ユーザー ID - Pool autouser、admin 成功を待機 - True |
例: Linux NC VM プールの NVIDIA GPU ドライバー
Linux NC ノードのプールで CUDA アプリケーションを実行するには、CUDA Toolkit から必要な NVIDIA Tesla GPU ドライバーをインストールする必要があります。 次の手順の例では、GPU ドライバーがインストールされたカスタム Ubuntu 22.04 LTS イメージを作成してデプロイします。
- Ubuntu 22.04 LTS を実行する Azure NC シリーズ VM をデプロイします。 たとえば、米国中南部リージョンに VM を作成します。
- Azure portal、Azure サブスクリプションに接続するクライアント コンピューター、または Azure Cloud Shell を使用して、NVIDIA GPU ドライバー拡張機能を VM に追加します。 または、手順に従って VM に接続し、手動で CUDA ドライバーをインストールします。
- 次の手順に従って、Batch 用の Azure Compute Gallery イメージを作成します。
- NC VM をサポートするリージョンに Batch アカウントを作成します。
- Batch API または Azure Portal で、カスタム イメージを使い、必要な数のノードとスケールを指定して、プールを作成します。 次の表に、イメージのプール設定の例を示します。
設定 | 値 |
---|---|
イメージの種類 | カスタム イメージ |
カスタム イメージ | イメージの名前 |
ノード エージェント SKU | batch.node.ubuntu 22.04 |
ノード サイズ | NC6 Standard |
例: Windows H16r VM プールの Microsoft MPI
Azure H16r VM ノードのプールで Windows MPI アプリケーションを実行するには、HpcVmDrivers 拡張機能を構成し、Microsoft MPI をインストールする必要があります。 必要なドライバーとソフトウェアがインストールされたカスタムの Windows Server 2016 イメージをデプロイする手順の例を次に示します。
- Windows Server 2016 を実行する Azure H16r VM をデプロイします。 たとえば、米国西部リージョンに VM を作成します。
- Azure サブスクリプションに接続するクライアント コンピューターから Azure PowerShell コマンドを実行して、または Azure Cloud Shell を使用して、HpcVmDrivers 拡張機能を VM に追加します。
- VM へのリモート デスクトップ接続を作成します。
- 最新バージョンの Microsoft MPI のセットアップ パッケージ (MSMpiSetup.exe) をダウンロードし、Microsoft MPI をインストールします。
- 次の手順に従って、Batch 用の Azure Compute Gallery イメージを作成します。
- Batch API または Azure portal で、Azure Compute Gallery を使い、必要な数のノードとスケールを指定して、プールを作成します。 次の表に、イメージのプール設定の例を示します。
設定 | 値 |
---|---|
イメージの種類 | カスタム イメージ |
カスタム イメージ | イメージの名前 |
ノード エージェント SKU | batch.node.windows amd64 |
ノード サイズ | H16r Standard |
ノード間通信が有効 | True |
ノードごとの最大タスク数 | 1 |