VTune Amplifier XEで行うパフォーマンス分析

Sponsored

VTune Amplifier XEで行うパフォーマンス分析

問題を解決するためには状況を把握するということが大事ですが、アプリケーションのパフォーマンスを向上させる場合にもこれが当てはまります。例えば、プロセッサを十分に稼働させるためにはどうすればよいかを知ることが、より良いパフォーマンスのために重要です。

まずはプロセッサーの使用率を100%にすることから始めましょう。そのためには、効率的に複数コア上で実行できるようにマルチスレッド化します。マルチスレッド化によりパフォーマンスを向上させるためには、各スレッドの動作状況や同期のタイミングを把握する必要があり、その場合、インテルVTune Amplifier XEを使用することで必要な情報を簡単に取得することができます。

一方、1コアあたりの動作速度を改善することも重要です。忙しく動作しているように見える処理も、空回りしているという可能性も考えられます。少し難しい話ですが、プロセッサの中では処理構造やキャッシュの性質などにより見た目では分からないような問題が起こっているかもしれません。これもマルチスレッド化のパフォーマンス解析と同じようにインテルVTune Amplifier XEにより検出することができます。

インテルVTune Amplifier XEを使用すると、対象アプリケーションの動作をこと細かに分析することができます。このツールではコードの変更は必要なく、実行可能なファイルとソース・コードのみで分析することができます。

インテルVTune Amplifier XEには、2つのサンプリング方法があります。

1. ユーザー・モードによるサンプリング
システムに対して定期的な割り込みを発生させ、実行中のプロセス情報やスレッド情報を取得します。これらの情報は、マルチスレッドを活用するために役立ちます。ユーザー・モードのサンプリングでは、アプリケーションのHotspot(CPU使用率の高い処理)や各スレッドの動作状況、スレッド間の同期やI/O処理による待ち状態について分析できます。
2. イベント・ベースのサンプリング
インテル・プロセッサには内部にパフォーマンス・モニタリング・ユニット(PMU)という処理した内容を保存しておくところがありますが、その情報を利用してインテルVTune Amplifier XEはハードウエアに関する情報を取得します。これらの情報は、ハードウエア特性を活用するコード改善に役立ちます。

イベント・ベースのサンプリングでは、インテルCore 2プロセッサやNehalemアーキテクチャ・プロセッサ用に、一般的なハードウエア情報(実行された命令数や、CPI値、ストール、LLCミス、分岐予測ミスなど)や、メモリー・アクセス、バス帯域幅、マイクロオペレーションのフロー問題などの分析を行える設定が用意されています。

集計結果は、関数ごと、スレッドごとなどのリスト表示や、関数のコール・スタック表示、ソース・コード/アセンブラ・コードの記述と対比など、いろいろな視点から見ることができます。また、各スレッドごとの動作状況が時系列で表示され、問題である可能性が高いと判断された項目がアドバイスとともにハイライトされます。

図3: インテルVTune Amplifier XEの画面イメージ(クリックで拡大)

インテルのソフトウエア開発製品は、プログラマがより簡単に最新のテクノロジを使用するための機能を提供します。近年ではノート・パソコンもマルチコアを採用するものがほとんどになってきました。以前、Intel Corporationのデベロッパ・プロダクツ・ディビジョンのセールス&ビジネス・デベロップメント・ディレクタであるフィル・デ・ラ・ゼルダ(Phil De La Zerda)氏とお話したところ「今後は並列化できるプログラマがより多くのチャンスをつかめる社会を作っていきたい」と語られていました。

インテルのソフトウエア開発製品には、無償評価版もあり、導入しやすくなっております。ぜひ、一度お試しください。

インテル® Parallel Studio XE

製品の詳細はこちら

インテルが開発ツール製品を一新し、より高いパフォーマンスを求める開発者に向けた開発ツール「インテル® Parallel Studio XE 2011」をリリースしました。Windows およびLinuxをサポートしており、コンパイラ「Composer XE」、デバッガ「Inspector XE」、パフォーマンス・アナライザ「VTune Amplifier XE」で構成されています。

Sponsored

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30