인프로세스(in-process) Triton 서버 API
인프로세스(in-process) Triton 서버 API
Triton Inference Server는 C/C++·Java·Python 애플리케이션에 Triton을 직접 링크할 수 있도록 하위 호환되는 C API(와 이를 감싼 Python/Java 바인딩) 를 제공해요. 이 API를 'Triton 서버 API(Server API)' 라고 부르는데요, 간단히 'Server API'라고도 해요.
이 API는 Triton의 core 저장소에서 만든 Triton 공유 라이브러리(libtritonserver.so)에 구현되어 있어요. Triton Docker 이미지에서는 /opt/tritonserver/lib에서 이 공유 라이브러리를 찾을 수 있고요. Server API를 정의하고 문서화하는 헤더 파일은 tritonserver.h예요.
Java 인프로세스 API 바인딩도 이 tritonserver.h 위에 구현되어 있어서, Java 애플리케이션에서 Triton을 인프로세스로 써야 할 때 활용할 수 있어요.
출처: 공식문서
Triton의 모든 기능이 공유 라이브러리로 들어 있다
Triton 서버가 할 수 있는 기능은 전부 이 공유 라이브러리에 캡슐화되어 있고, Server API로 노출돼요. 실제로 tritonserver 실행 파일도 HTTP/REST·gRPC 엔드포인트를 구현할 때 이 Server API를 써서 Triton 코어 로직과 통신해요. 그 증거로 grpc_server.cc와 http_server.cc 소스에서 Server API를 사용하는 모습을 직접 확인할 수 있어요.
여러분도 자신의 애플리케이션에서 이 Server API를 그대로 사용할 수 있고, 간단한 예제는 simple.cc에서 볼 수 있어요.
더 알아보기 (Learn more)
- C API (인프로세스) — Server API의 구체적인 사용법
- Java 인프로세스 API 바인딩 — Java 애플리케이션에서 활용하기