注目するコード領域が解析されず、オフロードのモデル化パースペクティブを実行した後、[Accelerated Regions (アクセラレートされた領域)] タブの [Details (詳細)] ペインに [Outside of Marked Regionwhy (マークされた領域外)] がオフロードされない理由を示すメッセージが表示されます。
収集の範囲を制限するため、オフロード・アドバイザーは特定の条件に一致するループを選択して解析向けにマークします。デフォルトでは、オフロード・アドバイザーは汎用マークを使用してスマート領域選択を行います。
コード領域がマークの基準を満たさない場合、[Accelerated Regions (アクセラレートされた領域)] タブの [Details (詳細)] ペインに [オフロードされない理由] メッセージまたは [システムモジュール] の診断メッセージが表示されます。
コード領域が指定されたマークモードの条件を満たしていません。デフォルトの汎用マーク規則を使用する場合、対象のループが以下の条件を満たしていることを確認してください。
システムモジュールまたはシステム関数ではないこと。
命令ミックスがあること。
実行されていること。
実行時間が、インテル Advisor のサンプリング間隔である 0.02 秒以上であること。実行時間の制限については、「合計時間がモデル化の信頼性を満たすには短すぎます」を参照してください。
汎用マーク規則を満たしていないコード領域の解析を行う場合、次のいずれかを実行します
analyze.py の --markup=<markup_mode> オプションまたは、--collect=performance で --select markup=<markup-mode> を使用すると、マークの規則を変更できます。次のパラメーターは、常に並列領域のループのみを選択します。
generic または gpu_generic (デフォルト) - GPU で実行されるループを選択します。
omp - OpenMP* 並列領域のループを選択します。
icpx -fsycl - SYCL* 並列領域のループを選択します。
daal - インテル® oneAPI データ・アナリティクス・ライブラリーの並列領域のループを選択します。
tbb - インテル® oneAPI スレッディング・ビルディング・ブロックの並列領域のループを選択します。
omp、icpx -fsycl、および generic/gpu_generic はプロジェクト内のループを選択するため、マークまたはループ選択オプションなしで別の収集またはパフォーマンスのモデル化を実行できます。
静的な命令ミックスがないか、実行されていないため注目するループがマークされていない場合、analyze.py スクリプトで --select-loops オプションを指定して特定のループに解析を制限できます。このオプションを使用すると、指定されたループのみが解析されます。以下に例を示します。
advisor-python <APM>/analyze.py <project-dir> --select-loops=[<file-name1>:<line-number1>,<file-name1>:<line-number2>,<file-name2>:<line-number3>]
--collect=performance を使用して、--select でソースの場所、ID、または基準で解析するループを選択します。