< 目次

スレッド並列処理をモデル化

スータビリティー解析は、アノテーションが追加された並列サイトのパフォーマンス特性を予測するため、シリアルプログラムを実行して調査します。このデータは、複数の CPU 上で並列プログラムを実行する際のパフォーマンス・ゲインと、並列オーバーヘッドの影響を推測するのに役立ちます。

並列処理を追加する最適な場所を選択するため、プログラム全体のゲインに最も貢献する並列サイトの場所を特定します。スレッドの開始などの並列実行のオーバーヘッドにより、特定の並列サイトとタスクがプログラム全体のゲインにつながらないか、パフォーマンスを低下させる可能性があります。パフォーマンスの向上につながらない並列サイトやタスクを特定したら、それらのアノテーションを変更するか削除します。

[Suitability Report (スータビリティー・レポート)] ウィンドウを使用する

スータビリティー・ツールを実行して、[Suitability Report (スータビリティー・レポート)] ウィンドウにデータを表示します。このウィンドウは複数の領域を含んでいます。

ウィンドウ内の場所 説明

スータビリティー・ツールが検出したアノテーションに関連するエラーは、[Suitability Report (スータビリティー・レポート)] ウィンドウの上部に表示されます。エラーが発生した場合、表示されているスータビリティー・データの信頼性は保証されません。エラーに関連するソースの場所を表示するには、 ボタンをクリックします。エラーを解決するには、表示されるエラーメッセージ確認して、問題を解決するようにソースコードを変更し、ターゲットの実行ファイルをリビルドして、スータビリティー・ツールを再度実行します。

左上

左上のエリアはプログラムの [Maximum Program Gain for All Sites (すべてのサイトの最大プログラムゲイン)] を表示します。並列処理を実装する主な目的は、[Maximum Program Gain for All Sites (すべてのサイトの最大プログラムゲイン)] を増やし、並列プログラムの実行をより高速化することです。測定されたシリアル実行時間、予測並列実行時間、および測定されたポーズされた時間は、Maximum Program Gain for All Sites (すべてのサイトの最大プログラムゲイン) の下に表示されます。予測されたスータビリティー・ゲイン値を使用して、詳しい情報を得た上で並列処理を実装すべき場所を決定できます。

右上

右上にある modeling parameters (モデル化パラメーター) を使用してパフォーマンスをモデル化します。ドロップダウン・リストから、ハードウェア構成とスレッド化モデル (並列フレームワーク) を選択します。[Target System (ターゲットシステム)] で、インテル® Xeon Phi™ プロセッサーを選択すると、追加の項目 [Coprocessor Threads (コプロセッサー・スレッド)] が表示されます。

この行の下のデータグリッドには、プログラム実行中に検出された各並列サイトのパフォーマンスの予測値が表示されます。[Site Label (サイトラベル)] には、サイト・アノテーションへの引数が示されます。[Maximum Program Gain for All Sites (すべてのサイトの最大プログラムゲイン)] への各サイトの貢献度を推測するため、[Site Gain (サイトゲイン)][Impact to Program Gain (プログラムゲインへの貢献度)] の予測 (高い値が良い) を調査します。[Combined Site Metrics (結合されたサイトメトリック)] または [Site Instance Metrics (サイト・インスタンス・メトリック)] の下にあるデータを展開するには、見出しの右にある アイコンをクリックします。データを折りたたむには見出しの右にある をクリックします。

コマンドツール・バーを表示/非表示にするには、サイド・コマンド・ツールバーを表示 または サイド・コマンド・ツールバーを非表示 アイコンをクリックします。

左中央

[Target System (ターゲットシステム)][CPU] を選択した場合、タスクやロックと同様に選択したサイトの詳しい特性を見るには、[Site Details (サイト詳細)] タブをクリックします。

[Scalability of Maximum Site Gain (最大サイトゲインのスケーラビリティー)] グラフには、選択したサイトのパフォーマンス・サマリーが示されます。グラフの X 軸には、CPU プロセッサー数またはコプロセッサーのスレッド数の合計が示され、Y 軸にはターゲットの予測パフォーマンス・ゲインが示されます。デフォルトの [CPU Count (CPU 数)][Maximum CPU Count (最大 CPU 数)] を変更するには、オプション値を設定します。

左下

グラフの下には、予測パフォーマンス・ゲインを妨げる問題のリストとシリアルおよび予測並列時間が示されます。行を展開するには、項目名の右にある下矢印をクリックします。大部分の問題は、[Runtime Modeling (ランタイムのモデル化)] の モデル化パラメーター に関連します。後で、インテル® VTune™ プロファイラー などの解析ツールを使用して、並列プログラムの実際のパフォーマンスを測定できます。

中央下

並列パフォーマンスを改善する異なるループ構造、反復数、およびインスタンスの存続時間を調査するには、[Loop Iterations (Tasks) Modeling (ループ反復 (タスク) のモデル化)] (または [Tasks Modeling (タスクのモデル化)]) の modeling parameters (モデル化パラメーター) を使用します。

予測されるパフォーマンスへの影響を見るには、[Apply (適用)] をクリックします。

右下

[Runtime Modeling (ランタイムのモデル化)] の モデル化パラメーター を使用して、どの並列オーバーヘッド・タイプが、並列パフォーマンスに影響するか調査します。後で選択した並列フレームワークの機能を使用するか、並列処理を実装した後に並列コードをチューニングして指摘されたカテゴリーに対処する場合、カテゴリーを確認します。

右下

[Target System (ターゲットシステム)][Intel Xeon Phi (インテル® Xeon Phi™)] または [Offload to Intel Xeon Phi (インテル® Xeon Phi™ へオフロード)] を選択した場合、[Runtime Modeling (ランタイムのモデル化)] の下に [インテル® Xeon Phi™ 製品向けの高度なモデル化] オプションが表示されます。このオプションを展開するには、[Intel Xeon Phi Advanced Modeling (インテル® Xeon Phi™ 製品向けの高度なモデル化)] の右にある下方向の矢印をクリックします。

[Site Details (サイトの詳細)] タブをクリックして

[Target System (ターゲットシステム)][CPU] を選択すると、[Site Details (サイトの詳細)] タブは選択された並列サイトに関する詳細、およびサイト内の各タスクとロックが実行された詳細を示します。

アクティブな結果を使用している場合 (読み取り専用の結果ではなく)、モデル化パラメーターを変更することができます。モデル化パラメーターを変更し [Apply (適用)] をクリックすると、[Loop Iterations (Tasks) Modeling (ループ反復 (タスク) モデル化)][Tasks Modeling (タスクのモデル化)] を除くデータは更新されます。並列処理を追加する最適な場所を選択するため、これらのモデル化パラメーターはアノテーションの影響を理解するのに役立ちますが、表示されるデータは特定の並列ハードウェア上での最終的な実行時間を正確に評価するものではありません (一般的なプロセッサー特性が使用されます)。

後で並列コードを追加する前に、アプリケーションで使用する並列フレームワーク (スレッド化モデル) を 1 つ選択する必要があります。

サイトに関連するソースコードを表示するには、サイトのリスト (右上の領域) を確認して次の操作を行います。

[スータビリティー・ソース] ウィンドウを使用する

[スータビリティー・ソース] ウィンドウでは次のことができます。

[Result (結果)] タブには、[Suitability Report (スータビリティー・レポート)][Suitability Source (スータビリティー・ソース)] およびその他のインテル® Advisor ウィンドウが表示されます。プロジェクトには 1 つの [Result (結果)] タブがあります。

スータビリティー・レポートのスケーラビリティー・グラフを理解する

選択した [Target System (ターゲットシステム)] に応じて、2 つの異なるグラフが表示されます。スケーラビリティー・グラフの説明については、「スータビリティー・レポートの概要」を参照してください。

パフォーマンス・データを理解する秘訣

[Suitability Report (スータビリティー・レポート)] ウィンドウでは、最上位から開始し、サイトを選択し、[Suitability Report (スータビリティー・レポート)] ウィンドウの詳細を見てソースコードを調査します。それぞれのアノテーション・サイトを調査するため、この手順を繰り返します。必要に応じてこの情報を表示して、コードエディターでアノテーションを変更します。

各サイトの可能性を評価するため、次のガイドラインを使用します。