google / CFU-Playground

Want a faster ML processor? Do it yourself! -- A framework for playing with custom opcodes to accelerate TensorFlow Lite for Microcontrollers (TFLM). . . . . . Online tutorial: https://google.github.io/CFU-Playground/ For reference docs, see the link below.
http://cfu-playground.rtfd.io/
Apache License 2.0
452 stars 116 forks source link

Need help with understanding software part of mnv2 example #788

Open lzmz08 opened 1 year ago

lzmz08 commented 1 year ago

I am a bit confused as to why are there so many different files in the integer ops directory. In the step by step guide only conv.h was copied and modified. It would be great if someone could explain it to me.

tcal-x commented 1 year ago

Hi @lzmz08 , in the step-by-step guide, only one kernel was accelerated, using just a single new custom instruction. So, the code for just one kernel needed modification.

With the MNV2 example, much more effort was invested, and the CFU was much more complicated. The discussion in https://arxiv.org/pdf/2201.01863.pdf in section III.A. might help a bit, although we did not have the space to go into much detail.