cancel
Showing results for 
Search instead for 
Did you mean: 

Performance Comparison: STEDGEAI vs. Plain C for Float Networks

mkothuri
Associate II

Here's a revised version of your query, with improved grammar and clarity:

---

I am trying to understand the performance expectations of STEDGEAI compared to plain C for float networks.

When I convert a network into an ONNX model, I notice that plain C takes fewer cycles than STEDGEAI:

- The cycles for Vanilla C are 159,852.
- The cycles for STEDGEAI are 234,814.

I have checked using CubeMX and CLI, but plain C still performs better. Can someone clarify the expected performance of STEDGEAI in this context?

Thank you.

1 REPLY 1
Julian E.
ST Employee

Hello @mkothuri ,

 

Can you clarify a little bit what you mean by plain/vanilla C? Is it your own implementation of some neural network code for microcontrollers?

 

ST Edge AI Core code may add overhead due to:

  • Generalized layers (e.g., more flexible but less optimized than a hand-tuned C implementation).
  • Extra safety checks or framework-related operations.
  • Memory management differences (heap vs. stack optimizations).

 

The goal of ST Edge AI Core is to convert any models (and layers) for any kinds of STM32. I don't have a lot of expertise in the choices that the team developing the ST Edge AI Core made, but I think that they had to make decisions that increased flexibility of the solution at the cost of its efficiency.

 

Does this answer your question?

Let me know if you need anything else.

 

Have a good day,

Julian


In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.