Skip to content

Importance of FPU

This study aims to reveal the importance of the Floating Point Unit (FPU) in TinyML applications.

We use FC and CNN models deployed on the NUCLEO-L4R5ZI board for our experiments.


Model Type:

Models

FC parameters and MACs FC parameters and MACs
FC parameters and MACs
CNN parameters and MACs CNN parameters and MACs
CNN parameters and MACs

Error

FC - NUCLEO-L4R5ZI FC - NUCLEO-L4R5ZI
FC - NUCLEO-L4R5ZI
CNN - NUCLEO-L4R5ZI CNN - NUCLEO-L4R5ZI
CNN - NUCLEO-L4R5ZI

Execution Time

FC - NUCLEO-L4R5ZI FC - NUCLEO-L4R5ZI
FC - NUCLEO-L4R5ZI
CNN - NUCLEO-L4R5ZI CNN - NUCLEO-L4R5ZI
CNN - NUCLEO-L4R5ZI

Flash Size

FC - NUCLEO-L4R5ZI FC - NUCLEO-L4R5ZI
FC - NUCLEO-L4R5ZI
CNN - NUCLEO-L4R5ZI CNN - NUCLEO-L4R5ZI
CNN - NUCLEO-L4R5ZI

RAM Usage

FC - NUCLEO-L4R5ZI FC - NUCLEO-L4R5ZI
FC - NUCLEO-L4R5ZI
CNN - NUCLEO-L4R5ZI CNN - NUCLEO-L4R5ZI
CNN - NUCLEO-L4R5ZI

Summary

The only effect of the FPU is on the execution time of the basic models which is very significant. Still, if using int8 only, utilizing the CMSIS-NN library can be even more beneficial and there is no need for the FPU.