실행 공급자 (Execution Providers)
실행 공급자 (Execution Providers)
ONNX Runtime는 하드웨어별 가속기를 **실행 공급자(Execution Provider, EP)**라는 단위로 붙여요. GPU에는 CUDA나 TensorRT, CPU에는 OpenVINO나 qnn 같은 공급자를 골라 쓸 수 있죠.
모델 그래프를 분석해서 각 연산을 어떤 공급자가 처리할지 배정하고, 그 공급자로 실행되는 서브그래프는 더 빠른 커널로 가속돼요.
공급자 선택 예시
import onnxruntime as ort
providers = ["CUDAExecutionProvider", "CPUExecutionProvider"]
sess = ort.InferenceSession("model.onnx", providers=providers)
print(sess.get_providers())
확인 포인트
- 공급자 목록은 우선순위 순서예요. 앞에 둔 공급자가 처리 못 하는 연산은 뒤 공급자로 내려가요.
get_providers()로 실제 활성화된 공급자들을 확인할 수 있어요.