Can I deploy multiple VTAs and run those on single PYNQ board?

Hello, does VTA support multiple VTAs run on single board? If it does, do you have any tutorials or any instructions for doing it?

AFAIK, there is no existing design to enable multiple VTAs to run on a single PYNQ board. I don’t think PYNQ-Z1 have sufficient resource for utilizing two HLS based VTA design without modifying the design config file.

Let’s assume maybe two VTAs can be synthesized into a single PYNQ-Z1, you might need an extra arbiter to control the data flow in AXI buses. In addition, the compiler, runtime and driver also need to be modified to incorporate the two.

In addition, I recommend reading A Domain-Specific Architecture for Deep Neural Networks, and I agree with the authors. Here is a notable comment in the article:

  • Compared to CPUs and GPUs, the single-threaded TPU has none of the sophisticated microarchitectural features that consume transistors and energy to improve the average case, but not the 99th percentile case; that is, there are no caches, branch prediction, out-of-order execution, multiprocessing, speculative prefetching, address coalescing, multithreading, context switching, and so forth. Minimalism is a virtue of domain-specific processors.

Hope this helps.

Thank you soooooo much for your reply :slight_smile: Also, I will read your recommending article. Thanks for that too.