MPIクラスタデバッガを使用すると、Windows HPC Serverクラスタ上で実行されるパラレルアプリケーションと、メッセージングインタフェース(MPI)を介して通信するパラレルアプリケーションをデバッグできます.Visual Studioでは、クラスタ・ヘッダ・ノードを選択し、デバッグ・セッションに含めるプロセスの数を指定し、クラスタのデバッグ・セッションの詳細プロパティを設定してから、デバッグを開始できます.
MPIクラスタデバッガの使用要件
開発コンピュータにVisual Studio 2010 Professional Edition以降のバージョン(リモートデバッガを含む)をインストールする必要があります.クラスタに管理権限を持つ必要があります.
Visual Studioは、デバッグセッションを実行する計算ノードにアクセスできる必要があります.次のシナリオでは、必要なアクセス権を提供します.
クラスタヘッダノードまたはプライベートログインノードでアプリケーションを開発します.
使用するクラスタのコンピューティングノードはエンタープライズ・ネットワーク(トポロジ2、4、または5)に接続され、開発コンピュータは同じドメインまたはクラスタ・ドメインと信頼関係のあるドメインに接続されています.
クライアントコンピュータからHPCクラスタにアプリケーションを送信するには、Microsoft HPC Pack 2008をインストールする必要があります.
Microsoftメッセージングインタフェースを使用してMPIプログラムを構築するには、開発コンピュータにWindows HPC Server 2008 SDKをインストールする必要があります.
MPIクラスタデバッガを構成するには
Visual Studioで、パラレルアプリケーションを含むソリューションを開きます. [プロジェクト](Projects)メニューで、[プロパティ](Properties)をクリックします.「≪プロパティ・ページ|Properties Page|ldap≫」ダイアログ・ボックスが開きます. 「プロパティの構成」ノードを展開し、「デバッグ」を選択します. 「起動するデバッガ」で、「MPIクラスタデバッガ」を選択します. デバッグに使用するノードとプロセスの数を選択します.[実行環境]で、ドロップダウンリストから[Hpcノードを編集]を選択します.[ノードセレクタ](Node Selector)ダイアログボックスが開きます. [ヘッダノード]ドロップダウンリストで、使用するヘッダノード名を選択します.ヘッダノードが表示されない場合は、ヘッダノード名またはIPv 4アドレスを入力します. 「プロセス数」で、開始するプロセスの数を選択します. 「計画プロセス」で、プロセスを割り当てる方法を選択します.「コア」、「ソケット」または「ノード」ごとにプロセスを割り当てることができます. 「ノードの選択」では、デバッグ・セッションを実行するノード・グループを指定できます(オプション).選択したグループのノードがノードのリストに表示されます.特定のノードを要求するには、「割り当てに追加するノードを手動で選択」を選択し、リスト内の単一のノードを選択します(オプション).[OK]をクリックして変更を保存し、[ノードセレクタ]ダイアログボックスを閉じます. は、次のプロパティを構成します.「配置ディレクトリ」:配置ディレクトリの名前を指定します.これは、デバッガの起動時にプロジェクト出力ファイルがコピーされる場所です.この場所は、ネットワーク共有リソースの場所であるべきであり、例えば、\\myTestCluster\CcpSpoolDir\$(UserName)\$(ProjectName)
である.
「作業ディレクトリ」:各計算ノードにローカル作業ディレクトリを指定します.配置ディレクトリのファイルは、計算ノード上の作業ディレクトリにコピーされます. 「アプリケーションコマンド」:MPIが各クラスタノードで実行するアプリケーション名またはアプリケーションパスを指定します.(ここでは、Visual Studioでデバッグするアプリケーションを指します).このパスは、クラスタ内の各コンピューティングノードの共有リソースパスまたはローカルパスとすることができます.ローカルパスの場合、各ノードのパスは同じでなければなりません.たとえば、$(WorkDir)\$(TargetFileName)
などです.
「CRTの配備」:「Yes」を選択すると、Visual StudioがアプリケーションとともにCランタイム(CRT)プログラムセットを配備できます.マルチスレッドデバッグダイナミックリンクライブラリ(DLL)が静的リンクである場合は、CRTファイルを配備する必要はありません.マルチスレッドデバッグDLLがダイナミックリンクされている場合は、CRTファイルを配備する必要があります. 「配置のクリーンアップ」:「Yes」を選択します.
注意:
配置ディレクトリにVisual Studio以外のファイルが含まれている場合は、ディレクトリは削除されません.たとえば、アプリケーションがデプロイ・ディレクトリに出力ファイルを持っている場合は、デバッグ後のスクリプトを使用してディレクトリを削除します.
[OK]をクリックして変更を保存し、[プロパティページ]を閉じます. 注意:
複数のプロセスをデバッグすると、デフォルトではブレークポイントがデバッグ中のすべてのプロセスに影響します.プロセスを希望しない場所で中断しないようにするには、プロセスが中断されたときにすべてのプロセスを中断するオプションの選択を解除します.割り込み動作を変更する方法の詳細については、「実行を中断する方法」を参照してください.
MPIクラスタデバッガを起動するには
コードに1つ以上のブレークポイントを設定します.ブレークポイントの設定については、ブレークポイントとトレースポイントを参照してください. F 5を押してデバッガを開始します.
注意:
MPIクラスタデバッガでは、デバッグなしに起動することはできません.Ctrl+F 5(または「デバッグ」メニューで「起動時にデバッグしない」を選択)を押してデバッグを開始することもできます.
クラスタにジョブを送信したため、クラスタに接続するパスワードを入力するよう求められます.パスワードを入力し、Enterを押します. デバッガを起動したら、プロセスウィンドウを確認して、各プロセスの場所を確認します.プロセスごとに、プロセスが実行する計算ノードを「トランスポート修飾子」列で表示できます. 注意:
デバッガを起動したら、「プロセス」ウィンドウのプロセスをダブルクリックして、デバッグに使用するアクティブなプロセスを設定します.「プロセス」ウィンドウを開くには、「デバッグ」メニューで「ウィンドウ」をクリックし、「プロセス」をクリックします.