メモリー・アクセス・プロファイル - xlsoft … › documents › intel › vtune ›...
Post on 29-May-2020
5 Views
Preview:
TRANSCRIPT
メモリー・アクセス・プロファイル: 一般的なパフォーマンス・ボトルネックの特定と修正
インテル コーポレーションJackson Marusarz
https://software.intel.com/en-us/videos/memory-access-profiling-fix-common-performance-bottlenecks
© 2018 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
2
インテル® Parallel Studio XE
インテル® C/C++ および Fortran コンパイラー
インテル® MKL工学、科学、金融系アプリケーション向けに最適化されたルーチン
インテル® DAALデータ解析/マシンラーニング向けに最適化済み
インテル® MPI ライブラリー
インテル® TBBタスクベースの並列 C++ テンプレート・ライブラリー
インテル® IPP画像、信号、圧縮ルーチン
インテル® VTune™ Amplifierパフォーマンス・プロファイラー
インテル® Advisorベクトル化の最適化とスレッドのプロトタイプ生成
インテル® Trace Analyzer & CollectorMPI プロファイラー
インテル® Inspectorメモリー/スレッドのチェック
プロ
ファ
イル
、解析
、ア
ーキ
テク
チャ
ーパ
フォ
ーマ
ンス
・ラ
イブ
ラリ
ー
クラ
スタ
ーツ
ール
インテル® Distribution for Python*パフォーマンスを引き出すスクリプト
インテル® Cluster Checkerクラスター診断エキスパート・システム
© 2018 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
3
インテル® C/C++ および Fortran コンパイラー
インテル® MKL工学、科学、金融系アプリケーション向けに最適化されたルーチン
インテル® DAALデータ解析/マシンラーニング向けに最適化済み
インテル® MPI ライブラリー
インテル® TBBタスクベースの並列 C++ テンプレート・ライブラリー
インテル® IPP画像、信号、圧縮ルーチン
インテル® VTune™ Amplifierパフォーマンス・プロファイラー
インテル® Advisorベクトル化の最適化とスレッドのプロトタイプ生成
インテル® Trace Analyzer & CollectorMPI プロファイラー
インテル® Inspectorメモリー/スレッドのチェック
プロ
ファ
イル
、解析
、ア
ーキ
テク
チャ
ーパ
フォ
ーマ
ンス
・ラ
イブ
ラリ
ー
クラ
スタ
ーツ
ール
インテル® Distribution for Python*パフォーマンスを引き出すスクリプト
インテル® Cluster Checkerクラスター診断エキスパート・システム
インテル® Parallel Studio XE
© 2018 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
4
正確なデータ - 低オーバーヘッド CPU、GPU、FPU、スレッド化、帯域幅…
意味のある解析 スレッド化、OpenMP* 領域効率 メモリーアクセス、ストレージデバイス
簡単 データをソースコードに表示 セットアップが簡単で、特別なコンパイラー
は不要
インテル® VTune™ Amplifier パフォーマンス・プロファイラー
SAS Institute Inc.主任開発者Claire Cates 氏
「先週は、インテル® VTune™ Amplifier により、3 倍のパフォーマンス向上を見つけることができました。今週は、さらに 3 倍パフォーマンスを向上できました。」
© 2018 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
5
LLC (L3)
LLC (L3)
LLC (L3)
LLC (L3)
コア
コア
コア
コア
システム・エージェント
共有 LLC
SN
B
32KBL1D
32KBL1I
256KBL2
コア
コア
コア
LLC (L3)
LLC (L3)
DRAM
メモリー & I/O
メモリー階層の基本
大きい
小さい 速い
遅い
32KBL1D
256KBL2
LLC (L3)
DRAM
© 2018 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
6
インテル® VTune™ Amplifier プロファイルの設定
© 2018 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
7
解析タイプの選択
© 2018 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
8
メモリーアクセス解析サマリー
ウォールクロックとCPU 使用時間
メモリーストールの詳細
平均メモリー・アクセス・レイテンシー
システム要件を判断するベンチマーク
© 2018 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
9
帯域幅使用状況の詳細
アクセス・レイテンシーの詳細
メモリーアクセス解析サマリー
© 2018 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
10
メモリーアクセス: ボトムアップ・ビュー
オーバータイムDRAM 帯域幅
オーバータイムQPI/UPI 帯域幅
関数別の詳細(設定可能)
© 2018 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
11
メモリーアクセス: ボトムアップ・ビュー
ズームおよびフィルターで特定の領域に注目
ズームしたビューで詳細を確認
© 2018 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
12
例: 低い NUMA 使用率
Remote (リモート) メトリックに注目
Memory Bound (メモリー依存) メトリックが高くローカルキャッシュが問題でない場合
© 2018 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
13
例: 低い NUMA 使用率
QPI/UPI 帯域幅が高い領域を見つける
QPI/UPI 帯域幅はソケット間の通信で NUMA の問題を示すことがある
© 2018 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
14
低い NUMA 使用率の一般的な原因
割り当てとファーストタッチのメモリー位置
キャッシュラインのフォルス・シェアリング
必要な場合はパディングを使用する
無作為な配列アクセス
低いスレッド・アフィニティー
例: 低い NUMA 使用率
メモリーを割り当てた場所でスレッドが実行されているか?
© 2018 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
15
例: 非効率な配列アクセスパターン
メモリー依存関数 (パイプライン・スロットの 44% がストールしている)
DRAM と UPI 帯域幅が低い
関数をダブルクリックしてソースビューを表示
© 2018 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
16
例: 非効率な配列アクセスパターン
詳細なソース行レベルのメトリック
入れ子のループ内の非効率な配列アクセスパターン
© 2018 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
17
例: 非効率な配列アクセスパターン
ループ交換
© 2018 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
18
例: 非効率な配列アクセスパターン
© 2018 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
19
メモリー・オブジェクトの識別
割り当てられたオブジェクトを表示
LLC Miss Count (LLC ミスカウント) でソート
© 2018 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
20
メモリー・オブジェクトの識別
ダブルクリックしてソースビューで割り当て位置を確認
アセンブリー・ビューも利用可能
© 2018 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
21
全般解析で詳細を確認
展開可能なメトリックの階層
プロセッサー・パイプラインの詳細
© 2018 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
22
I/O 依存か、CPU 依存か? I/O 操作 (非同期/同期) と計算の間の
インバランスを調査
ストレージアクセスをソースコードにマップ
CPU が I/O を待機している個所を確認
ストレージへのバス帯域幅を測定
レイテンシー解析 レイテンシー・ヒストグラムを利用して
ストレージアクセスをチューニング
I/O を複数のデバイスに分散
スライダーで I/O キューの深さのしきい値を設定
I/O 待機を伴う遅いタスク
ディスク I/O 解析で詳細を確認(HDD、SATA または NVMe SSD)
© 2018 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
23
まとめ
今回確認した項目
© 2018 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
24
まとめ
ほかの項目を確認ほかの項目を確認ほかの項目を確認ほかの項目を確認
© 2018 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
25
関連情報
インテル® Parallel Studio XE 2018 をお試しください!
製品の評価版: https://www.isus.jp/intel-parallel-studio-xe/
ほかのウェビナーもご覧ください!
https://software.seek.intel.com/fall-webinar-series (英語)
関連資料
Python* はネイティブコードと同じくらい速いのか?
インテル® MKL を使用した小行列乗算の高速化
© 2018 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
26
法務上の注意書きと最適化に関する注意事項
本資料の情報は、現状のまま提供され、本資料は、明示されているか否かにかかわらず、また禁反言によるとよらずにかかわらず、いかなる知的財産権のライセンスも許諾するものではありません。製品に付属の売買契約書『Intel's Terms and Conditions of Sale』に規定されている場合を除き、インテルはいかなる責任を負うものではなく、またインテル製品の販売や使用に関する明示または黙示の保証 (特定目的への適合性、商品性に関する保証、第三者の特許権、著作権、その他、知的財産権の侵害への保証を含む) をするものではありません。
性能に関するテストに使用されるソフトウェアとワークロードは、性能がインテル® マイクロプロセッサー用に最適化されていることがあります。SYSmark* や MobileMark* などの性能テストは、特定のコンピューター・システム、コンポーネント、ソフトウェア、操作、機能に基づいて行ったものです。 結果はこれらの要因によって異なります。 製品の購入を検討される場合は、他の製品と組み合わせた場合の本製品の性能など、ほかの情報や性能テストも参考にして、パフォーマンスを総合的に評価することをお勧めします。
© 2018 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴ、VTune は、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。
最適化に関する注意事項
インテル® コンパイラーでは、インテル® マイクロプロセッサーに限定されない最適化に関して、他社製マイクロプロセッサー用に同等の最適化を行えないことがあります。これには、インテル® ストリーミング SIMD 拡張命令 2、インテル® ストリーミング SIMD 拡張命令 3、インテル® ストリーミング SIMD 拡張命令 3 補足命令などの最適化が該当します。インテルは、他社製マイクロプロセッサーに関して、いかなる最適化の利用、機能、または効果も保証いたしません。本製品のマイクロプロセッサー依存の最適化は、インテル® マイクロプロセッサーでの使用を前提としています。インテル® マイクロアーキテクチャーに限定されない最適化のなかにも、インテル® マイクロプロセッサー用のものがあります。この注意事項で言及した命令セットの詳細については、該当する製品のユーザー・リファレンス・ガイドを参照してください。
注意事項の改訂 #20110804
© 2018 Intel Corporation. 無断での引用、転載を禁じます。Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。*その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
27
top related