スータビリティー・ツールはターゲットの実行形式を実行して、インテル® Advisor のアノテーションの適切なシーケンスをスキャンします。アノテーションまたはエラーに関連する小さなタスクサイズが検出されると、[Suitability Report (スータビリティー・レポート)] ウィンドウの上部にメッセージが表示されます。
メッセージが表示された場合、エラーの原因を調査して問題を解決します。一般に、表示されるメッセージは自明であり、詳しい説明を必要としません。
ソースコードを修正した後、アプリケーションをリビルドしてスータビリティー・ツールを再度実行します。[Suitability Report (スータビリティー・レポート)] ウィンドウの上部付近にエラー表示されなければ、スータビリティー・データを注意深く調査して、提案された並列サイトとタスクに関する決定を下すことができます。
特定のサイトやタスクに関連するソースコードを表示するには、[スータビリティー・ソース] ウィンドウを使用します。アノテーションのリストを確認してコードスニペットを表示するには、[アノテーション・レポート] ウィンドウを使用できます。
アノテーションに関連するエラーを解決する場合、プログラムの実行フローパスに注目します。必要であれば、デバッガーを使用して実行パスを調査します。
アノテーション・シーケンスに関連するメッセージに加え、タスクサイズに関するメッセージが表示されることもあります。例えば、ループサイクルごとのタスクの CPU 時間が小さすぎて、タスクのオーバーヘッド時間を超えることができない場合、ループ構造を調査した後にタスク・アノテーションを変更することを検討してください。一部の状況では、異なるタスク・アノテーションのタイプを推奨するメッセージが表示されることがあります (「関連情報」トピックを参照してください)。
インテル® Advisor のアノテーションの適切なシーケンスに関する規則には、以下が含まれます。
サイト: サイト開始アノテーションの後には、1 つ以上のタスクをマークするアノテーションが続きます。それらはサイト終了アノテーションで終わります。例えば、サイト開始アノテーションにタスク・アノテーションが続かない場合、またはサイト終了アノテーションで終了しない場合、エラーが発生します。
タスク: タスクは、反復タスク・アノテーションまたはタスク開始とタスク終了アノテーションのペアでマークされます。反復タスク・アノテーションを使用する場合、サイト内には 1 つのタスクのみが許されます。タスクの入れ子は、タスク開始とタスク終了のペアでのみ許可されます。
ロック: ロック取得アノテーションは、タスク内でロック解放アノテーションを従える必要があります。