What is the difference between `NP_ACCELERATION_NNAPI` and `NP_ACCELERATION_NEURON` in TFLiteRunner?

What are the key differences between selecting NP_ACCELERATION_NNAPI and NP_ACCELERATION_NEURON acceleration modes when running TFLiteRunner with MediaTek Genio devices?
Are there implications for model compatibility, feature support, and available runtime options?

  • NP_ACCELERATION_NNAPI uses Google’s standard NNAPI delegate, aligning with Android’s default AI acceleration pipeline. It supports only officially recognized operators and does not handle MediaTek-specific custom ops (MTKEXT_OP).

  • NP_ACCELERATION_NEURON uses the MediaTek-specific Neuron delegate, which supports additional compiler options (e.g., specific optimization flags) and all MediaTek custom operators.

  • In practice, use NP_ACCELERATION_NEURON when targeting models or hardware-specific features unique to MediaTek’s NPUs, or when your TFLite model includes custom operators unsupported by NNAPI.

  • Model and operator compatibility varies—refer to official MediaTek documentation for support matrices and delegate selection guidelines.