¿Cuándo debo implementar la API de Dispatch?
Se necesita una API de LiteRT Dispatch cuando necesitas integrar un entorno de ejecución de acelerador de hardware específico en el framework de LiteRT. Funciona con el complemento de compilador para ejecutar los subgrafos compilados que emite el complemento de compilador.
La API de envío es un conjunto de funciones implementadas por el proveedor que LiteRT usará para administrar una sesión con el tiempo de ejecución de un acelerador. Estas funciones abarcan las sesiones del dispositivo, la ejecución de subgrafos y el movimiento de búferes entre el host y el dispositivo. Las implementaciones de la API de envío, junto con un complemento del compilador, permiten que LiteRT utilice por completo las capacidades de un acelerador para realizar inferencias eficientes.
En la página Complemento del compilador de LiteRT, encontrarás más detalles sobre "cuándo" implementar la API de envío (y el complemento del compilador).
¿Cómo funciona la API de Dispatch?
CompiledModel usa la API de Dispatch a través de NpuAccelerator. Internamente, esto crea un DispatchDelegate, y es este DispatchDelegate el que usa la API de Dispatch para activar la NPU integrada en el hardware en ejecución.
Tipos de datos de la API de Dispatch
En la API de Dispatch, se usan los siguientes tipos de datos para ejecutar un modelo en las NPU.
DispatchDeviceContextSe usa para administrar los búferes que usa la inferencia de la NPU.
DispatchInvocationContextEsta es la estructura de datos que se usa para ejecutar el modelo. Funciona asociando la memoria de entrada y salida real registrada en
DispatchDeviceContextcon elDispatchGraphgenerado.
APIs de envío
Para obtener la definición completa de la API de Dispatch, consulta el archivo vendors/c/litert_dispatch.h.