Ethos-U65 is a neural processing unit (NPU) designed to accelerate machine learning inference. This NPU is integrated with i.MX93 processor and works in concert with the Cortex-M core and on-chip SRAM of the SoC. Currently, it provides the following main features:

  • Runs at 1 GHz and provides 0.5 Tops computation power (256 MAC/cycle).

  • Targets quantized Convolutional Neural Networks (CNN) and supports 8 bit weights and 8/16 bit activations.

  • Supports TensorFlow Lite (TFLite) inference with fallback to Cortex-A.

  • Supports TensorFlow Lite Micro (TFLite-Micro) inference with fallback to Cortex-M.

  • Supports inference API to offload the entire model to TFLite-Micro and NPU on Cortex-M.

  • Supports TFLite API to offload the customized ethos-u operator to NPU on Cortex-M.

  • Provides Vela compiler to optimize the model performance and memory usage for the Ethos-U65 target.

For more details on this topic, check eIQ machine learning toolkit.

Kernel configuration

You can manage the i.MX93 Ethos-U65 driver support through the kernel configuration option Arm Ethos-U NPU driver (CONFIG_ETHOSU).

This option is enabled as built-in on the ConnectCore 93 Development Kit kernel configuration file.

Kernel driver

The Ethos-U65 driver for the i.MX93 is located at drivers/staging/ethosu/. The driver creates a node under /dev/ethosu0.

# ls -la /dev/ethosu0
crw-------    1 root     root      510,   0 Jun 20 15:48 /dev/ethosu0

Device tree bindings

There are no specific device tree bindings for the NPU.

Disable NPU

NPU is enabled by default via a device tree overlay on the ConnectCore 93 variants that support it. The Digi Embedded Yocto boot script automatically detects if the variant supports it and adds the NPU overlay to the U-Boot environment overlays variable.

To disable NPU, set the following environment variable in U-Boot:

=> setenv disable_npu 1
=> saveenv

This prevents the boot script from adding the NPU overlay, which results in the system disabling the NPU interface.

Sample application

See eIQ machine learning toolkit for information on how to use it.