高性能コンピューティング (HPC) クラスターでのプロファイリング

Visual Studio 2017 RC の最新のドキュメントの詳細については、Visual Studio 2017 RC ドキュメントをご参照ください。

サンプリング メソッドの Microsoft Visual Studio Premium プロファイリング ツールまたは Microsoft Visual Studio Ultimate プロファイリング ツールを使用して、Microsoft Windows HPC クラスターのコンピューティング ノード上でプロファイリングを実行できます。 HPC の詳細については Microsoft の Web サイト Windows HPC で参照します。

前提条件

HPC コンピューティング ノード上でプロファイリングを実行する前に、次の操作を実行する必要があります。

  • Visual Studio Premium と同じコンピューター上に Microsoft HPC Pack 2008 をインストールします。 これは、HPC クラスターの一部を構成するコンピューターである必要はありません。 で HPC Pack をインストールできます Microsoft ダウンロード センター

  • プロファイリング ツールのスタドアロン バージョンと .NET Framework 4 を HPC コンピューティング ノードにインストールします。 .NET Framework のプログラムをインストールするスタンドアロンのなプロファイラーは Visual Studio Premium のインストール メディアで使用できます。 メモ インストール後に計算を再起動する必要があります。.NET Framework、プロファイリング ツールをインストールする前に、

    アクティブな HPC コンピューティング ノードに .NET Framework 4 とスタンドアロンのプロファイリング ツールをインストールし、クラスター マシン上でのプロファイリングを有効にするには、次の手順を実行します。

  1. HPC Pack がインストールされているコンピューターで、コマンド プロンプト ウィンドウを開きます。

  2. コマンド プロンプト ウィンドウで、次のコマンドを別々に入力します。

    1. clusrun /all /scheduler: %HeadNode% %FxPath% /q /norestart

    2. clusrun /all /scheduler: %HeadNode% shutdown /r /t 0 /d u:4:2 /c "Microsoft .NET Framework install required restart"

    3. clusrun /all /scheduler: %HeadNode% %ProfilerPath% /q /norestart

%HeadNode% クラスターの先頭ノードの名前。
%FxPath% .NET Framework 4 インストーラーのパス。 Visual Studio Premium インストール メディア上のパスは、WCU\dotNetFramework\dotNetFx40_Full_x86_x64.exe になります。
%ProfilerPath% プロファイリング ツール インストーラーのスタドアロン バージョンのパス。 Visual Studio Premium インストール メディア上のパスは、Standalone Profiler\x64\vs_profiler.exe になります。

HPC コンピューティング ノード上でのプロファイリング

HPC パフォーマンス ウィザードを使用してプロファイリング セッションを構成し、HPC クラスターおよび対象の情報を指定します。 パフォーマンス セッションのプロパティ ページで、追加のオプションを指定できます。 プロファイリング ツールによって必要な対象バイナリが配置され、プロファイラーと HPC アプリケーションが起動されます。

HPC コンピューティング ノード上でプロファイリングを実行するには

  1. [分析] メニューの [パフォーマンス ウィザードの起動] をクリックします。 このコマンドが使用できない場合は、前の前提条件を確認してください。

  2. ウィザードの最初のページで [次へ] をクリックします。

  3. ウィザードの 2 ページ目で、プロファイリングを実行するアプリケーションを選択します。

    • Visual Studio で現在開いているプロジェクトのプロファイリングを実行するには、[使用可能な 1 つ以上のプロジェクト] を選択してから、リスト内のプロジェクト名を選択します。

    • 開いているプロジェクト内に存在しないバイナリのプロファイリングを実行するには、[実行可能ファイル (.EXE ファイル)] を選択します。

  4. [次へ] をクリックします。

  5. ウィザードの 3 ページ目で、次の操作を実行します。

    • 開いているプロジェクト内に存在しない実行可能ファイルのプロファイリングを実行する場合は、バイナリ ファイルのパスを [実行可能ファイルへの完全パスを指定] に入力します。

    • 開いているプロジェクト内に存在しない実行可能ファイルのプロファイリングを実行する場合は、[コマンド ライン引数] で指定されたプロセスに渡すコマンド ライン引数を任意に指定できます。

    • [リモート作業ディレクトリ] で、各コンピューティング ノード上のプロセス インスタンスで使用されるフォルダーへのパスを指定します。

    • [配置場所] で、HPC サーバーによるイメージの配置に使用されるディレクトリへのパスを指定します。

  6. [次へ] をクリックします。

  7. ウィザードの 4 ページ目で、次の操作を実行します。

    • [ヘッド ノード] ボックスで、プロファイリング実行において HPC の先頭ノードとして機能するコンピューターをクリックします。 [ヘッド ノード] に "localhost" を指定すると、クラスターを使用することなく、ローカル コンピューター上でプロファイリングを実行できます。

    • [プロセス数] ボックスで、実行するアプリケーションのインスタンス数をクリックします。

    • [プロファイル オプション] ボックスで、プロファイリング対象を選択します。

      クラスター内の特定のプロセスをプロファイリングするには、[順位でのプロファイル] を選択し、ドロップダウン リストからプロセスの順位を選択します。

      HPC クラスター内の特定のノード上で実行される 1 つ以上のプロセスをプロファイリングするには、[ノードでのプロファイル] を選択し、ドロップダウン リストからノードを選択します。

  8. [次へ] をクリックします。

  9. ウィザードの 5 ページ目で、プロファイラーとプロファイリング プロセスをすぐに開始できます。または、パフォーマンス エクスプローラーを使用して後からプロファイリングを開始することもできます。

    • すぐにプロファイリングを開始する場合は、[ウィザードの完了後にプロファイルを起動する] を選択します。手動でプロファイリングを開始する場合は、このチェック ボックスをオフにします。
  10. [完了] をクリックします。

パフォーマンス セッションのプロパティ ページを使用した HPC プロファイリング プロパティの設定

パフォーマンス セッションのプロパティ ページの [HPC 起動プロパティ] ページで、HPC プロファイル ウィザードで設定されたパフォーマンス セッションのプロパティを変更できます。 [HPC の詳細プロパティ] ページで、追加のオプションを指定できます。

パフォーマンス セッションのプロパティ ページを開くには

  1. 必要に応じて、パフォーマンス エクスプローラーでパフォーマンス セッション ファイル (拡張子 .psess が付いたファイル) を開きます。 [ファイル] メニューの [開く] をクリックし、ファイルを探します。

  2. パフォーマンス エクスプローラーでパフォーマンス セッション名を右クリックし、[プロパティ] をクリックします。

  3. [プロパティ ページ] ダイアログ ボックスで、次のいずれかの操作を実行します。

    • HPC プロファイリングを有効にする場合は、[全般] をクリックして [HPC クラスターで収集] を選択します。HPC プロファイリングを無効にする場合は、このチェック ボックスをオフにします。

    • HPC アプリケーションの開始プロパティを変更する場合は、[HPC 起動プロパティ] をクリックします。

    • 追加のオプションを指定する場合は、[HPC 詳細プロパティ] をクリックします。

HPC 起動プロパティ

プロパティ 説明
ヘッド ノード プロファイリング実行において HPC の先頭ノードとして機能するコンピューターを指定します。
プロセス数 プロファイリング対象のアプリケーション内で実行するアプリケーションのインスタンス数を指定します。
順位でのプロファイル クラスター内の特定のプロセスをプロファイリングするには、[順位でのプロファイル] を選択し、ドロップダウン リストからプロセスの順位を選択します。
ノードでのプロファイル HPC クラスター内の特定のノード上で実行される 1 つ以上のプロセスをプロファイリングするには、[ノードでのプロファイル] を選択し、ドロップダウン リストからノードを選択します。
リモート作業ディレクトリ 各コンピューティング ノード上のプロセス インスタンスで使用されるフォルダーへのパスを指定します。
配置場所 HPC サーバーによるイメージの配置に使用されるディレクトリへのパスを指定します。

高度なプロパティ

プロパティ 説明
プロジェクト名 現在の Visual Studio プロジェクトまたはソリューションの名前を指定します。
プロファイラーの停止時にクリーンアップ 実行ディレクトリに配置されたバイナリを削除する場合は、このオプションを選択します。 ただし、ユーザー プログラムによって作成されたファイルとディレクトリは削除されません。 実行ディレクトリと配置ディレクトリが IDE で作成されている場合、これらのディレクトリは IDE によって削除されますが、IDE 以外の環境で配置されたファイルがディレクトリ内に存在する場合は削除されません。
配置する追加ファイル コンピューティング ノード上に配置する追加ファイルをセミコロンで区切った一覧を指定します。 省略記号ボタン ([...]) をクリックしてダイアログ ボックスを使用すると、複数のファイルを選択できます。
Mpiexec コマンド MPI アプリケーションを開始するためのアプリケーションを指定します。 既定値は mpiexec.exe です。
Mpiexec の引数 mpiexec.exe コマンドに渡す引数を指定します。
クラスター上の要求されたノード アプリケーションを実行するクラスター上のノード数を指定します。
CRT ファイルの配置 C\/C++ ランタイムをクラスター上に配置する場合は、このオプションを選択します。
プロファイル前スクリプト プロファイリング セッションの開始前に、ローカルの開発用コンピューター上で実行するスクリプトのパスとファイル名を指定します。
プロファイル前スクリプトの引数 プロファイル前スクリプトに渡す引数を指定します。
プロファイル後スクリプト プロファイリング セッションの終了後に、ローカルの開発用コンピューター上で実行するスクリプトのパスとファイル名を指定します。
プロファイル後スクリプトの引数 プロファイル後スクリプトに渡す引数を指定します。