1
1? 1 1 2 1. hotspot : hotspot hotspot Parallel Amplifier 1? 2. hotspot : (1 ) Parallel Composer 1 Microsoft* Ticker Tape Smoke 1.0 PiSolver 66 / 64 / 2.76 ** 84 / 27% ** 75 / 17% ** 1.46 89% Microsoft* Visual Studio* Parallel Composer 1 Microsoft Visual Studio 2008 (Ticker Tape PiSolver); Microsoft Visual Studio 2005 (Smoke) ** Parallel Composer, update 5 : Ticker Tape Smoke: Core i7 (4 ) 3.20GHz 3GB RAM NVIDIA GeForce 9800 GX2; Windows Vista* Ultimate SP2; PiSolver: Core 2 Duo 1.2 GHz ( Centrino Pro ) 2GB RAM Windows* XP SP3 2
C++ PiSolver 1. Parallel Studio 1. 2. parallel_studio_setup.exe Parallel Studio 2. PiSolver 1. PiSolver Sample.zip 2. PiSolver.zip 3. Microsoft* Visual Studio* [ ] > [ ] > [ / ] 2 4. PiSolver [Release] [ ] > [ ] [ ] 2 3
[Release] [ ] 3 5. [ ] > [ ] 6. Microsoft Visual Studio [ ] > [ ] 4 7. [Calculate ( )] ( ) 5 3 4 5 4
3. Parallel Amplifier hotspot Parallel Amplifier Parallel Amplifier 1. Microsoft Visual Studio [ ] Pi [ ] 2. [ ] (+) [ ] 3. 4. [C/C++] [ ] 5. [ ] [ (/Zi)] [ ] 6 6. 7. [ ] [ ] 8. [ ] > [ (/DEBUG)] [ ] 7 6 7 5
Parallel Amplifier 1. Parallel Amplifier [Hotspots Where is my program spending time? (hotspot?)] 8 2. [Profile ( )] Parallel Amplifier Parallel Amplifier Pi 3. [Calculate ( )] 5. [Function Caller Function Tree ( - )] CalcPi 6. CalcPi (pigetsolutions) hotspot [Top-down Tree ( )] PiSolver hotspot pi.cpp 4. [Close ( )] Parallel Amplifier Parallel Amplifier [Hotspots (hotspot)] [Call Stack ( )] hotspot -CalcPi(int) - pi.cpp 9 8 6
インテル Parallel Studio 導入ガイド hotspot の特定と最適化 図9 1 2 3 4 5 6 1 2 3 4 5 6 hotspot 分析からの結果 結果が収集されるたびに番号 (000) が上がり ます [Function Caller Function Tree ( 関 数 - 呼 び 出し 関 数 ツリー )] は hotspot データのデフォルトのグループレベルです 矢印ボタンをクリック して グループレベルを変更できます 関数名の前にあるプラス記号をクリックすると 選択された関数のコール スタックを表示できます 選択された関数の呼び出し元が表示されると 次に 最初の呼び出し元の呼び出し元 のように順に表示されます CPU 時間は 論理プロセッサーで関数を実行するのにかかる時間です 複数のスレッドの場合は CPU 時間が合計されます これは hotspot 分 析結果の [Data of Interest ( 特定のデータ )] 列です 選択された関数のスタック情報全体がグリッドに表示されます 黄色のバー は hotspot 関数の CPU 時間に対する選択されたスタックの割合を示して います 分析実行のサマリーデータ: 1) [Elapsed Time ( 経過時間 )] は アプリケー ションの開始から終了までの実行時間です 2) [CPU Time (CPU 時間 )] は すべてのスレッドの CPU 時間です 3) [Unused CPU Time ( 未使用 の CPU 時間 )] は 待機中またはアプリケーションで有効利用されていな い各コアの合計時間です 4) [Core Count ( コア数 )] は マシンの論理 CPU 数です 5) [Threads Created ( 作成されたスレッド数 )] は アプリ ケーション実行中に作成されたスレッドの数です 7
10 : [Do not clean project(s)... (... )] PiSolver 11 12 4. Parallel Composer C++ Parallel Composer C++ 1. [ ] [Source Files] pi.cpp [Use Intel C++ ( (R) C++ )] 10 2. [Confirmation ( )] [OK] Pi Microsoft Visual C++ C++ 11 8
13 C++ Microsoft Visual C++ 1. [ ] > [ ] > [ ] > [General ( )] > [Compiler and Environment Settings ( )] [Microsoft Visual C++ Compiler (cl.exe) Microsoft Visual C++ (cl.exe)] Microsoft Visual C++ 12 2. [Confirmation ( )] [Continue ( )] [ ] [OK] Parallel Amplifier Parallel Composer Core 2 Duo > : 1,453 > : 875 Microsoft Visual C++ Parallel Composer 3. pi.cpp [ ] > [ ] > [General ( )] > [Compiler and Environment Settings ( )] [Intel C++ Compiler (icl.exe) ( (R) C++ (icl.exe))] 13 4. [ ] [OK] 5. [ ] Pi [ ] > [Pi ] [ ] pi.cpp C++ Microsoft Visual C++ 6. [ ] > [ ] PiSolver [Calculate ( )] Microsoft Visual C++ pi.cpp 9
CPU : CPU CPU CPU : Parallel Amplifier hotspot : (hotspot) Parallel Amplifier ( 5%) Parallel Studio ( ) Parallel Studio Web TBB Web Go Parallel Web ( ) C++ 1 hotspot Parallel Amplifier 2010, Intel Corporation. Intel Intel Centrino Intel Core Intel Corporation * JPN/1006/PDF/XL/SSG/TT 323865-001JA 10