[
  {
    "model_name": "yolov8_640x640_nv12.bin",
    "model_path": "/workspace/input/yolov8_640x640_nv12.bin",
    "perf_results": [
      {
        "thread_num": 1,
        "frame_count": 20,
        "run_time_ms": 115.618,
        "total_latency_ms": 114.53302,
        "avg_latency_ms": 5.726651,
        "fps": 172.983445,
        "raw_output": "hrt_model_exec perf --model_file /workspace/input/yolov8_640x640_nv12.bin --thread_num 1 --frame_count 20\n[BPU_PLAT]BPU Platform Version(1.3.6)! soc info(x5)\n[HBRT] set log level as 0. version = 3.15.55.0\n[DNN] Runtime version = 1.24.5_(3.15.55 HBRT)\n[A][DNN][packed_model.cpp:247][Model](2026-03-18,10:09:48.457.812) [HorizonRT] The model builder version = 1.23.6\n[W][DNN]bpu_model_info.cpp:491][Version](2026-03-18,10:09:48.544.186) Model: yolov8n_640x640_nv12. Inconsistency between the hbrt library version 3.15.55.0 and the model build version 3.15.49.0 detected, in order to ensure correct model results, it is recommended to use compilation tools and the BPU SDK from the same OpenExplorer package.\nLoad model to DDR cost 160.029ms.\n\n\u001b[1;33m [Warning]: These operators have range limitations on input data: \u001b[0m\n\u001b[1;33m [Div, Tan, Acos, Asin, Sqrt, Gather, GatherElements, GatherND, GridSample, Log, Onehot, PsroiPooling, Range, ReverseSequence, RoiPooling, RoiAlign, ScatterElements, ScatterND, Slice, Tile, Topk, Upsample]. \u001b[0m\n\u001b[1;33m Please make sure that these operators are not in your model, when no input data is provided to the tool. \u001b[0m\n\u001b[1;33m [Suggestion]: Using --input_file command to specify perf input data, which can appoint valid input data.  \u001b[0m\n\nFrame count: 20,  Thread Average: 5.726651 ms,  thread max latency: 7.971000 ms,  thread min latency: 5.530000 ms,  FPS: 173.265182\n\nRunning condition:\n  Thread number is: 1\n  Frame count   is: 20\n  Program run time: 115.618000 ms\nPerf result:\n  Frame totally latency is: 114.533020 ms\n  Average    latency    is: 5.726651 ms\n  Frame      rate       is: 172.983445 FPS\nI0000 00:00:00.000000     9 vlog_is_on.cc:197] RAW: Set VLOG level for \"*\" to 3\nI0318 10:09:48.550940     9 function_util.cpp:323] get model handle success\nI0318 10:09:48.551020     9 function_util.cpp:656] get model input count success\nI0318 10:09:48.551142     9 function_util.cpp:687] prepare input tensor success!\nI0318 10:09:48.551162     9 function_util.cpp:697] get model output count success\n",
        "returncode": 0
      },
      {
        "thread_num": 2,
        "frame_count": 20,
        "run_time_ms": 78.113,
        "total_latency_ms": 150.414993,
        "avg_latency_ms": 7.52075,
        "fps": 256.039328,
        "raw_output": "hrt_model_exec perf --model_file /workspace/input/yolov8_640x640_nv12.bin --thread_num 2 --frame_count 20\n[BPU_PLAT]BPU Platform Version(1.3.6)! soc info(x5)\n[HBRT] set log level as 0. version = 3.15.55.0\n[DNN] Runtime version = 1.24.5_(3.15.55 HBRT)\n[A][DNN][packed_model.cpp:247][Model](2026-03-18,10:09:49.861.354) [HorizonRT] The model builder version = 1.23.6\n[W][DNN]bpu_model_info.cpp:491][Version](2026-03-18,10:09:49.941.333) Model: yolov8n_640x640_nv12. Inconsistency between the hbrt library version 3.15.55.0 and the model build version 3.15.49.0 detected, in order to ensure correct model results, it is recommended to use compilation tools and the BPU SDK from the same OpenExplorer package.\nLoad model to DDR cost 148.921ms.\n\n\u001b[1;33m [Warning]: These operators have range limitations on input data: \u001b[0m\n\u001b[1;33m [Div, Tan, Acos, Asin, Sqrt, Gather, GatherElements, GatherND, GridSample, Log, Onehot, PsroiPooling, Range, ReverseSequence, RoiPooling, RoiAlign, ScatterElements, ScatterND, Slice, Tile, Topk, Upsample]. \u001b[0m\n\u001b[1;33m Please make sure that these operators are not in your model, when no input data is provided to the tool. \u001b[0m\n\u001b[1;33m [Suggestion]: Using --input_file command to specify perf input data, which can appoint valid input data.  \u001b[0m\n\nFrame count: 20,  Thread Average: 7.520750 ms,  thread max latency: 10.315000 ms,  thread min latency: 6.401000 ms,  FPS: 256.561554\n\nRunning condition:\n  Thread number is: 2\n  Frame count   is: 20\n  Program run time: 78.113000 ms\nPerf result:\n  Frame totally latency is: 150.414993 ms\n  Average    latency    is: 7.520750 ms\n  Frame      rate       is: 256.039328 FPS\nI0000 00:00:00.000000    28 vlog_is_on.cc:197] RAW: Set VLOG level for \"*\" to 3\nI0318 10:09:49.942950    28 function_util.cpp:323] get model handle success\nI0318 10:09:49.943027    28 function_util.cpp:656] get model input count success\nI0318 10:09:49.943101    28 function_util.cpp:687] prepare input tensor success!\nI0318 10:09:49.943121    28 function_util.cpp:697] get model output count success\n",
        "returncode": 0
      },
      {
        "thread_num": 3,
        "frame_count": 20,
        "run_time_ms": 78.147,
        "total_latency_ms": 219.791016,
        "avg_latency_ms": 10.989551,
        "fps": 255.927931,
        "raw_output": "hrt_model_exec perf --model_file /workspace/input/yolov8_640x640_nv12.bin --thread_num 3 --frame_count 20\n[BPU_PLAT]BPU Platform Version(1.3.6)! soc info(x5)\n[HBRT] set log level as 0. version = 3.15.55.0\n[DNN] Runtime version = 1.24.5_(3.15.55 HBRT)\n[A][DNN][packed_model.cpp:247][Model](2026-03-18,10:09:51.211.152) [HorizonRT] The model builder version = 1.23.6\n[W][DNN]bpu_model_info.cpp:491][Version](2026-03-18,10:09:51.301.611) Model: yolov8n_640x640_nv12. Inconsistency between the hbrt library version 3.15.55.0 and the model build version 3.15.49.0 detected, in order to ensure correct model results, it is recommended to use compilation tools and the BPU SDK from the same OpenExplorer package.\nLoad model to DDR cost 159.794ms.\n\n\u001b[1;33m [Warning]: These operators have range limitations on input data: \u001b[0m\n\u001b[1;33m [Div, Tan, Acos, Asin, Sqrt, Gather, GatherElements, GatherND, GridSample, Log, Onehot, PsroiPooling, Range, ReverseSequence, RoiPooling, RoiAlign, ScatterElements, ScatterND, Slice, Tile, Topk, Upsample]. \u001b[0m\n\u001b[1;33m Please make sure that these operators are not in your model, when no input data is provided to the tool. \u001b[0m\n\u001b[1;33m [Suggestion]: Using --input_file command to specify perf input data, which can appoint valid input data.  \u001b[0m\n\nFrame count: 20,  Thread Average: 10.989551 ms,  thread max latency: 13.497000 ms,  thread min latency: 7.165000 ms,  FPS: 256.410248\n\nRunning condition:\n  Thread number is: 3\n  Frame count   is: 20\n  Program run time: 78.147000 ms\nPerf result:\n  Frame totally latency is: 219.791016 ms\n  Average    latency    is: 10.989551 ms\n  Frame      rate       is: 255.927931 FPS\nI0000 00:00:00.000000    48 vlog_is_on.cc:197] RAW: Set VLOG level for \"*\" to 3\nI0318 10:09:51.303458    48 function_util.cpp:323] get model handle success\nI0318 10:09:51.303537    48 function_util.cpp:656] get model input count success\nI0318 10:09:51.303613    48 function_util.cpp:687] prepare input tensor success!\nI0318 10:09:51.303634    48 function_util.cpp:697] get model output count success\n",
        "returncode": 0
      },
      {
        "thread_num": 4,
        "frame_count": 20,
        "run_time_ms": 78.287,
        "total_latency_ms": 285.552979,
        "avg_latency_ms": 14.277649,
        "fps": 255.470257,
        "raw_output": "hrt_model_exec perf --model_file /workspace/input/yolov8_640x640_nv12.bin --thread_num 4 --frame_count 20\n[BPU_PLAT]BPU Platform Version(1.3.6)! soc info(x5)\n[HBRT] set log level as 0. version = 3.15.55.0\n[DNN] Runtime version = 1.24.5_(3.15.55 HBRT)\n[A][DNN][packed_model.cpp:247][Model](2026-03-18,10:09:52.572.259) [HorizonRT] The model builder version = 1.23.6\n[W][DNN]bpu_model_info.cpp:491][Version](2026-03-18,10:09:52.631.569) Model: yolov8n_640x640_nv12. Inconsistency between the hbrt library version 3.15.55.0 and the model build version 3.15.49.0 detected, in order to ensure correct model results, it is recommended to use compilation tools and the BPU SDK from the same OpenExplorer package.\nLoad model to DDR cost 128.734ms.\n\n\u001b[1;33m [Warning]: These operators have range limitations on input data: \u001b[0m\n\u001b[1;33m [Div, Tan, Acos, Asin, Sqrt, Gather, GatherElements, GatherND, GridSample, Log, Onehot, PsroiPooling, Range, ReverseSequence, RoiPooling, RoiAlign, ScatterElements, ScatterND, Slice, Tile, Topk, Upsample]. \u001b[0m\n\u001b[1;33m Please make sure that these operators are not in your model, when no input data is provided to the tool. \u001b[0m\n\u001b[1;33m [Suggestion]: Using --input_file command to specify perf input data, which can appoint valid input data.  \u001b[0m\n\nFrame count: 20,  Thread Average: 14.277649 ms,  thread max latency: 17.122000 ms,  thread min latency: 7.361000 ms,  FPS: 255.973785\n\nRunning condition:\n  Thread number is: 4\n  Frame count   is: 20\n  Program run time: 78.287000 ms\nPerf result:\n  Frame totally latency is: 285.552979 ms\n  Average    latency    is: 14.277649 ms\n  Frame      rate       is: 255.470257 FPS\nI0000 00:00:00.000000    69 vlog_is_on.cc:197] RAW: Set VLOG level for \"*\" to 3\nI0318 10:09:52.633414    69 function_util.cpp:323] get model handle success\nI0318 10:09:52.633491    69 function_util.cpp:656] get model input count success\nI0318 10:09:52.633570    69 function_util.cpp:687] prepare input tensor success!\nI0318 10:09:52.633590    69 function_util.cpp:697] get model output count success\n",
        "returncode": 0
      }
    ]
  }
]