Parallel Studio XEで最新CPUに合ったソフトを作る
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」で構成されています。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- 並列処理を実現する製品ロードマップ
- Visual C++プログラマをサポートする「インテル(R) Parallel Studio」
- エクセルソフト、IntelのC++/Fortranコンパイラを搭載した「インテル Parallel Studio XE 2017 Composer Edition」を提供開始
- エクセルソフト、「インテル Parallel Studio XE 2019」を発表
- エクセルソフト、「インテル Parallel Studio XE 2019」を発表
- Xeon E7 v3のアーキテクチャ(後)
- 現代PCの基礎知識(1):プロセッサにまつわるアレやコレ
- Xeon E7 v3のアーキテクチャ(前)
- CUDAとGPUコンピューティングの広がり
- Xeon初のSoC、マイクロサーバー向けプロセッサのアーキテクチャ(前)