[UMA] Making sure I'm using UMA correctly

Hi, I’m following the UMA (Universal Modular Accelerator Interface) Vanilla Accelerator example for conv2d and trying to add similar support for Fully-Connected (Dense) layers. I created all the changes to support the Dense layers, everything compiles and runs fine, and even the unit test passes :slight_smile: I just wonder if I’m doing it the right way, because in order to support Dense, It had to change 5 files, and quite a lot of duplicated code with slightly changes… So before I go and add support for additional operators I would like to make sure this is the right approach to adding new ones.

I’ve created a TVM fork and pushed my change to a branch called “trying_uma”:

This branch has two commits:

  1. Simplified test file to check conv2d - based on the original example in UMA
  2. My changes to support Dense

Can someone take a look at my 2nd commit and let me know if I’m on the right track, or if the Dense support can be added in a simpler way?

Thanks, Koby