Product Brief

パフォーマンス・プロファイラー
インテル® VTune™ Amplifier XE 2017

インテル® ソフトウェア開発ツール「インテル® VTune™
Amplifier XE は、複雑なコードを解析し、迅速にボトルネックを特定するのに役立ちました。ほかのインテル® ソフトウェア開発ツールと併用することで、以前のバージョンと比較してPIPESIM のパフォーマンスを10 倍も向上できました。」
Schlumberger
シニア・サイエンティスト
Rodney Lessard 氏

アプリケーションをチューニングしてスケーラブルなマルチコア・パフォーマンスを実現• 高速なコード – 低オーバーヘッドで正確なデータに基づいたチューニング
• 迅速に処理 – 簡単な解析により詳細なデータを取得• より多くのデータ - CPU、FPU、GPU、スレッド化、メモリーアクセスなど• ローカルおよびリモート収集 - コマンドラインとグラフィカル・インターフェイス

新機能• Python* とネイティブコードの両方をプロファイル - 低オーバーヘッド、ソース
行の詳細• ハードウェア・パフォーマンスにとって重要な 3 つのメトリックを素早くプロ
ファイル - CPU 使用率 (スレッド化)、メモリーアクセス、FPU 使用率 (FLOPS)• インテル® Xeon Phi™ プロセッサーのチューニング (内蔵 MCDRAM を含む)
• ストレージ解析 - I/O と計算の相互作用をチューニング

図 1. hotspot プロファイル (上) に加えて、インテル® VTune™ Amplifier XE は、パフォーマンス向上の可能性と、ロード・インバランス、ロック競合、フォーク、スケジュール、リダクションのような一般的なパフォーマンス低下の原因を示す、OpenMP* パフォーマンスの詳細な解析結果を提供します。

インテル® VTune™ Amplifier XE 2017

「インテル® VTune™
Amplifier XE の情報に基づいてコードを最適化したところ、シングルコアでも大幅なパフォーマンスの向上 (約 2 倍) が得られました。」
Mentor Graphics Corporation
機械分析部門R&D 副ディレクター
Alexey Andrianov 氏

2

正確なデータとそれを解釈するための強力な解析

初めてチューニングを行う場合でも、高度なパフォーマンスの最適化を行う場合でも、インテル® VTune™ Amplifier XE はわずかなオーバーヘッドで正確なプロファイル・データを収集して提供します。しかし、良いデータがあっても、それを役立てることができなければ意味がありません。インテル® VTune™ Amplifier XE は、収集したデータを掘り下げて、解釈するためのツールも備えています。

最新のプロセッサーのパフォーマンス解析

最新のプロセッサーのパフォーマンスを解析する場合、シングルスレッド・パフォーマンスを最適化するだけでは十分ではありません。ハイパフォーマンスなコードには、次のものが求められます。
• 複数の CPU を利用するためのスレッド化とスケーラビリティー• 複数の FPU を効率良く使用するためのベクトル化• NUMA とキャッシュを利用するためのチューニング

メディア・アプリケーションでは、OpenCL* と GPU のチューニングも必要になります。インテル® VTune™ Amplifier XE では、これらの高度なプロファイル機能をフレンドリーな 1 つのインターフェイスから利用できます。

インテル® Parallel Studio XE の解析ツール、ランタイム、コンパイラーとの連携

インテル® VTune™ Amplifier XE は、インテル® Parallel Studio XE に含まれる次の解析ツールと連携可能です。

• インテル® Advisor - ベクトル化の最適化とスレッドのプロトタイプ生成に役立ちます。

• インテル® Trace Analyzer & Collector - MPI アプリケーションを検証し、スレッド化より最も大きな利点が得られるループをインテル® VTune™ Amplifier XE に知らせます。

必要なデータを取得• hotspot (統計コールツリー)、呼び出しカウント (統計)• スレッド・プロファイル (ロックと待機の解析)• メモリーアクセス、キャッシュミス、帯域幅、NUMA 解析• FLOPS と FPU 使用率• ストレージアクセス (ソースへマップ)、レイテンシー・ヒストグラム、I/O 待機• OpenCL* プログラム・カーネルのトレースと GPU オフロード「インテル® VTune™
Amplifier XE が本領を発揮するのは、OpenMP*コードをプロファイルするときです。インテル®
VTune™ Amplifier XE のおかげで弊社のアプリケーションはほぼ線形のスケーリングを実現できました。」
チェコ工科大学
機械工学部
研究者
Jaroslav Šindler 氏

簡単に使用可能• 特別なコンパイラーは不要: C、C++、C#、Fortran、Java*、Python*、Go™、ASM• Microsoft® Visual Studio® IDE 統合• グラフィカル・インターフェイスとコマンドライン• ローカルおよびリモートデータ収集、マルチランク対応 (MPI アプリケーション)• OS X* から Windows® および Linux* データを解析

必要な情報を迅速に表示• ソース/アセンブリーで結果を表示• OpenMP* スケーラビリティー解析とグラフィカル・フレーム解析• メモリー解析: データ構造のチューニングと NUMA レイテンシーの最適化• ビューポイントでデータをフィルターして関係のないデータを非表示• スレッドおよびタスク・アクティビティーをタイムライン表示

3

低オーバーヘッドで詳細なハードウェア・プロファイル

インテル® VTune™ Amplifier XE 2017

インテル® プロセッサーには、オンチップのパフォーマンス・モニタリング・ユニット (PMU) があります。インテル® VTune™
Amplifier XE は、インテル® プロセッサーおよび互換プロセッサーに対応した Basic Hotspots (基本的な hotspot) 解析に加えて、インテル® プロセッサー上の PMU を利用してデータを収集する低オーバーヘッドな Advanced Hotspots (高度な hotspot) 解析を提供します。ドライバーの解析には、システムワイドの解析が役立ちます。また、より短いサンプリング間隔の指定が可能になり(約 10 ミリ秒から約 1 ミリ秒に向上)、実行時間が短い小さな関数の hotspots も見つけることができます。

製品詳細

多くの CPU 時間を費やしているコードを素早く特定。hotspots 解析は、多くの CPU 時間を費やしている関数のソートされたリストを表示します。
これは、チューニングで最も大きな効果が得られる部分です。[+] をクリックするとコールスタックが表示され、ダブルクリックするとソースが表示されます。
結果をソースで確認。関数リストでダブルクリックすると、関数の最もホットな個所が表示されます。C、C++、Fortran、アセンブリー、Java*に加えて、Python* と Go™ でも利用できるようになりました。ソース行レベルのプロファイル情報を確認できます。

ロックと待機の解析によりスレッドをチューニング。並列プログラムのパフォーマンスを妨げる一般的な原因の 1 つである、ロックの待機中に長時間にわたってコアが十分に活用されないという問題を素早く見つることができます。

適切なデータにより OpenMP* を簡単にチューニング。低オーバーヘッドで正確なデータを利用して、OpenMP* コードの効率が悪い原因を影響の大きい順に確認できます。

複数のランクからなるハイブリッド
MPI/OpenMP* を最適化。インテル®
Trace Analyzer & Collector で選択された複数の MPI ランクをプロファイルします。OpenMP* パフォーマン
ス・ゲインの大きい順にソートされます。

インテル® VTune™ Amplifier XE 20174

製品詳細 (続き)データ構造の最適化:• キャッシュミスを (コード行だけでなく) データ構造に紐付け

NUMA レイテンシーとスケーラビリティーの最適化:• 共有とフォルス・シェアリングのチューニング
• ソケット間の帯域幅解析• インテル® Xeon Phi™ プロセッサーの MCDRAM (高帯域幅メモリー) 解析

インテル® Parallel Studio XE スイートに含まれるコンポーネント

インテル® VTune™ Amplifier XE は、並列ソフトウェア開発向けの統合ソフトウェア開発スイートであるインテル® Parallel Studio
XE またはスタンドアロンで使用できます。

動作環境

プロセッサーインテル® Xeon Phi™ プロセッサーを含む、インテル製および互換プロセッサー/コプロセッサー

コンパイラーMicrosoft® コンパイラー、GCC、インテル® コンパイラー、その他の標準に準拠するコンパイラーで動作

言語

開発環境

ホスト OS

ターゲット OS

基本スレッド解析
拡張スレッド・パフォーマンス解析
MPI 並列処理
GPU

C、C++、C#、Fortran、Java*、Python*、Go™、ASM ほか。Microsoft® コンパイラー、GCC、インテル®
コンパイラー、その他の標準に準拠するコンパイラーで動作します。
Microsoft® Visual Studio® 統合環境またはスタンドアロン

Windows®、Linux* をサポート。Windows® または Linux* データ用の OS X* ビューアーもあります。
Windows® および Linux* をサポート

インテルによる OpenMP* 実装、インテル® スレッディング・ビルディング・ブロック (インテル® TBB)、
インテル® Cilk™ Plus、ネイティブ・スレッド。
インテルによる OpenMP* 実装、インテル® TBB

インテル® Trace Analyzer & Collector の MPI プロファイラーとの統合

最新のインテル® プロセッサーでの OpenCL* プログラムおよびメディア・アプリケーションのチューニング

インテル® VTune™ Amplifier XE 製品情報 (英語) >30 日間の評価版 (英語) >インテル® コンパイラーでは、インテル® マイクロプロセッサーに限定されない最適化に関して、他社製マイクロプロセッサー用に同等の最適化を行えないことがあります。これには、インテル® ストリーミング
SIMD 拡張命令 2、インテル® ストリーミング SIMD 拡張命令 3、インテル® ストリーミング SIMD 拡張命令 3 補足命令などの最適化が該当します。インテルは、他社製マイクロプロセッサーに関して、いかなる最適化の利用、機能、または効果も保証いたしません。本製品のマイクロプロセッサー依存の最適化は、インテル® マイクロプロセッサーでの使用を前提としています。インテル® マイクロアーキテクチャーに限定されない最適化のなかにも、インテル® マイクロプロセッサー用のものがあります。この注意事項で言及した命令セットの詳細については、該当する製品のユーザー・リファレンス・ガイドを参照してください。

性能に関するテストに使用されるソフトウェアとワークロードは、性能がインテル® マイクロプロセッサー用に最適化されていることがあります。SYSmark* や MobileMark* などの性能テストは、特定のコンピューター・システム、コンポーネント、ソフトウェア、操作、機能に基づいて行ったものです。結果はこれらの要因によって異なります。製品の購入を検討される場合は、他の製品と組み合わせた場合の本製品の性能など、ほかの情報や性能テストも参考にして、パフォーマンスを総合的に評価することをお勧めします。詳細については、http://www.intel.com/performance (英語) を参照してください。

本資料は、明示されているか否かにかかわらず、また禁反言によるとよらずにかかわらず、いかなる知的財産権のライセンスも許諾するものではありません。インテルは、明示されているか否かにかかわらず、いかなる保証もいたしません。ここにいう保証には、商品適格性、特定目的への適合性、知的財産権の非侵害性への保証、およびインテル製品の性能、取引、使用から生じるいかなる保証を含みますが、これらに限定されるものではありません。本資料には、開発中の製品、サービスおよびプロセスについての情報が含まれています。本資料に含まれる情報は予告なく変更されることがあります。最新の予測、スケジュール、仕様、ロードマップについては、インテルの担当者までお問い合わせください。本資料で説明されている製品およびサービスには、不具合が含まれている可能性があり、公表されている仕様とは異なる動作をする場合があります。現在確認済みのエラッタについては、インテルまでお問い合わせください。本資料で紹介されている資料番号付きのドキュメントや、インテルのその他の資料を入手するには、1-800-548-4725(アメリカ合衆国) までご連絡いただくか、www.intel.com/design/literature.htm (英語) を参照してください。コンパイラーの最適化に関する詳細は、最適化に関する注意事項 (software.intel.com/enus/articles/optimization-notice#opt-jp) を参照してください。

© 2016 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴ、Xeon、Intel Xeon Phi、Cilk、VTune は、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。Microsoft、Visual Studio、および Windows は、米国 Microsoft Corporation の、米国およびその他の国における登録商標または商標です。Go は Google Inc. の登録商標または商標です。
JPN/1608/PDF/XL/SSG/TT