Singularity* コンテナーでのプロファイル

インテル® VTune™ プロファイラー

この記事は、インテル® デベロッパー・ゾーンに公開されている『Intel® VTune™ Profiler Performance Analysis Cookbook』の「Profiling in a Singularity* Container」日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。


このレシピは、インテル® VTune™ Amplifier の解析向けに Singularity* コンテナーを構成して、独立したコンテナー環境で動作しているアプリケーションの hotspot を特定します。

コンテンツ・エキスパート: Denis Pravdin (英語)

使用するもの

以下は、パフォーマンス解析シナリオで使用するハードウェアとソフトウェアのリストです。

  • アプリケーション: MatrixMultiplication

    この Java* アプリケーションはデモ用であり、ダウンロードすることはできません。

  • ツール: インテル® VTune™ Amplifier 2018

    • インテル® VTune™ プロファイラー評価版のダウンロードと製品サポートについては、https://www.isus.jp/intel-vtune-amplifier-xe/ を参照してください。
    • このクックブックのレシピはすべてスケーラブルであり、インテル® VTune™ Amplifier 2018 以降に適用できます。バージョンにより設定がわずかに異なることがあります。
    • ベータ版インテル® oneAPI ベース・ツールキット向けのバージョンから、インテル® VTune™ Amplifier の名称がインテル® VTune™ プロファイラーに変わりました。引き続き、インテル® Parallel Studio XE またはインテル® System Studio のコンポーネントとして、あるいはスタンドアロン版のインテル® VTune™ プロファイラーをご利用いただけます。
  • Linux* コンテナーランタイム: singularity
  • オペレーティング・システム: Ubuntu* 16.04
  • CPU: インテル® プロセッサー (開発コード名 Skylake)、8 論理 CPU

Singularity* コンテナーをインストールして設定する

  1. Singularity* ソフトウェア (例えばバージョン 2.4.5) をインストールします。
    host> VERSION=2.4.5
    host> wget https://github.com/singularityware/singularity/releases/download/$VERSION/singularity-$VERSION.tar.gz
    host> tar xvf singularity-$VERSION.tar.gz
    host> cd singularity-$VERSION
    host>./configure --prefix=/usr/local
    host> make
    host> sudo make install


    詳しいインストール手順は、https://singularity.lbl.gov/install-linux (英語) を参照してください。

  2. 新しい Singularity* コンテナーを、例えば Docker* Hub を使用して作成します。
    host> singularity build ubuntu.img docker://ubuntu:latest
    Docker image path: index.docker.io/library/ubuntu:latest
    Cache folder set to /root/.singularity/docker
    Importing: base Singularity environment
    Importing: /root/.singularity/docker/sha256:d3938036b19cfa369e1081a6776b07b54be9612bc4c8fed7f139370c8142b79f.tar.gz
    Importing: /root/.singularity/docker/sha256:a9b30c108bda615dc10e402f62d712f413214ea92c7ec4354cd1cc0f3450bc58.tar.gz
    Importing: /root/.singularity/docker/sha256:67de21feec183fcd009a5eddc4de8c346ee0f4369a20047f1a302a90716fc741.tar.gz
    Importing: /root/.singularity/docker/sha256:817da545be2ba4bac8f6b4da584bca0fb4844938ecc462b9feab1001b5df7405.tar.gz
    Importing: /root/.singularity/docker/sha256:d967c497ce230b63996a7b1fc6ec95b741aea9348118d3328c676f13be789fa7.tar.gz
    Importing: /root/.singularity/metadata/sha256:c6a9ef4b9995d615851d7786fbc2fe72f72321bee1a87d66919b881a0336525a.tar.gz
    Building Singularity image...
    Singularity container built: ubuntu.img
    Cleaning up...


    Ubuntu.img ファイルが現在のディレクトリーに作成されることを確認してください。

  3. コンテナーを実行します。

    Singularity* は、ホストシステム上のディレクトリーをコンテナー内にマップできます。これにより、簡単にホストシステム上のデータを読み書きできます。例えば、インテル® VTune™ Amplifier と Java* アプリケーションでホストフォルダー /tmp/vtune を使用する場合、コンテナーを実行して /tmp/vtune をコンテナー内の /local/vtune へマップする必要があります。

    host> singularity shell --bind /tmp/vtune:/local/vtune ./ubuntu.img
    Singularity: Invoking an interactive shell within container...
    Singularity ubuntu.img:~>

コンテナー内でパフォーマンス解析を実行する

Singularity* コンテナーからインテル® VTune™ Amplifier のコマンドライン・インターフェイス amplxe-cl を起動して、Java* アプリケーションの解析を実行します。例えば、MatrixMultiplication アプリケーションの高度な hotspot 解析を実行するには、次のコマンドを入力します。

Singularity ubuntu.img:~> cd /local/vtune/matrix/ 
Singularity ubuntu.img:/local/vtune/matrix> /local/vtune/bin64/vtune -collect advanced-hotspots -- /local/vtune/jdk9.0.1-x64/bin/java -cp . MatrixMultiplication 2000 2000 2000 2000

  • Singularity* コンテナーで動作しているターゲット・アプリケーションをプロファイルするには、同じコンテナーからインテル® VTune™ Amplifier を起動します。Singularity* プロファイルでは、コンテナー外からのインテル® VTune™ Amplifier の実行はサポートされていません。
  • 高度な hotspot 解析は、インテル® VTune™ Amplifier 2019 で汎用の hotspot 解析に統合されました。ハードウェア・イベントベース・サンプリング収集モードで利用できます。

収集後、ホストシステムにインストールされているインテル® VTune™ Amplifier の GUI から解析結果がを開き、従来の解析フローに従ってアプリケーション・パフォーマンスの概要を提供する [Summary (サマリー)] ウィンドウから開始します。


Singularity* コンテナー外 (例えば、ホストシステムにインストールされているインテル® VTune™ Amplifier の GUI ) で解析結果を再ファイナライズする必要がある場合、モジュールに必要なすべてのバイナリーとソースファイルにコンテナー外からアクセスできることを確認してください。

関連情報

インテル® VTune™ プロファイラー・パフォーマンス解析クックブックのトップに戻る

タイトルとURLをコピーしました