インテル® VTune™ プロファイラー・ユーザーガイド
このバージョンのインテル® VTune™ プロファイラーは、製品ダウンロード・ページ (英語) からダウンロードできます。このバージョンでは次の機能が追加されています。
いくつかの重大なバグが解決されました
インテル® VTune™ プロファイラー 2022.4 には、最新の機能およびセキュリティー更新プログラムがすべて含まれているとは限りません。インテル® VTune™ プロファイラーの新しいバージョンは、2022年12月にリリースされる予定であり、追加機能とセキュリティー更新が含まれます。最新バージョンが利用可能になったら、最新バージョンにアップデートする必要があります。
すでに発表したように、第 6 世代から第 10 世代のインテル® Core™ プロセッサーおよび関連する Intel Atom® プロセッサー、インテル® Pentium® プロセッサー、インテル® Celeron® プロセッサーに搭載される統合グラフィックス・プロセッサーの Windows* ドライバーのサポートは終了し、保守モードに移行しました。今後は、セキュリティーの問題と重大なバグ修正のみが提供されます。
前述のプロセッサーで既存の統合グラフィックス・プロセッサーの機能を使用する oneAPI ツールは、引き続き動作する可能性はありますが、サポートされなくなります。ただし、これらのプロセッサーの CPU 機能は引き続き完全にサポートされ、影響を受けることはありません。
このバージョンのインテル® VTune™ プロファイラーは、製品ダウンロード・ページ (英語) からダウンロードできます。このバージョンでは次の機能が追加されています。
このリリース以降、インテル® VTune™ プロファイラーは上記のバージョンよりも古いプロセッサーをサポートしなくなります。古いプロセッサーのパフォーマンス解析を行うには、古いバージョンのインテル® VTune™ プロファイラーを使用してください。
このバージョンのインテル® VTune™ プロファイラーは、製品ダウンロード・ページ (英語) からダウンロードできます。このバージョンでは次の機能が追加されています。
このリリースでは、HPC パフォーマンス特性解析結果の [サマリー] タブにプラットフォーム図が追加されました。プラットフォーム図は、システムトポロジー、物理コアの利用率メトリック、DRAM、およびインテル® ウルトラ・パス・インターコネクト (インテル® UPI) リンクを示します。
インテル® マイクロアーキテクチャー開発コード名 Skylake ベース以降のサーバー・プラットフォームで利用できます。
インテル® VTune™ プロファイラー・サーバーを起動する vtune-backend バイナリーは、特定の環境で設定を容易にする新しいコマンドライン・オプションを備えています。インテル® VTune™ プロファイラー・サーバーが URL を生成する際に使用するベース URL を指定できるようになりました。さらに、起動時に自動ヘルプツアーを制御するオプションや、コマンドラインから直接利用情報を収集することに同意するか確認するオプションも追加されました。
これらの新しいオプションは、インテル® VTune™ プロファイラー・サーバーをコンテナー内で実行する場合は特に有用です。
インテル® VTune™ プロファイラーは、Windows* 上で PDB シンボルファイルからインライン展開された関数のデバッグ情報を取得できるようになりました。
また、インテル® VTune™ プロファイラーは、ワークロードのインライン関数名とソースコードを表示できるようになりました。
このバージョンでは次の機能が追加されています。
このリリースのインテル® VTune™ プロファイラーは、第 1 世代のインテル® Arc™ ディスクリート GPU (開発コード名 Alchemist、旧名 DG2) をサポートしています。以下がサポートされます。
注: インテル® Arc™ (開発コード名 Alchemist、旧名 DG2) 以降のインテル® Xe グラフィックス製品ファミリーでは、GPU アーキテクチャーの用語が新しくなっています。変更された用語と従来の用語との対応表については、「インテル® Xe グラフィックスの GPU アーキテクチャー用語」 (英語) を参照してください。
ダイレクト I/O 向けのインテル® バーチャライゼーション・テクノロジー (インテル® Vt-d) (英語) の観測機能は、第 3 世代インテル® Xeon® スケーラブル・プロセッサー (開発コード名 Ice Lake) および Intel Atom® P5900 プロセッサー・ファミリー (開発コード名 Snow Ridge) 以降のサーバー・プラットフォームの入出力解析で導入されました。新しいパフォーマンス・メトリックは、ハードウェア駆動型の DMA アドレスの再マッピングの効率と、インテル® VT-d によるペナルティーを明確にします。
このリリースでは、ユーザー・モード・サンプリングによる .NET 6 ターゲットの解析をサポートします。Windows* と Linux* ホストの両方で、[アプリケーションを起動] モードと、[プロセスにアタッチ] モードで、.NET 6 ワークロードを解析できます。
アプリケーション・パフォーマンス・スナップショットの HTML レポートのメトリック・ツールヒントは、解析中に観測されたメトリック値の分布を明確に視覚化する分布図で強化されました。
このリリースでは次の OS ホストのサポートが追加されています。
このバージョンでは次の機能が追加されています。
このバージョンのインテル® VTune™ プロファイラーでは、ホットスポット解析タイプにフレームグラフのサポートが追加されています。CPU 利用率によるホットスポットのビューポイントは、ホットなコードパスのグラフィカル・ビューを表示する [フレームグラフ] ウィンドウに拡張されました。フレームグラフを使用して、各関数とその呼び出し先の関数に費やされた時間を解析します。
このリリースでは、入出力解析の新しい開始点であるプラットフォーム図が導入されています。PCIe* デバイス、インテル® ウルトラ・パス・インターコネクト、メモリーなどのハードウェア・リソースのシステムトポロジーと高レベルの利用率メトリックを明確にします。これによりハードウェアの利用率を一目で確認できます。
この機能は、インテル® Xeon® Platinum 9200 プロセッサー (開発コード名 Cascade Lake AP) を除く、最大 4 ソケット構成の第 1 世代および第 2 世代インテル® Xeon® スケーラブル・プロセッサーで有効になります。また、Intel Atom® プロセッサー P シリーズ (開発コード名 Snow Ridge) でもサポートされます。
インテル® データ・ダイレクト I/O (インテル® DDIO) の利用効率メトリックは、平均インバウンド PCIe* リード/ライト・レイテンシーとコア I/O 競合インジケーターに拡張されています。
Linux* カーネルのバージョン 5.10 以降で第 1 世代および第 2 世代インテル® Xeon® スケーラブル・プロセッサーでは、root 権限なしで Linux* perf ベースのデータ収集ができるようになりました。
インテル® VTune™ プロファイラーのプラットフォーム・プロファイラーは、インテル® VTune™ プロファイラーの解析タイプに完全に統合されました。プラットフォーム・プロファイラーは、インテル® VTune™ プロファイラーの GUI またはコマンドラインからの解析で完全な機能を利用できるようになりました。詳細については、「プラットフォーム・プロファイラー解析」を参照してください。
システム概要解析で、CPU スロットリングを引き起こす要因に関連する情報を表示できるようになりました。この情報をもとに、システムが過度に発熱している、またはかなりの電力を消費しているなどを調査します。どちらのケースもシステムのパフォーマンスに影響を与える周波数の低下を引き起こす可能性があります。
このリリースでは、メモリーアクセス解析タイプのメモリー使用ビューポイントにプラットフォーム図が導入されています。この図から次のことが分かります。
プラットフォーム分布図は以下で利用できます。
このリリースでは、ハードウェア・イベントベース・サンプリングを使用する際に、アプリケーションの起動モードで .NET 5 ターゲットでホットスポット解析を実行できるようになりました。
ハードウェア・イベントベース・サンプリングを使用する際に、[プロセスへアタッチ] モードで .NET 5 ワークロードを解析できるようになりました。
リモート FreeBSD* ターゲットで入出力解析を実行できるようになりました。解析スコープはプラットフォーム・レベルのメトリックに制限されます。
FreeBSD* で、入出力解析でストレージ・パフォーマンス開発キット (SPDK) 解析をサポートするようになりました。また、SPDK 固有のパフォーマンス・データを取得できるようになりました。
インストルメントとトレース・テクノロジー (ITT) で FreeBSD OS を完全にサポートできるようになりました。必要なヘッダーファイルとライブラリー・ファイルは、FreeBSD* ターゲットパッケージの一部として提供されます。ITT API を使用して、コードにアノテーションを挿入してオーバーヘッドを発生することなく任意の統計情報を収集できます。
2021.8 リリース以降、統合共有メモリー (USM) (英語) のワークロードを使用する OpenCL*、SYCL、および DPC++ アプリケーションをプロファイルできるようになりました。OpenCL* アプリケーションでは、このリリースから統合共有メモリーとしてバッファーを使用する明示的なデータ転送もサポートされています。
レベルゼロのアプリケーションをプロファイルする際に、GPU 計算/メディア・ホットスポット解析で次のモードが利用できるようになりました。
サポートには、ソース/アセンブリー・マッピングを含む、コード行レベルのカーネルソースの完全な解析も含まれます。
グラフィック・ウィンドウに次の項目が追加され、GPU プロファイル解析を実行する際に CPU ホストと GPU デバイス間のデータ転送がさらに明確になります。
GPU 計算/メディア・ホットスポット解析が拡張され、スケジューラーを待機している時に EU アレイをアイドル状態にする、最もホットな計算タスクで達成可能なピーク占有率を制限する要因を検出します。改善された占有率メトリックのツールヒントは、ピーク占有率と既存の計算タスクを起動する設定を制限する理由を提供できるようになりました。
インテル® VTune™ プロファイラーのセルフチェック機能の対象範囲に、GPU 解析も含まれるようになりました。Windows* または Linux* システムで vtune-self-checker.sh スクリプトを使用して、インテル® GPU で DPC++ アプリケーションを実行する際に、ソース解析と特性モードで GPU 計算/メディア・ホットスポット解析を確認します。これには、インテル® oneAPI ベース・ツールキットをインストールする必要があります。
GPU 計算/メディア・ホットスポット解析が拡張され、[サマリー] セクションに占有率情報が表示されるようになりました。このデータを使用して、占有率に影響する GPU アーキテクチャーの制限を理解します。
GPU オフロード解析は、CPU からのコンテキストを含めることで、GPU で実行される情報セットをさらに詳しく提供できるようになりました。これには、以下のスタック情報が含まれます。
GPU オフロード解析のビューポイントに、GPU 計算タスク/ホスト・コールスタックによる新しいグループ化の機能を備えた [コールスタック] ペインが含まれるようになりました。このペインに含まれる転送データによるナビゲーション機能を使用して、アプリケーションの非効率なコードパスを特定します。
システムに複数のインテル® GPU が接続されている場合、GPU オフロードと GPU 計算/メディア・ホットスポット解析を使用して、すべての GPU をまとめて解析できるようになりました。これまでは、インテル® VTune™ プロファイラーがシステムに接続されているすべての GPU を識別した後、一度に 1 つの GPU のみを解析できました。接続されているすべての GPU で解析を実行する場合、各 GPU に関連する解析情報を確認してください。
[サマリー] ウィンドウに表示されます。特性化モードの完全な計算セットは、 複数アダプターおよび複数タイル解析では利用できません。
GPU オフロード解析の [サマリー] ビューに、GPU で実行されている最もアクティブなタスクを表示する [最もホットなタスク] のリストが含まれるようになりました。このリストを使用してホスト上のオーバーヘッドを調査できます。パフォーマンスが重要なタスクをクリックすると、[グラフィックス] ウィンドウには詳細情報が表示されます。このウィンドウでは、結果がホストのタスクタイプごとにグループ化されます。
ZE_AFFINITY_MASK 環境変数を使用してワークロードを単一のタイルにバインドすると、インテル® VTune™ プロファイラーはカーネルを適切なタイルに関連付けて、カーネルごとに関連するメトリックを表示できます。
これまでは、GPU オフロード解析で [メモリー帯域幅の解析] オプションを有効にして、この計算に必要なデータを収集していました。このリリースのインテル® VTune™ プロファイラーからは、代わりに [ホスト - GPU 帯域幅解析] オプションを使用します。ハードウェアの構成に応じて、このオプションを選択すると、DRAM 帯域幅か PCIe* 帯域幅、もしくは両方のデータセットをタイムラインに表示できます。
GPU オフロード解析のカスタム実行とコマンドライン実行を行う際に、新しいオプションを使用して PCIe* 帯域幅 (ホストと GPU 間) に関連する情報を収集します。
計算タスクの GPU ピーク占有率メトリックは、ピーク占有率を制限する要因の優先順にフラグを示すようになりました。最も優先順位が高い要因に対処することで、アプリケーションのチューニングを開始します。
インテル® VTune™ プロファイラーは、計算カーネルの起動パラメーター (ワークサイズ、SLM とバリアの使用量) に基づいて、改善の可能性に関連する推奨事項をカスタマイズします。
GPU オフロード解析のサマリーウィンドウには、ユーザー体験を向上させる次の拡張が含まれます。
GPU オフロードと GPU 計算/メディア・ホットスポット解析で、ホットスタックに関連する情報を収集する際に、フィルターバーからコールスタック・モードを選択してデータをフィルター処理できりょうになりました。
このリリースのインテル® VTune™ プロファイラーでは、CPU ホストで DirectX* アプリケーションをプロファイルする機能がサポートされています。次のバージョンの DirectX* API をトレースできます。
このバージョンのインテル® VTune™ プロファイラーでは、次の解析タイプでインテル® マイクロアーキテクチャー開発コード名 Alder Lake がサポートされています。
ホットスポット、マイクロアーキテクチャー全般、メモリーアクセス、入出力など、Intel Atom® プロセッサー P シリーズ (開発コード名 Snow Ridge) のサポートが含まれます。
このリリースでは、第 3 世代インテル® Xeon® スケーラブル・プロセッサー・アーキテクチャー (開発コード名 Ice Lake Server) をサポートしました。
このリリースでは、インテル® VTune™ プロファイラーの Microsoft Visual Studio* 2022 への統合がサポートされました。
APS HTML レポートのメトリックのヒントは、メトリックとそのプロパティーをさらに包括的なビューで表示できるようになりました。新しいツールのヒントは、メトリックのコンパクトで包括的な概要を示します。これは、パフォーマンス解析におけるメトリックの重要性を理解するのに役立ちます。この変更には、現在のパフォーマンスとチューニングの可能性の視点からメトリック値の位置を示す視覚的なバーが含まれます。
APS コマンドライン・レポートに PCIe* 帯域幅メトリックが含まれるようになりました。このデータは、サンプリング・ドライバーを使用する場合に、サーバー・プラットフォームでのみ利用できます。
APS は、次に示す新しいタイプのレポートとフィルターを備えています。
このリリースでは、外れ値、または全体の分布と大幅に異なる、もしくは特定のしきい値を超える平均メトリックに関連する個別のメトリック値を検出するメカニズムが導入されています。外れ値は、インバランスの原因となり、平均メトリック値を歪める可能性があります。HTML レポートと CLI レポートの両方で、外れ値が検出された特定のランクやノードに関連する外れ値を確認できるようになりました。
メトリックのヒントは、最小、最大および平均値とともに、平均メトリックの範囲を視覚化できるようになりました。
MPI コード解析のトピックで説明するように、GPU オフロード、GPU 計算/メディア・ホットスポット、および入出力解析で、 MPI アプリケーションのプロファイルがサポートされるようになりました。
このリリースでは、ユーザー・エクスペリエンス向上のため、新しい垂直のメイン・ツールバーが導入されました。以前のバージョンで水平のツールバーに配置されていたコントロールが、このツールバーに移動されています。垂直ツールバーは、コントロール・エクスペリエンスを向上させることを意図しています。
プロジェクト・ナビゲーターのペインには、インテル® VTune™ プロファイラーのエクスペリエンスを向上させるため、新規または既存のプロジェクトを開くメニューオプションが追加されました。
パフォーマンス・スナップショットと HPC パフォーマンス特性解析のベクトル化セクションが強化され、アプリケーションのベクトル化の状況をより明確に把握できるようになりました。コードが全くベクトル化されていない、コードが最新のベクトル命令セット拡張を使用していない、またはコードにスカラー命令が多すぎるなどすばやく確認できます。このバージョンのインテル® VTune™ プロファイラーは、ベクトル化の問題を解決するため、改善された多くの推奨事項を提供します。
このリリースでは、パフォーマンス・スナップショット、ホットスポット、HPC パフォーマンス特性、およびマイクロアーキテクチャー全般解析で豊富なメトリックのツールキットが用意されています。新しいツールキットは、しきい値、判定の基準 (大きい/小さいが良いなど)、およびチューニングの可能性を可視化することで、メトリックを直感的に理解できることを目的としています。メトリックにマウスを合わせると、ツールキットが表示されます。
デバッグ情報が利用できると、インテル® VTune™ プロファイラーはホットスポット解析結果の上位ホットスポットで、非適切なコンパイラー最適化オプションでコンパイルされた可能性があるモジュールを検出し、フラグを立てて通知します。これは、コンパイラーの最適化機能が十分に活用されていないことを検出して、ビルド環境の設定を変更するのに役立ちます。
入出力とメモリーアクセス解析では、サマリーウィンドウに表示されるプラットフォーム図に、パーシステント・メモリー・デバイス専用のブロックと、ソケットあたりの平均帯域幅が表示できるようになりました。
このデータは、インテル® マイクロアーキテクチャー開発コード名 Cascade Lake と Ice Lake ベースのサーバー・プラットフォームで利用できます。
ビューポイントの選択は、それぞれの解析タイプに応じて調整されます。現在、特定の解析タイプではビューポイントの選択が無効化されており、ほかの解析タイプでも最も有用なビューポイントのセットが機能しています。[オプション] ペインで、該当するすべてのビューポイントの表示を有効にできます。
新しいヒストグラム API が ITT API に追加されました。この API を使用すると、オーバーヘッドの追加なしでヒストグラム・データを収集できます。入出力解析の [サマリー] タブには、データが分布図形式で自動的に表示されます。
インテル® VTune™ プロファイラーは、DWARF バージョン 5 のデバッグ形式をサポートするようになりました。DWARF 5 形式のデバッグ情報を使用して、バイナリーの関数名とソースの場所を解決できるようになりました。
target-system コマンドを使用して、カスタム解析を含むすべての CPU ハードウェア・ベースの解析タイプのネイティブ perf ツールのコマンドラインでパラメーターを取得できるようになりました。これには、get-perf-cmd 引数を使用します。Linux* Perf ツールを使用してターゲットの perf トレースを収集し、トレースをインテル® VTune™ プロファイラー UI にインポートできます。
インテル® VTune™ プロファイラーのユーザーガイドには、ハイブリッド・プラットフォームで実行されるアプリケーションのプロファイルを説明する新しいトピックが追加されました。
新しい記事では、GPU をプロファイルする学習方針を示し、インテル® VTune™ プロファイラーでインテル GPU 向けのアプリケーションを最適化する方法を説明します。この記事から、GPU のプロファイルと最適化を行うインテル® VTune™ プロファイラーのワークフローを理解してください。この記事では、インテル® ソフトウェア・アナライザー製品による GPU 計算プロファイルとグラフィックス・プロファイルの手順に関するトピック、クックブックのレシピ、ウェビナーなどのリソースについても説明しています。
ダウンロード向けのドキュメントを追加しました。インテル® VTune™ プロファイラー CLI チートシート (英語、PDF 形式) から、インテル® VTune™ プロファイラーのコマンドライン・インターフェイスを素早く参照できます。
「インテル® VTune™ プロファイラー・パフォーマンス解析クックブック」に、次の新しいレシピが追加されました。