クライアント・マシンからサーバー上のインテル® Xeon Phi™ コプロセッサーで動作するアプリケーションのプロファイルを行う

同カテゴリーの次の記事

Dell* Venue* でインテル® VTune™ Amplifier 2014 for Systems を使用するには

この記事は、インテル® デベロッパー・ゾーンに公開されている「Practice an example of profiling applications on Intel® Xeon Phi™ coprocessor on the sever from a client machine」の日本語参考訳です。


シナリオ:

インテル® Xeon Phi™ コプロセッサー・カードを搭載した Linux* サーバーが、X11 をサポートせずにインテル® VTune™ Amplifier XE GUI をサーバー上で利用できないカスタマイズされた Linux* システムである場合。開発者は、他のマシン (クライアント) から、データを収集して解析する必要があります。

ソリューション:

  1. サーバー・プラットフォームにインテル® VTune™ Amplifier XE 製品のフルパッケージをインストールすることが可能であれば、サーバーへ接続するため ssh を使用してクライアントからコンソールを開くことができます。そして、インテル® VTune™ Amplifier XE コマンドライン “amplxe-cl” を使用してプロファイルを行います。この方法では、クライアントからコンソールを使用してサーバー上のアプリケーションのプロファイルを行い、その結果と調査対象のモジュールおよびソースを amplxe-gui を利用して解析を行うクライアントにコピーする必要があります。インテル® Xeon Phi™ コプロセッサー上でのアプリケーションのプロファイルについては、こちらの記事をご覧ください。
  2. クライアント・マシンからリモートでパフォーマンス・データを収集する機能を使用すると、ssh でサーバーにリモート接続してプロファイルを行う必要はありません。こちらの記事を参照ください。この方法ではサーバー上にインテル® VTune™ Amplifier XE 製品全体をインストールする必要はなく、インテル® VTune™ Amplifier XE GUI コンポーネントを除く製品のインストールだけで済みます。ライセンスファイルも必要ありません。

ドキュメントと上記の記事を読む時間が無い方のため、以下に 2 番目の方法を行う手順をまとめます。

  1. クライアント・マシンにはインテル® VTune™ Amplifier XE 2015 製品すべてをインストールし、サーバーマシンにはインテル® VTune™ Amplifier XE GUI コンポーネント以外をインストールします (すべてのインテル® VTune™ Amplifier XE ドライバーがロードされていることを確認してください)。

  2. 各マシンの設定を行います。

    • サーバーマシン上で行うこと: root もしくは sudo で
      1. /root/.ssh で id_rsa を生成するため、”ssh-keygen -t rsa” を実行 (“root” でログインしている場合)
      2. /root/.ssh から “scp id_rsa.pub authorized_keys” を実行
      3. 生成された id_rsa ファイルをクライアント・マシンにコピー
      4. (非常に重要) /root/.ssh から他の場所へ id_rsa.pub を移動し、次のステップで MIC カードからパスワードなしで ssh を使用できるよう設定

    • サーバーマシンの MIC 側で行うこと:
      1. /root/.ssh で id_rsa を生成するため、”ssh-keygen -t rsa” を実行
      2. /root/.ssh で “scp id_rsa.pub authorized_keys” を実行
      3. この id_rsa ファイルをサーバーマシンへコピー
  3. クライアントからパスワードなしで ssh をテストします。

    # ssh prc-mic01
    Last login:Thu Dec 11 15:53:20 2014 from snb01
    # ssh mic0
    # (パスワードは要求されません)

  4. 最後に、サーバー上の MIC プログラムのプロファイルを行うため、クライアントからインテル® VTune™ Amplifier XE のデータ収集が動作することを確認します。次に例を示します:

    > amplxe-cl –target-system=ssh:root@prc-mic01 –target-system=mic-native:mic0 -collect advanced-hotspots -knob collection-detail=stack-sampling — /root/omp_pi.MIC
    amplxe:Using target: ssh:root@prc-mic01

    amplxe:Collection started. (収集を開始しました) 収集を停止するには、CTRL-C を押すか他のコンソール・ウィンドウから次のコマンドを実行します:
    amplxe-cl -r /root/r009ah -command stop
    amplxe:Error:Binary ‘/root/omp_pi.MIC’ cannot be executed. 推奨: 指定した場所に正しくファイルが存在し、そのファイルの実行権限を持っていることを確認します。
    amplxe:Collection failed. (収集に失敗しました)
    amplxe:Collection failed. (収集に失敗しました)
    amplxe:Copying collection logs from the device (デバイスから収集したログをコピーしています)

    現在の製品は、MIC カードを搭載するリモートホストのリモート収集を処理しないことがその理由です。また、次の方法も利用できます。

    > ssh root@prc-mic01 /opt/intel/vtune_amplifier_xe_2015/bin64/amplxe-cl –target-system=mic-native:mic0 -collect advanced-hotspots -knob collection-detail=stack-sampling –r vtune_mic_rpt– /root/omp_pi.MIC

    その後、解析のためサーバーから結果ファイル vtune_mic_rpt を直接コピーできます。

コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください

関連記事