方法 : MPI クラスター デバッガーの構成と起動
MPI クラスター デバッガーを使用すると、Windows HPC Server クラスター上で実行されている並列アプリケーションや、Message Passing Interface (MPI) を介して通信する並列アプリケーションをデバッグできます。Visual Studio では、クラスター ヘッド ノードを選択し、デバッグ セッションに含めるプロセスの数を指定して、クラスター デバッグ セッションの詳細なプロパティを構成した後に、デバッガーを起動できます。
MPI クラスター デバッガーを使用するための要件
Visual Studio 2010 Professional エディション以上 (リモート デバッガーを含む) が開発用コンピューターにインストールされていること。
クラスター上の管理者アクセス許可が付与されていること。
Visual Studio から、デバッグ セッションの実行場所となる計算ノードにアクセスできること。次の場合は、必要なノードにアクセスできます。
クラスター ヘッド ノードまたは専用ログイン ノード上でアプリケーションを開発している場合。
使用しているクラスターの計算ノードがエンタープライズ ネットワーク (トポロジ 2、4、または 5) に接続されており、開発用コンピューターが同じドメインに参加しているか、クラスター ドメインと信頼関係を持つドメインに参加している場合。
クライアント コンピューターから HPC クラスターにアプリケーションを送信する場合は、Microsoft HPC Pack 2008 がインストールされていること。
Microsoft Message Passing Interface を使用して MPI プログラムを作成する場合は、開発用コンピューターに Windows HPC Server 2008 SDK がインストールされていること。
MPI クラスター デバッガーを構成するには
Visual Studio で、並列アプリケーションが含まれたソリューションを開きます。
[プロジェクト] メニューの [<プロジェクト名> のプロパティ] をクリックします。すると、[プロパティ ページ] ダイアログ ボックスが開きます。
[構成プロパティ] ノードを展開して、[デバッグ] をクリックします。
[起動するデバッガー] ボックスの一覧の [MPI クラスター デバッガー] をクリックします。
デバッグ用に使用するノードとプロセス数を選択します。
[実行環境] ボックスの一覧の [HPC ノードの編集] をクリックします。すると、[ノード セレクター] ダイアログ ボックスが開きます。
[ヘッド ノード] ボックスの一覧の、使用するヘッド ノードの名前をクリックします。目的のヘッド ノードが表示されていない場合は、そのヘッド ノードの名前または IPv4 アドレスを入力します。
[プロセス数] ボックスの一覧の、起動するプロセスの数を選択します。
[1 つのプロセスをスケジュールする頻度] で、プロセスの割り当て方法を選択します。[コア]、[ソケット]、または [ノード] ごとに 1 つのプロセスを割り当てることができます。
[ノードの選択元] で、デバッグ セッションの実行場所となるノード グループを指定することもできます (省略可能)。選択したグループのノードが、ノード一覧に表示されます。
特定のノードを要求するために、[割り当てに含めるノードを手動で選択する] を選択して、一覧から個別のノードを選択することもできます (省略可能)。
[OK] をクリックして変更内容を保存し、[ノード セレクター] ダイアログ ボックスを閉じます。
次のプロパティを構成します。
[配置ディレクトリ] :
配置ディレクトリの名前を指定します。デバッガーが起動すると、このディレクトリにプロジェクトの出力ファイルがコピーされます。これはネットワーク共有リソースである必要があります。次に例を示します。
\\myTestCluster\CcpSpoolDir\$(UserName)\$(ProjectName)
[作業ディレクトリ] :
各計算ノード上のローカル作業ディレクトリを指定します。配置ディレクトリのファイルは、計算ノード上の作業ディレクトリにコピーされます。
[アプリケーション コマンド] :
各クラスター ノード上で MPI によって実行されるアプリケーションの名前またはパスを指定します (これは Visual Studio でデバッグしているアプリケーションです)。このパスは、共有リソースであっても、クラスター内の各計算ノード上のローカル パスであってもかまいません。ローカル パスの場合、このパスは各ノード上で同じである必要があります。次に例を示します。
$(WorkDir)\$(TargetFileName)
[CRT の配置] :
[はい] をクリックして、Visual Studio でアプリケーションと共に C ランタイム (CRT) アセンブリが配置されるように指定します。
使用しているマルチスレッド デバッグ ダイナミック リンク ライブラリ (DLL) が静的にリンクされている場合は、CRT ファイルを配置する必要はありません。使用しているマルチスレッド デバッグ DLL が動的にリンクされている場合は、CRT ファイルを配置する必要があります。
[配置のクリーンナップ] :
[はい] をクリックします。
メモ : Visual Studio 以外によって格納されたファイルが配置ディレクトリに存在する場合、配置ディレクトリは削除されません。たとえば、アプリケーションにより出力が配置ディレクトリに生成される場合は、ポストデバッグ スクリプトを使用してこのディレクトリを削除する必要があります。
[OK] をクリックして変更内容を保存し、[プロパティ ページ] を閉じます。
メモ : |
---|
複数のプロセスをデバッグしている場合、既定では、デバッグ対象のすべてのプロセスにブレークポイントが適用されます。意図していない場所でプロセスがブレークされないようにするには、[1 つのプロセスがブレークするとき、他のプロセスもブレークする] チェック ボックスをオフにしますブレーク動作の変更方法の詳細については、「方法 : 実行を中断する」を参照してください。 |
MPI クラスター デバッガーを起動するには
1 つまたは複数のブレークポイントをコード内に設定します。ブレークポイントの設定については、「ブレークポイントとトレースポイント」を参照してください。
F5 キーを押してデバッガーを起動します。
メモ : MPI クラスター デバッガーでは、デバッグを行うことなく開始することはできません。Ctrl キーを押しながら F5 キーを押すと (または [デバッグ] メニューの [デバッグなしで開始] をクリックすると)、デバッグも開始されます。 ジョブをクラスターに送信しようとしているため、クラスターに接続するためのパスワードの入力が求められます。パスワードを入力し、Enter キーを押します。
デバッガーが起動したら、[プロセス] ウィンドウでプロセスの配置を確認します。各プロセスについて、[トランスポート修飾子] 列で、そのプロセスが実行されている計算ノードを確認します。
メモ : |
---|
デバッガーを起動したら、[プロセス] ウィンドウで任意のプロセスをダブルクリックして、デバッグ対象のアクティブ プロセスを設定できます。[プロセス] ウィンドウを開くには、[デバッグ] メニューの [ウィンドウ] をポイントし、[プロセス] をクリックします。 |
関連項目
概念
MPI クラスター デバッガーの構成プロパティ
チュートリアル : Visual Studio 2010 での MPI クラスター デバッガーの起動
HPC クラスター上での MPI アプリケーションのデバッグ