Entorno de ejecución de NNAPI

El módulo del entorno de ejecución de NNAPI es una biblioteca compartida que se encuentra entre una app y los controladores de backend. La API de Neural Networks (NNAPI) de Android es una API de Android C diseñada para ejecutar operaciones con mucha carga de cálculo para el aprendizaje automático en dispositivos móviles y habilita operaciones de inferencia aceleradas por hardware en dispositivos Android. Este módulo se puede actualizar, lo que significa que puede recibir actualizaciones de funciones fuera del ciclo normal de lanzamientos de Android.

Entre los beneficios de modularizar el entorno de ejecución de NNAPI, se incluyen los siguientes:

  • Los usuarios finales obtienen una mayor coherencia y compatibilidad.

  • Los desarrolladores de plataformas pueden aplicar parches a errores en el entorno de ejecución de NNAPI, mejorar la interacción del entorno de ejecución de NNAPI con los controladores y, además, implementar funciones nuevas que mejoren las capacidades, la estabilidad, el rendimiento y el estado de la NNAPI.

  • Los desarrolladores de apps obtienen una mejor compatibilidad y rendimiento de las apps con los kernels de CPU actualizados.

Límite del módulo

En Android 12 y versiones posteriores, la revisión de HAL de NNAPI usa AIDL en lugar de HIDL.

En Android 11 y versiones anteriores, el límite del módulo del entorno de ejecución de NNAPI es platform/frameworks/ml/nn:libneuralnetworks.so.

Formato del módulo

El módulo del entorno de ejecución de NNAPI (com.android.neuralnetworks) está en formato APEX y está disponible para dispositivos que ejecutan Android 11 o versiones posteriores.

Dependencias de módulos

Este módulo de NNAPI Runtime depende de NNAPI HAL y AHardwareBuffer.

Prueba

Para verificar la funcionalidad del módulo de tiempo de ejecución de NNAPI, usa las pruebas del Conjunto de pruebas de compatibilidad (CTS) y del Conjunto de pruebas de proveedores (VTS) de Android.