I'm Pretty new to the TVM-Vta usage with the pynq board and my team's working on a project and we're using a pynq z2 board so if any one could help me start with vta because the tutorials on the tvm site are a bit off for me or i might be missing some knowledge so if someone can tell me what to study (Programming languages, references, concepts, etc...) would be very appreciated thanks in advance
Asked
Active
Viewed 333 times
1 Answers
0
The TVM codebase has examples which show how tvm code is mapped to vta hardware. You can start off by looking at tvm/vta/tutorials/ folder. The vta_get_started.py has a good example of how tvm code is mapped to vta hardware. The TVM codebase has Python API so it is good to know Python. Also the VTA hardware is coded in chisel so it is good to learn chisel if you want to make changes to the VTA hardware.

CV_Ruddha
- 406
- 2
- 13
-
First of all Thank you very much for responding and yes that's kind of what i'm asking about but i'm kinda lost i will look at the python api section in the VTA site + i will begin to learn python then if that's the main thing is there any other specific requirement (P.s: The project is just an acceleration for a neural network with yolo for object detection) – Ahmed Saady Feb 25 '20 at 23:11
-
Can you provide more details about your project? Acceleration for a neural network is too vague. TVM consumes ML framework graphs and optimizes them. You can use this optimization to target different hardwares.(VTA is one such example) – CV_Ruddha Feb 25 '20 at 23:28
-
so the project is split into 2 teams one for creating the neural network whilst the other works on conventional acceleration code that takes input from a live feed Ex:camera and process each frame to detect a certain object which the network is trained to recognise in this case a car so the acc. Team works on the convultion of the input frames with the filters+relu+etc... And we heard about the tvm-vta so i got the task to search about this topic as if it would be more optimised/productive so what should i do now.. and thanks again for your reply i really do appreciate this help – Ahmed Saady Feb 27 '20 at 03:11
-
So I guess telling you an overview of how things are working helps. So TVM framework basically consumes ML frameworks graphs and performs optimizations to it. The TVM converts the graph into an intermediate format called relay IR which then can be mapped to a Hardware of your choice. One such hardware is VTA. VTA has specialized hardware which can be used to perform acceleration. Also there are a lot of inbuilt optimization functions in relay IR which can be used to optimize your graph. Example is constant folding, common sub expr elimination etc. – CV_Ruddha Feb 27 '20 at 18:45