自動デバイスプラグインのデバッグ#
デバッグログの使用#
実行上の問題が発生した場合、他のすべてのプラグインと同様に、Auto-Device は例外とエラー値に関する情報をユーザーに返します。返されたデータがデバッグの目的に十分でない場合、ov::log::Level
を使用して詳細情報を取得できます。
ログには 6 つのレベルがあり、明示的に呼び出すことも、OPENVINO_LOG_LEVEL
環境変数を設定することもできます (compile_model()
または set_property()
によって上書きできます):
0 - ov::log::Level::NO
1 - ov::log::Level::ERR
2 - ov::log::Level::WARNING
3 - ov::log::Level::INFO
4 - ov::log::Level::DEBUG
5 - ov::log::Level::TRACE
core = ov.Core()
# モデルを AUTO でコンパイルし、ログレベルをデバッグに設定
compiled_model = core.compile_model(
model=model,
device_name="AUTO",
config={log.level: log.Level.DEBUG},
)
# set_property でログレベルを設定し、モデルをコンパイル
core.set_property(
device_name="AUTO",
properties={log.level: log.Level.DEBUG},
)
compiled_model = core.compile_model(model=model, device_name="AUTO")
ov::Core core;
// R、PaddlePaddle、または ONNX 形式でネットワークを読み取る
std::shared_ptr<ov::Model> model = core.read_model("sample.xml");
// モデルを AUTO でコンパイルし、ログレベルをデバッグに設定
ov::CompiledModel compiled_model = core.compile_model(model, "AUTO",
ov::log::level(ov::log::Level::DEBUG));
// または set_property でログレベルを設定し、モデルをコンパイル
core.set_property("AUTO", ov::log::level(ov::log::Level::DEBUG));
ov::CompiledModel compiled_model2 = core.compile_model(model, "AUTO");
変数を使用して定義する場合、ログレベル名の代わりに数字を使用する必要があります。例:
Linux*
export OPENVINO_LOG_LEVEL=0
Windows*
set OPENVINO_LOG_LEVEL=0
プロパティーは次の形式で情報を返します:
[time]LOG_LEVEL[file] [PLUGIN]: message
ここで、LOG_LEVEL
は名前の最初の文字で表されます (ERROR は例外としてフルネームが使用されます)。例:
[17:09:36.6188]D[plugin.cpp:167] deviceName:GPU, defaultDeviceID:, uniqueName:GPU_
[17:09:36.6242]I[executable_network.cpp:181] [AUTOPLUGIN]:select device:GPU
[17:09:36.6809]ERROR[executable_network.cpp:384] [AUTOPLUGIN] load failed, GPU:[ GENERAL_ERROR ]
インストルメントとトレース・テクノロジー#
OpenVINO™ ランタイムと AUTO プラグインの主要なパフォーマンス呼び出しはすべて、インストルメントおよびトレース・テクノロジー (ITT) API を介して計測されます。OpenVINO™ ランタイムで ITT を有効にするには、次のオプションを使用してコンパイルします:
-DENABLE_PROFILING_ITT=ON
詳細については、以下を参照してください:
Linux* でコードのパフォーマンスを解析#
インテル® VTune™ プロファイラーを使用してコードのパフォーマンスを解析できます。詳細とインストール手順については、インテル® VTune™ プロファイラー・ユーザー・ガイドを参照してください。インテル® VTune™ プロファイラーがインストールされている場合は、次の手順で解析を構成できます。
ホストマシン上でインテル® VTune™ プロファイラー GUI を起動して、次の操作を行います:
cd /vtune install dir/intel/oneapi/vtune/2021.6.0/env source vars.sh vtune-gui
[Configure Analysis (解析の設定)] を選択します
[where (どこを)] ペインで、[Local Host (ローカルホスト)] を選択します。
[what (何を)] ペインで、ローカルシステム上のターゲット・アプリケーションを指定します。
[how (どのように)] ペインで、実行する分析タイプ (例えば、ホットスポット解析) を選択して構成します。最も時間のかかる関数を特定し、ドリルダウンしてソースコードの各行で費やされた時間を確認します。パフォーマンスに最も影響を与えるホットなコードの最適化に集中します。
[Start (開始)] ボタンをクリックして解析を開始します。完了すると、アプリケーション内の上位ホットスポットや上位タスクなど、実行の概要が表示されます:
自動プラグインに関連する ITT 情報を分析するには、[Bottom-up (ボトムアップ)] タブをクリックし、ドロップダウン・リストから [Task Domain/Task Type/Function/Call Stack (タスクドメイン/タスクタイプ/関数/コールスタック)] を選択します。自動プラグイン関連の ITT 情報は、MULTIPlugin タスクドメインの下に表示されます。