pulse.huny.dev

HunyDev
Benchmarking ONNX Runtime: A Practical Guide to Measuring Inference Performance

Benchmarking ONNX Runtime: A Practical Guide to Measuring Inference Performance

모델 추론 속도를 “도구 하나”로 깔끔히 재고, CPU EP vs OpenVINO EP 같은 실행 프로바이더(EP) 성능을 바로 비교하는 방법을 소개한다.

Hun Jang
Hun Jang Dec 2, 2025

ONNX Runtime 내장 벤치마크 도구 활용

모델 추론 속도를 “도구 하나”로 깔끔히 재고, CPU EP vs OpenVINO EP 같은 실행 프로바이더(EP) 성능을 바로 비교하는 방법을 소개한다.

onnxruntime_perf_test 한 줄 요약

ONNX Runtime가 제공하는 벤치마크 유틸리티로, 지정한 ONNX 모델에 대해 지연시간/처리량 등을 측정하고 EP를 스위치하여 결과를 비교할 수 있다. 설치 없이 빌드 산출물에 포함되며, 사용법은 -h로 확인한다. (ONNX Runtime)

왜 이걸 쓰나?

  • 별도 벤치마크 코드 없이 표준화된 측정 가능
  • EP 전환만으로 CPU, OpenVINO, TensorRT, DirectML 등 비교 가능 (e 플래그) (ONNX Runtime)
  • 프로파일 JSON을 뽑아 Chrome Tracing 등으로 병목을 분석 가능 (p profile.json) (ONNX Runtime)

최소 사용 예시

  • e: 실행 프로바이더 선택 (예: cpu, openvino, tensorrt, dml 등) (ONNX Runtime)
  • m: 테스트 모드 times(반복횟수) 또는 duration(지정 시간) 지원, 일부 배포에선 t(반복 횟수) 옵션을 함께 사용한다. (Texas Instruments Software Download)
  • p: 연산자별 지연시간이 담긴 프로파일 JSON 출력. (ONNX Runtime)

결과 읽기 & 비교 팁

  • result_*.txt에는 평균/중앙/최대 지연시간, QPS 등이 요약된다(빌드/배포에 따라 포맷 상이). 공식 문서는 perf_view 같은 요약 도구도 함께 언급한다. (ONNX Runtime)
  • EP 비교 시 같은 입력/스레드 수/반복수로 맞추고, OpenVINO는 모델/하드웨어에 따라 이득이 다를 수 있다(작은 워크로드엔 CPU EP가 빠른 사례도 있음). (Stack Overflow)

자주 쓰는 옵션 메모

  • 메모리 패턴/아레나 끄기: M, A (환경에 따라 영향 점검) (Gitee)
  • TensorRT 사용 예: onnxruntime_perf_test -e tensorrt ... (ONNX Runtime)

빠른 체크리스트

  1. 같은 모델/입력/배치/스레드로 CPU vs OpenVINO를 각각 측정
  1. m times -t N(혹은 m duration -t 초)로 런 길이 통일 (Texas Instruments Software Download)
  1. p로 프로파일 떨군 뒤 Chrome chrome://tracing으로 병목 확인 (IoT Robotics)

You might also like

BlogPro logo
Made with BlogPro